Commit Graph

52 Commits

Author SHA1 Message Date
jbj 4afe94756b - make librpmio standalone.
CVS patchset: 3824
CVS date: 2000/06/09 21:24:37
2000-06-09 21:24:37 +00:00
jbj c38a7cdcfb Move low level support routines to librpmio.
CVS patchset: 3822
CVS date: 2000/06/09 18:57:23
2000-06-09 18:57:23 +00:00
jbj 7b1e9c5a02 Avoid segfault on malformed %{!?FOO:} expansion (#9581).
CVS patchset: 3571
CVS date: 2000/02/21 10:32:01
2000-02-21 10:32:01 +00:00
jbj 0d185e8fb5 fix: resurrect relative path's in fprint lookup queries.
CVS patchset: 3518
CVS date: 2000/01/12 21:48:58
2000-01-12 21:48:58 +00:00
jbj 8f481702d8 reload macros from cmd line when re-reading config files.
CVS patchset: 3479
CVS date: 1999/12/12 21:14:05
1999-12-12 21:14:05 +00:00
jbj 8289346751 Add underscore in front of (possibly) non-supported FDIO_t vectors.
Make buildFileList() part of rpmlib API as rpmBuildFileList().
lib/rpmdb.c: Compare fingerprints from different caches by value.

CVS patchset: 3448
CVS date: 1999/12/01 19:57:17
1999-12-01 19:57:17 +00:00
jbj c8406c80d2 lib/macro.c: Create rpmCleanPath().
build/misc.c: Delete cleanFileName().

CVS patchset: 3435
CVS date: 1999/11/26 16:19:30
1999-11-26 16:19:30 +00:00
jbj 4221ce1aa1 lib/macro.c: Canonicalize paths in rpmGetPath().
build.c: ditto.
build/build.c: ditto.
build/files.c: ditto.
build/parsePreamble.c: ditto.
build/parseSpec.c: ditto.
build/myftw.c: Use Opendir/Readdir/Closedir wrappers.
lib/cpio.c: Use Readlink/Stat/Lstat wrappers while building archive.
lib/rpmio.c: functional ftpLstat, ftpStat and ftpReadlink.

CVS patchset: 3432
CVS date: 1999/11/24 00:03:54
1999-11-24 00:03:54 +00:00
jbj c6d768583e macros.in: Add buildsubdir and scriptlet template macros.
build/build.c: Rewrite to use scriptlet templates.
build/files.c: Rename variables to prepare for (possibly) URL's in %files.
build/myftw.c: Use Lstat.
build/parsePreamble.c: Permit URL's in BuildRoot tag if not from spec file.
build/parseSpec.c: ditto
build/parsePrep.c: Add buildsubdir macro.
lib/macro.c: Add url2path (nickname u2p) and verbose macro primitives.
lib/url.c: urlPath returns "" if url is NULL (rpmGenPath memory corruption).

CVS patchset: 3430
CVS date: 1999/11/19 18:19:41
1999-11-19 18:19:41 +00:00
jbj 4e62a322a2 lib/rpmio.c: Implement per-fd layers as a stack, add fdPush/fdPop.
lib/rpmio.c: Add fd{Get,Set}{Io,Fp,Fdno} abstraction wrappers.
lib/rpmio.c: Start rationalizing debug output by using fdbg to display the
	fd layer stack.
rpm.c: Add --nolibio to disable libio if desired.
rpm2cpio.c: Use Fdopen(..., gzdio) and ufdCopy().
build/build.c: Use Fdopen(..., fpio) rather than fdio.
build/files.c: Use Fdopen(..., fpio) rather than ufdio.
build/parseSpec.c: ditto.
lib/macro.c: ditto.
lib/rpmrc.c: ditto
lib/macro.c: Use Fopen(..., ufdio) in isCompressed() rather that fdOpen().
lib/misc.c: ditto.
lib/misc.c: Avoid fstat by using Stat.
build/pack.c: Add persist fdLink() and use fdFree() in package{Sources,Binaries}
build/pack.c: Try to remove the fdDup before cpioBuildArchive() call.
build/pack.c: Use rpmGenPath with %{_builddir}.
build/parsePreamble.c: Use fdSize rather than Stat to get icon file size.
lib/rpmrc.c: ditto
lib/ftp.c: start capturing ufdio layer syserrno/errcookie.

CVS patchset: 3424
CVS date: 1999/11/14 19:15:18
1999-11-14 19:15:18 +00:00
jbj 8ce88756fd Use Fstrerror on ufdio throughut.
rpm.c: add --rmspec to usage output.
build/files.c: use ufdio to permit '%files -f <url>' (untested).
build/pack.c: use ufdio in readRPM(), writeRPM(), and addFileToTag().
build/parsePreamble.c: use ufdio in readIcon().
lib/ftp.c: httpOpen() now takes FD_t ctrl arg to uncouple from u->ctrl.
lib/install.c: usr rpmGenPath() to identify first found url in file path concat.
lib/install.c: permit url's in files[i].relativePath.
lib/macro.c: use ufdio, diddle macros for tmacro standalone build.
lib/macro.c: Create rpmGenPath().
lib/macro.c: diddle macro files path to permit url's.
lib/rpmchecksig.c: use Fopen on fdio.
lib/rpmio.c: replace copyData() with ufdCopy().
lib/rpmio.c: replace httpGetFile() with ufdGetFile().
lib/rpmio.c: add ufdWrite().
lib/rpmio.c: permit 2 simultaneous persistent malloc/open HTTP/1.1 connections.
lib/rpmio.c: Add Lstat(), Stat(), and Access().
lib/rpmio.c: assume paths in syscall stubs are loopback (WRONG).
lib/url.c: add urlPath().

CVS patchset: 3422
CVS date: 1999/11/12 17:20:49
1999-11-12 17:20:49 +00:00
jbj e0b1d0be36 Swap 2nd and 3rd arg to Fread/Fwrite to preserve read/write type return.
Use Fstrerror to retrieve fd->syserrno.
Make ftpFileDoneNeeded per-fd rather than per-url.
Make data fd unique rather than per-url.
Use appropriate protocol commands for ufdio writing.

CVS patchset: 3421
CVS date: 1999/11/10 22:09:49
1999-11-10 22:09:49 +00:00
jbj 7fc3a97733 Add ref/deref/new/fileno/open vectors to FDIO_t.
Hide fdOpen/ufdOpen, use {fdio,ufdio}->open throughout.
url.c: Create ref counted abstract urlinfo type with debugging.
url.c: Rename functions to urlNew/urlFree/urlFreeCache for consistency.
rpmio.c: Create ref counted abstract FD_t type with debugging.
rpmio.c: Create private struct _FD_s type.
cpio.c: Create fd[GS]etCpioPos to preserve FD_t abstraction.

CVS patchset: 3414
CVS date: 1999/11/02 14:33:14
1999-11-02 14:33:14 +00:00
jbj 3d087dcf52 Rename faFoo() routines, use FD_t I/O with fadio cookie throughout.
Try to be URL sensitive on filename arguments throughout.
falloc.c: Eliminate faFile, use FD_t.
falloc.c: preserve abstract FD_t by creating fadGet*()/fadSet*().
macro.c: rpmGetPath() expansions were clobbering URL's.
rpmio.c: create Fcntl(), Pread(), Pwrite() from previous faFoo().
rpmio.c: attempt per FD_t debugging.
rpm.c: permit --dbpath with --rebuild.

CVS patchset: 3408
CVS date: 1999/10/30 21:26:45
1999-10-30 21:26:45 +00:00
jbj 2b84d36c2e Make fdFileno() static, use Fileno()/Ferror() analogues throughout.
Make ufdClose() static, use Fclose() with ufdio cookie throughout.
rpm.c: Clean urlinfoCache and rpmBuildArgs leaks.
url.c: urlIsURL() should be here, not in rpmio.c.
url.c: Preserve FD_t abstraction by creating ufdGetUrlinfo().
url.c: Create freeUrlinfoCache().
rpmio.c: Create ufdio cookie.

CVS patchset: 3407
CVS date: 1999/10/30 16:43:29
1999-10-30 16:43:29 +00:00
jbj 7b4cf4bf19 fix: resurrect multiple target platform builds.
CVS patchset: 3404
CVS date: 1999/10/29 23:03:12
1999-10-29 23:03:12 +00:00
jbj 1e0138188b check for memory leaks (almost all leaks are plugged).
CVS patchset: 3403
CVS date: 1999/10/29 16:06:01
1999-10-29 16:06:01 +00:00
jbj 0d0b405c20 use compressed filenames on install side.
start unifying FD types, CFD_t now gone.

CVS patchset: 3402
CVS date: 1999/10/27 23:18:10
1999-10-27 23:18:10 +00:00
jbj 6defa683eb lclint annotations.
CVS patchset: 3387
CVS date: 1999/10/20 21:40:10
1999-10-20 21:40:10 +00:00
jbj 20d78e939a fix: command line install had header memory leak.
check for NULL on all memory allocations.
free rpmrc mallocs on exit.
permit run time leak detection.

CVS patchset: 3311
CVS date: 1999/09/21 03:22:53
1999-09-21 03:22:53 +00:00
jbj dde031db23 tmacro was broke.
CVS patchset: 3231
CVS date: 1999/08/16 20:14:34
1999-08-16 20:14:34 +00:00
jbj 06689265dd fix: last char in rpmrc w/o terminating newline lost (#4361).
prepare for handling \r in macro exapnsions.

CVS patchset: 3230
CVS date: 1999/08/16 18:57:37
1999-08-16 18:57:37 +00:00
jbj 96114b6bf2 fix: macro table cannot contain NULL pointers (#4263).
CVS patchset: 3229
CVS date: 1999/08/16 16:18:25
1999-08-16 16:18:25 +00:00
jbj f9ed8f7bdc macro fixes (Benedict Lofstedt, #4220):
expand %# just like %{#} (and with same value as shell analogues).
  macro defaults for *, 0, and # if no args specified.
  getopt on non-linux requires optind to be saved/restored.

CVS patchset: 3209
CVS date: 1999/07/29 12:36:03
1999-07-29 12:36:03 +00:00
jbj 587dab926c fix: getopt on non-linux requires optind to be saved/restored
rather than just set to 0 (Benedict Lofstedt, #4220).

CVS patchset: 3208
CVS date: 1999/07/29 11:20:20
1999-07-29 11:20:20 +00:00
jbj 8bd997f2e0 Perl bindings need
#include <foo.h>
not
	#include "foo.h"

CVS patchset: 3143
CVS date: 1999/07/13 21:37:57
1999-07-13 21:37:57 +00:00
jbj 25643f9764 Add includes for more robust standalone behavior.
CVS patchset: 3121
CVS date: 1999/07/02 21:15:25
1999-07-02 21:15:25 +00:00
jbj 56496ce088 Quick 'n dirty macro evaluation.
CVS patchset: 3120
CVS date: 1999/07/02 20:56:04
1999-07-02 20:56:04 +00:00
jbj 7f5a4a4aed fix: bsearch needs macro table sorted after undefine.
CVS patchset: 3109
CVS date: 1999/06/24 22:23:46
1999-06-24 22:23:46 +00:00
jbj a0d3acc8a3 Add -C dir and -M options to %GNUconfigure.
CVS patchset: 3024
CVS date: 1999/04/20 22:45:52
1999-04-20 22:45:52 +00:00
jbj 0cf9b0bdfe fix: % before non-alphabetic non-macro special now passed unscathed.
CVS patchset: 3023
CVS date: 1999/04/20 19:17:23
1999-04-20 19:17:23 +00:00
jbj 8dfb93f84f non-linux, non-gcc portability fixes (Tim Mooney).
CVS patchset: 2973
CVS date: 1999/04/08 20:53:45
1999-04-08 20:53:45 +00:00
jbj 90ac221132 Better diagnostic message for unparseable macro error.
CVS patchset: 2971
CVS date: 1999/04/08 19:24:56
1999-04-08 19:24:56 +00:00
jbj 6266b08a66 add per-target macrofiles to search path.
take globalMacroContext out of macro api.
fix: flush all macros between builds.

CVS patchset: 2936
CVS date: 1999/04/01 22:26:44
1999-04-01 22:26:44 +00:00
jbj f0a088596e expand twiddles in macrofiles list.
CVS patchset: 2931
CVS date: 1999/03/31 16:57:01
1999-03-31 16:57:01 +00:00
jbj 9b94f186e6 fix: avoid segfault using --prefix until ewt fixes.
add --define "%foo %bar" option.
dump macros to same fd as --showrc uses.
add %GNUconfigure for full-blown package regeneration.
fix: RPM_ARCH/RPM_OS had wrong values.
fix: create ppc directories correctly.

CVS patchset: 2922
CVS date: 1999/03/28 00:47:40
1999-03-28 00:47:40 +00:00
jbj 8af5b5af87 Expand path macros with rpmGetPath(path, ...).
CVS patchset: 2652
CVS date: 1999/01/05 23:13:56
1999-01-05 23:13:56 +00:00
jbj 9b362a451a Compile in default macro values sufficient to pass make check.
CVS patchset: 2575
CVS date: 1998/12/02 19:55:36
1998-12-02 19:55:36 +00:00
jbj b3179e6de3 Set max_macro_depth to 16 always.
CVS patchset: 2574
CVS date: 1998/12/02 18:09:41
1998-12-02 18:09:41 +00:00
jbj d13e728542 More build popts moved to build.c
Fix access of freed memory.

CVS patchset: 2571
CVS date: 1998/12/01 23:28:26
1998-12-01 23:28:26 +00:00
jbj 2578b7fc84 implement abstract fd type almost everywhere.
CVS patchset: 2542
CVS date: 1998/11/18 21:41:05
1998-11-18 21:41:05 +00:00
jbj 28c4ae83a3 LCLINT pass 0.
CVS patchset: 2540
CVS date: 1998/11/16 21:40:28
1998-11-16 21:40:28 +00:00
jbj 5fc8cb62a5 First attempt at "make check".
CVS patchset: 2465
CVS date: 1998/10/20 11:54:13
1998-10-20 11:54:13 +00:00
jbj 9f20ee028b augment --showrc with -v, only display set variables without -v.
add macrofiles variable, permit second entry to initMacros().

CVS patchset: 2463
CVS date: 1998/10/15 23:29:25
1998-10-15 23:29:25 +00:00
jbj 1607fbe7a3 Consolidate i18n baggage into AM_GNU_GETTEXT and system.h.
CVS patchset: 2425
CVS date: 1998/10/08 14:59:17
1998-10-08 14:59:17 +00:00
jbj d93b2ada11 egcs warning removal.
CVS patchset: 2422
CVS date: 1998/10/08 11:55:37
1998-10-08 11:55:37 +00:00
jbj fd068345e6 add Slovak translation (Stanislav Meduna <stano@trillian.eunet.sk>)
gettextify rpmMessage/rpmError/fprintf messages.

CVS patchset: 2368
CVS date: 1998/09/27 22:03:52
1998-09-27 22:03:52 +00:00
jbj dd573c5a8a diagnostic message if unreadable/short source or patch file.
CVS patchset: 2287
CVS date: 1998/09/10 16:25:15
1998-09-10 16:25:15 +00:00
jbj 0a4e182e40 Integrate shell and macro enviroments for scripts.
CVS patchset: 2282
CVS date: 1998/09/05 23:13:35
1998-09-05 23:13:35 +00:00
jbj 145d77b79d initMacros must be called someplace to enable full reursion.
Suggestions for further arch/os decimation.

CVS patchset: 2238
CVS date: 1998/08/07 18:35:05
1998-08-07 18:35:05 +00:00