2 - fail if sources are not regular files
3 - wasn't catching readLine() errors
4 - fixed (hopefully) temp file creation problems
5 - make %doc obey --test
8 - fixed return code bug in build code
9 - do macro expansion before %if processing
10 - dep ordering returns w/ an error as soon as a prereq loop is found
11 - autoreqprov flag was being ignored during builds
12 - add autoreq: and autoprov:
13 - missed a few unlink() when scripts failed
14 - freePrefixes wasn't initialized in runScript()
15 - fix typo in %triggerpostun generation
16 - include icons in source packages
17 - headerGetEntry() should return count of 1 when returning
18 strings plucked from i18n strings
19 - do not remove comments in scripts
20 - save/restore existing arch when done with buildarch
21 - copy the I18N table to the source header so i18n stuff works
22 - fixed multiple memory leaks in install code
23 - fixed bug in part recognition
24 - shared files weren't being handled properly in net shared paths
27 - remove icons with --rmsource
28 - do dependecy generation on -bl
29 - check files on all packages on -bl
30 - integrate Jeff Johnson's memleak patches
31 - added OSF1 autodep scripts
34 - make --clean work with no %setup
35 - fixed FSSIZES problem introduced in 2.4.107
36 - fixed search for find-requires.sh
37 - improved solaris autodeps scripts
38 - automated (somewhat) the -static flag
41 - --nomd5 wasn't handled properly
42 - updated configure.in find-req and find-prov checks (Tim Mooney)
43 - make --rmsource actually work
47 - build: only check for non-printables in first 128 chars
48 - added %triggerpostun
49 - linux.req generates deps for shared libs
50 - added a CC=@CC@ to popt/Makefile.in
51 - handle signed return types from poptGetNextOpt() properly
54 - added langpatt: to rpmrc, and mark files with matches
55 - added some C++ cruft to rpmlib.h
56 - added find-requires and find-provides for hpux (Tim Mooney)
57 - respect LINGUAS when install package files
58 - added trigger support to build code
59 - got rid of annoying mwftw() type warning
60 - fixed many command line options which got broke by changes
62 - added trigger support in install code
64 - strntoul() in lib/cpio.c was returning a pointer to freed
66 - headerAppend() was doing a bad memcpy()
69 - fixed popt/Makefile.in to use CPP from configure
70 - use tmppath from rpmrc to for ftp'd files (rather then /var/tmp)
71 - autoconf files and .depend files weren't created properly during
75 - need to create popt/configure during make archive
76 - added comments about modifictation to base popt and rpmrc files
77 - allow spaces in group names
78 - fix bug in memory allocation of special doc stuff
79 - Jeff Johnson's mode/dev fixes
81 - be more paranoid about making temp files
82 - added patches from Tim Mooney which let RPM build with non-gcc
83 compilers and non-GNU versions of make
86 - fixed spelling of "instchangelog" in lib-rpmrc.in
87 - fixed memory leak in headerSprintf() extension cache
88 - fixed memory allocation for header formatting extension cache
89 - added support for INSTPREFIX virtual tag for backwards compatibility
90 - cpio error codes were poorly defined, causing bad error messages
91 - generates INSTPREFIXES tag properly, and sets RPM_INSTALL_PREFIX
92 and RPM_INSTALL_PREFIXn environment variables
93 - fixed memory leak in install code which occured when net shared paths
95 - don't pass net shared path to rpmInstallPackage() -- it looks
96 directly in the rpmrc entries
97 - don't remove files in netsharedpath, even for files whose states
99 - changed --setugids to use separate chown and chgrp programs, for
101 - popt moved to autoconf
102 - Makefiles changed to allow building in a different directory then
103 the source code resides in
104 - finally fixed the Build Host spacing in rpmpopt
107 - handle files with spaces (put double quotes around them)
108 - new rpmrc setting, buildshell, can be used to set shell
109 used for build scripts (default is /bin/sh)
110 - fix bug where macros were being improperly set for
111 Patch: and Source: lines
112 - may use "instchangelog" in rpmrc to limit the maxmium number of
113 changelog entries that are stored in the database for each package
114 (-1 means store all of them)
115 - default instchangelog is set to 5
116 - headerRemoveEntry() didn't free the item's data -- this led to
117 a slight memory leak when installing packages
118 - implemented generic file relocations at install time
119 (use --relocate <oldpath>=<newpath>, i.e. --relocate /usr=/foo)
120 - added --badreloc flag to force RPM to relocate files which packages
121 haven't advertised as relocateable
122 - fix return code on failed uncompresses in %prep
123 - preliminary handling of bzip2 compressed files
124 - differentiates between big and little endian mips
125 - added support for "prefixes:" tag
128 - fixed handling of --rebuild and --recompile
129 - fixed rpmlibbuild.a typo in Makefile
130 - fixed handling of '\' in spec files (a specific case of a more
132 - change use of "export" to work with non-bash shells
133 - compress the archives. oops.
134 - fixed bug when there is no %setup
135 - added -L$(topdir)/popt to Makefile.inc
138 - added many more i18n strings
139 - merged in large rewrite of build code, which includes the following
141 - new option --rmsource
142 - all scripts can now take -p <prog>
143 - more strict about %package placement and use of main package
145 - %attr(mode, user, group [, dirmode])
148 - Root: is depricated. Use BuildRoot: instead
149 - "nosrc" sources arn't deleted when sources are removed
150 - New tag DocDir: <dir> to set alternate doc dir (default is
152 - %doc should work as expected with buildroot, prefix, DocDir:
153 - all file processing is done before any packaging
154 - should work with modern patch programs (later than 2.1)
155 - %patch -z <arg> same as %patch -b <arg>
156 - %define only defines a macro if it starts a line
157 - script prog entries are now arrays (ie with arguments)
158 - standard macros: tag names, buildarch, buildos, buildarch_lc,
159 buildos_lc, PATCHn, SOURCEn, PATCHURLn, SOURCEURLn, sourcedir,
161 - deprecate require_distribution, require_icon, require_vendor
162 - add RPMTAG_FILEDEVICES and RPMTAG_FILEINODES to header
163 - export variables in scripts
164 - fixed tag:field bug
166 - %description -l <lang>
168 - fixed read_line() termination usage
169 - Makefile changes to shorten compiler lines
172 - intialize reserved portion of lead when writing packages
173 - fixed error messages displayed when opening the database
174 fails during package installation and removal
175 - query format of the form '[A%{}]' would drop the static string
176 - fixed fix in 2.4.9 for empty packages which broke -qip on ftp URL's
177 - fixed arch/os numbers in lead
178 - added Turkish message catalog
179 - -e was running scripts even w/ --test was specified
182 - HAVE_SYS_SOCKET_H was mistakingly MACHINE_SYS_SOCKET_H in
184 - \%description was trying to do %d expansion in query formats
185 - made %% work in query formats
186 - fixed bug in handling characters before array
187 - let mips build noarch packages
188 - --setperms would set wrong permissions in some cases (it was
192 - obsolete entries could cause segv's during upgrades
193 - sources now installed with uid/gid of process rather then
194 the ids used when the src rpm was created
195 - don't give an error if missingok files don't exist during remove
196 - touched ftp code to make it coexist w/ Red Hat install better
197 - use rand/srand rather then random/srandom
198 - don't build misc directory unless it's necessary
199 - empty package files should be treated the same as files
200 with bad magic, not as read errors
201 - fix bug where Prefix directory is included in file list
202 - sinix readdir() work-around
205 - fix for verification on systems where a single group id
206 maps to mulitiple group names (Benedict Lofstedt)
207 - added 'make tar' rule for building a distribution tarball
208 (Horacio Rodriguez Montero)
209 - fixed serial number handling in dependencies and install
211 - make mips compatible with noarch
212 - fixed bug w/ printing string arrays in conditionals
213 - handle modern patch programs (> 2.1)
214 - handle packages w/ duplicate dependency names
215 - --noscripts didn't get handled properly for removed packages
216 - fixed handling of packages where %prereq creates users/groups
219 - added noarch build compatibilities for ppc, m68k
220 - fixed some minor typos (Florian La Roche)
221 - added Obsoletes: tag, an upgrade removes packages which
223 - updated rpmdepUpgradePackage() to deal with obsoletes tag
224 - convertdb needed to read rpmrc
225 - fixed ugly bug in package ordering
226 - archivesize tag was incorrect for packages with hard links
227 - moved popt into a separate library
228 - directory created with %doc is now name-version (dropped
230 - added buildarch/buildos macros
231 - added %ghost file option
232 - updated linux.req to only find requirements for exectuable files
235 - had some wrong month lengths in changelog date parsing
236 - updated fine-requires (Linux version) to add lines for shell
237 scripts (Donnie Barnes)
238 - didn't package / properly
239 - pre/post script processing had some erroneous free() calls
240 - fixed typos for HP archs in lib/rpmrc.c
241 - uname() results should go through *_canon tables before anything
243 - set -x in debug shells, not -xs
246 - added os_canon entries for BSD/OS and NextStep
247 - replaced include of <malloc.h> with includes of <stdlib.h>
248 - fixed md5sum of source packages w/ a buildroot is used
249 - fixed bugs installing version 1 packages
250 - remove hyphens from uname() result (specifically for HP-UX)
251 - hacks to recognize architecture under parisc
252 - RPM_INSTALL_PREFIX wasn't being set properly (this should be
254 - replaced temporary file creation to be race-condition safe
255 - prerequisites may not specify versions
258 - call getpwnam()/endpwent() once before a chroot(), forcing name
259 service shared libs to be loaded from outside of the root path
260 - added vesrion stamp to lib/misc.o (and librpm.a by extension)
261 - fixed config.sub, config.guess to recognize i686
262 - ARCHIVESIZE tag didn't get filled in properly, breaking progress
266 - restore working directory after installing a package w/ a chroot
267 - dump the package stack when a dependency loop is encountered
268 - when a user/group lookup fails, end*ent() and retry
269 - fixed broken --scripts argument (it was --s2)
270 - only display the packager and url in -qi output if they have defined
272 - print "(not installed)" as the install time for -p queries rather
274 - almost completely rewrote rcfile parsing; I'm sure this will
275 break things eventually but it's much more flexible now
276 - added buildarch/buildos compatibility tables, listed values
278 - added cpio archive building code; GNU cpio is no longer used!
279 packages created w/ rpm 2.4.4 and later cannot be installed with
280 rpm 2.4 - rpm 2.4.3 however (version of RPM before 2.4 will
281 work fine, however). An "error -2 reading header" happens when
283 - removed cpiobin from rpmrc
284 - added rpmrc "provides" tag to allow easy fulfillment of
285 automatically generated dependencies
286 - look for random() in libm if it can't be found be default
287 - fixed problems in Solaris's autodeps stuff (Eric Mumpower)
288 - --setperms should work properly on directories now
289 - --justdb on install, upgrade, and erasure causes a database
290 update w/o the filesystem being touched
291 - fixed version comparison of a package w/ a serial tag against
293 - added BuildArchitectures: tag to spec file to enable builds
294 for alternate/multiple architectures
295 - look for random() in -lucb
296 - changed the licensing terms for librpm to allow redistribution
298 - applied man page changes from Alex deVries
299 - configure.in builds up LIBS by appending (Benedict Lofstedt)
300 - rpm2cpio reported wrong zlib error string
301 - removed \n from (none) generated by query format code
302 - queries of fssizes w/o fsnames didn't work (Till Bubeck)
303 - added --noorder option to skip package reordering (Elliot Lee)
306 - implemented install time prerequisites
307 - repaired %{#TAG} query format
308 - implemented ternary operator as query expression
309 - fixed --scripts to only print information on scripts which
311 - check symlink() return for < 0, not != 0 (Bob Tanner)
312 - uses chroot() for installs --root option
313 - archive expansion doesn't create new devices or symlinks when
314 the proper files already exist
315 - added -p to %post (etc) to specify the program which a script
317 - if -p is used w/ an empty script, the specified program is
319 - the -p argument (or /bin/sh) is automaticall added as a prereq
322 - completely rewrote queryformat code
323 - added fsnames, fssizes virtual query tags
324 - added rpmdbFindByHeader() and rpmdbFindByTag() public functions
325 - added rpmfilename tag to rpmrc to define the filename format to
326 use for binary packages (note the rpmdir is prepended to it)
327 - used pclose() instead of fclose() in -t code
329 - changed "struct rpmdb" to "struct rpmdb_s" for C++
330 - netsharedpath entries shouldn't match partial directory names
331 anymore (a nersharedpath of /usr/lib shouldn't affect /usr/libexec)
332 - don't backup config files on netsharedpaths (take 2)
333 - added "day" query format which is like date, but doesn't print
335 - added --changelog alias to query a packages changelog entry
336 - added mntctl() support for AIX (I think, I can't test this)
337 - fflags query type displays 's' for specfiles, 'm' for missingok
338 files, and 'n' for noreplace files
339 - implemented %config(missingok) flag in install
340 - added --allfiles flag for -i and -U, which forces all files (even
341 missingok files) to be installed
342 - implemented %config(noreplace) for the install, but it hasn't
343 been tested in any way
344 - added i18n support to headers
345 - added ppc/rs6000 differntiation for AIX
346 - all IP* from uname() is changed to just IP
347 - IP is considered the same as mips (not sgi)
348 - added IRIX64 OS, it's compatible w/ IRIX
351 - take advantage of lchown() if it's available
352 - fixed configure script to assume chown() doesn't follow symlinks
353 if lchown() isn't available and configure is not being run as root
354 - more header file changes for AIX
355 - added :shescape query format type for strings, which prints strings
356 which will survive a single level of shell expansion
357 - fixed --setperms and --setugids to handle empty packages and
358 packages with odd filenames
359 - include <sys/time.h> before <sys/resource.h>
360 - include "miscfn.h" first in every file which needs it
361 - created noarch architecture which everything is compatible with
362 - fixed group verification (Benedict Lofstedt)
363 - don't backup config files on netsharedpaths
364 - added info on --build{arch|os} to --help and usage messages
367 - changed RPMNLSDIR directories to and @datadir@ to better
368 conform with autoconf
369 - set RPM_INSTALL_PREFIX environment variable when running
371 - beginnings of SCO support (though I suspect it will take one
372 or two more iterations to get it right)
373 - switched to CVS and updated some Makefile rules
374 - look for gethostbyname() instead of gethostname() in -nsl
375 (this could break some things)
376 - added check for strcasecmp() in -lucb on systems which don't
377 have strcasecmp() in libc
378 - don't build -static on hpux10
379 - don't try and NLS empty strings
380 - changed index() call to strchr() in macro code
381 - include <time.h> in build/spec.c for various platforms
382 - added update-po rule to po/Makefile.in
383 - updated de.po (thanks to Karl Eichwalder)
384 - rpmFindByFile() removes trailing and duplicate /'s
385 - made many string in rpm program (though not yet in the various
386 libraries) translatable
387 - eight character user names could break -qlv
388 - requirements which begin with a leading / require files (in
389 the database!) instead of packages
390 - clean up conflictsindex during --rebuilddb
391 - get path to gzip from /usr/lib/rpmrc rather then just hoping it's
393 - use dbpath for error messages with include database path in
395 - don't set owner/group if binaries installed by "make install"
396 - include <strings.h> on SCO
397 - don't use cpio when installing packages <gulp>
398 - fixed bug which affected dependencies on the Alpha
399 - made '=' work for long arguments (the switch to popt broke this)
400 - handle solaris systems better
401 - complain if critical rpmrc variables (cpiobin, gzipbin, etc) aren't
403 - allow --dbpath for --rebuilddb
404 - added check for systems whose chown() follows symlinks. If configure
405 is run as root, this should get it right, otherwise it assumes
406 chown() does not follow symlinks. You can use --enable-broken-chown
407 to force configure to think chown does indeed follow symlinks.
408 - if chown() follows symlinks, we don't chown() symlinks during cpio
409 unpacking and we don't verify the owner or group of symlinks
410 - added packager and url to default -qi output
411 - look for <sys/select.h> and use it if it's there (for AIX)
414 - fixed newlines in --scripts output
415 - fix handling of source files with bad owners/groups
418 - --allmatches handling in -e broke some cases
419 - new predefined macros: %SOURCEn %PATCHn %SOURCEURLn %PATCHURLn
420 - fix anomoly with %files -f <file> and %doc
421 - ignore config bit when it's set on directories (which allows
422 users to replace directories with symlinks)
423 - don't set config bit on directories
424 - strip trailing slashes from files (during build)
425 - %tags are now case sensitive (macros too)
428 - reworked %setup to allow multiple -a and -b options, which
429 should noticeably ease the task of unapcking multiple tar files
430 - md5 sum's were calculated incorrectly on big endian machines
431 from 2.3.2 through 2.3.8 -- this was fixed and some hacks were
432 done to keep verification working
434 - added --allmatches to allow erasing multiple versions/releases
436 - changed ftp URL's to use \r\n, not just \n (this should let RPM
437 work w/ some picky (but rfc compliant) ftp servers
438 - fix problem where parts at end of spec file were dropped
439 - added %config(noreplace missingok) (build-side)
440 - simple spec file macros
441 - should now process entire file list before failing
444 - added -t? options to build packages from tarballs which contain
445 .spec files instead of from the .spec files directly
446 - fixed error in man page where ftp URLs are discussed
447 - don't strlen(NULL) in headerAddEntry()
448 - minor portability changes
449 - stopped building oldrpmdb.c as part of rpmlib
450 - added Makefile rule for building rpmconvert (which is almost
451 never needed) -- this isolated gdbm dependence to this target
452 - fixed checking of popt stack overflow
453 - --requires shouldn't imply -q
454 - fixed error message issued when a groupname does not exist
455 - fixed but in changelog processing which made it hang on '*' in a
457 - generate S_ISSOCK and S_ISLNK macros on systems w/o them
458 - "rpm --erase" wasn't returning proper error codes w/ package
462 - fixed nasty memory link in -Va
463 - configure checks for -lnsl explicitly rather then linking it
464 to -lsocket (for NCR SysVR4)
465 - configure checks for dirent.h
466 - modified glob.c to include config.h and use HAVE_DIRENT_H
467 - cleanup of LIBS/LIBPATH mess a bit more
470 - -Vf uses realpath() now
471 - -Vp lets you use --ftpproxy, --ftpport
472 - changed popt format, breaking all popt alises :-(
473 - added ability to alias character arguments to popt
474 - moved --requires, --info to /usr/lib/rpmpopt
475 - RPM is more forgiving of blank user names (dumb)
476 - popt searches for aliases in the correct order now
477 - cleanup query code to handle missing uid lists better
478 - cleanup up configure.in a tad
481 - %{#TAG} in query format prints the array length
482 - cleanup up protoypes in rpmlib.h
483 - let -Vp work on URLs
484 - don't set umask(0) anymore -- that confused programs which
485 link against rpmlib quite badly
486 - moved print out in "rpm -v -i" to occur after any warnings
487 to pretty up the output a bit
488 - added default optflags for powerpc
489 - run shell for post/pre scripts in debug mode with -sx for
491 - installing source packages with --root checked for the
492 sources/specs directory to exist outside of the root -- fixed
493 - modified toplevel Makefile to run dependency generation only
494 against referenced sources
495 - array size mismatches in --qf should send error to stderr
496 - tried to make the locale stuff a bit more portable (again)
497 - reworked the owner/group setting on installs to be more generic
498 (in preperation for getting rid of cpio)
499 - made verify verify owner and groups by name rather then by id -- if
500 the symbolic names aren't available use the uids
501 - cleaned up relocateFilelist() and related code thanks to
502 new header introduced in 2.3.3 -- this could break relocateable
503 packages but they seem okay
504 - fixed a bug which could cause relocateable packages to not get
505 relocated -- I think this bit some people during hard drive
506 installs of all things (Jason Salopek pestered me consistently
507 enough to keep this on the front burner for me)
508 - removed FILEUIDS and FILEGIDS from the header in the database --
509 we never used it and it jsut wasted room
510 - convert uid/gid lists in v1 headers to symbolic names
513 - %changelog processing
514 - fixed broken requires/conflicts parsing for spec file
515 - vastly improved --rebuilddb's robustness
516 - fixed misplaced free() (only affected inconsistent databases)
517 - added conflicts documentation to docs/dependencies
518 - using multiple query formats has them all concatenated
519 - removed stdin based query and verify selectors
520 - installs rpmpopt in libdir
521 - moved --provides and --scripts to rpmpopt
522 - added --setperms, --setugids
523 - incorporated newer de.po from Karsten Weiss
524 - --resign/--addsign was broken in 2.3.3 from popt conversion
527 - Ripped out header internals and redid them. Any compatibility
528 problems this causes are *bugs* as it should be completley
529 transparent. If this works the devil better buy some Prestone (TM).
530 - Use "cp -pr" instead of "cp -ar" for %doc expansion
531 - use <string.h> instead of (non standard) <strings.h> in some places
532 - look for non-POSIX (broken) chmod
533 - include local copies of glob/fnmatch
534 - removed getopt() check from configure.in
535 - fixed bug in ftp code which prevented proper logins to some sites
536 - switched to popt from getopt, which allows command line aliasing
537 - read initial aliases from /usr/lib/rpmpopt then /etc/popt and
539 - cleanup up rdev verification (only verifies device files, checks
540 device related mode bits as well)
541 - fixed allocation of temporary paths (Eugene Kanter noticed this)
542 - made tools/dumpdb read the rpmrc so it can find the database
543 - added --nomd5 for -V and -K
544 - don't assume mkdir -p will succeed if the dir exists
545 - use RPMNLS* defines to avoid header file conflicts
546 - bunch of minor cleanups to avoid warnings on other OS's
549 - fixed bug in new rpmVersionCompare() which made it worse then
550 useless (thanks to Norbert Kiesel)
551 - fixed silly message
554 - changed --help routing to have intelligent line wrapping
555 to make i18n efforts easier
556 - NLSDIR should be used for nls catalogs, not a hardcoded path
557 - NLSDIR should be in share, not lib
558 - renamed sweedish catalog from se to sv
559 - added german catalog
560 - treat RPM_CHAR_TYPE as RPM_INT8_TYPE for queries
561 - made rpmEnsureOlder() internal to lib/install.c
562 - added rpmVersionCompare() to compare version/release/serial numbers
563 for packages -- returns like strcmp()
564 - stdout/stderr were getting closed after running a verify script
565 - relocting packages didn't work w/ the packages contained the
566 directory which was it's prefix
569 - replaced putenv/setenv which calls which malloc() buffer -- these
570 are memory leaks, but the functions are only used between a fork()
571 and exec() so it doesn't matter
572 - created directroies are stamped with mtime from the file list
575 - fixed some include file problems for FreeBSD
576 - fixed find-provides script for Linux (silly typo)
577 - -qvl didn't print out sticky bit
578 - linux.prov won't print provides info for symlinks which point
579 to libraries w/ proper sonames
582 - changed how installArchive() handles running out of gzread()
583 bytes while the child is still alive
584 - changed tag for Alpha's to "alpha" from "axp" <gulp>
585 - made ./configure look for --quiet support in cpio
586 - netsharedPath's were having mkdir()'s done on them and had
587 bad interactions with rooted directories
588 - made -qp accept '-' to query the package on stdin
589 - dependency checking was broken when no database was being used
590 - don't *ever* let cpio make directories -- we do a better job
591 (esp because we don't kill symlinks!)
592 - plugged memory leaks in upgrade (again thanks to mpr) -- install,
593 erase, upgrade, query, and verify all seem to be leakproof
594 - use select() rather than busy waiting in cpio_gzip()
595 - use half as much temp space during package assembly
596 - fail if spec file check fails
597 - changed canonical name for 68k to m68k (sorry)
598 - integrated FreeBSD changes from Jared Mauch
599 - integrated Irix changes from Hermann Lauer
600 - i18n support can be disabled w/ configure by --disable-nls
601 (thanks to Remy Card)
602 - integrated more AmigaOS patches, played with configure some
603 more to allow cross compiling (Kristof Depraetere)
604 - cleanups to rpm2cpio (closing the gz stream) (Elliot Lee)
605 - made find-provides return filename for libs w/ no soname
608 - fixed typo in default rpmrc
609 - made getBooleanVar() a bit better
610 - added triggers to package builds
611 - tagged spec file in source package file list
612 - added %verifyscript (controlled by --noscript, -v flags)
613 - changed pkgReadHeader() mechanism to be more generic
614 - added find-provides for Solaris, made find-provides setup
615 more generic (w/ configure.in picking the right one)
618 - use external OS specific script to generate requires lines
619 (should work with ld.so 1.8.x) (find-requries)
622 - added --ftpproxy, --ftpport (and wrote about them in rpm.8)
623 - added --nodeps to man page
624 - added --showrc to man page
625 - added conflict checking (use conflicts tag, which looks
626 just like the requires tag)
627 - fixed RPM's return code when package removal fails
628 - cleaned up lib/install.c a bit for readability
629 - plugged a bunch of memory leaks thanks to mpr -- install,
630 uninstall, verify, and query all seem clean now
631 - added support for trees shared over a network via netsharedpath
633 - don't exit when there is an unknown option in an rpmrc, just
634 give an error and continue
635 - tried once again to get things working properly with 2.1's
637 - added -E option for %patch
638 - added UltraSPARC support to lib-rpmrc
639 - moved default topdir and optflags settings to lib-rpmrc from
641 - removed /etc/rpmrc from standard distribution
642 - use separate chgrp/chown commands in %setup macro
643 - kill(2) arguments were backwards in lib/install.c
644 - fileFile logging needed stdio to handle NULL args to %s
645 - default docdir (for %doc macro) set in lib-rpmrc rather then
647 - removed some of the \n from args to error() [though many are
649 - uninstall should fail if the preuninstall script fails
650 - --root works with --initdb now
653 - applied lots of portability patches
654 - builds on Solaris machines now!
655 - will build w/o i18n support if GNU gettext isn't installed
656 - added inet_aton, setenv functions for libmisc
657 - added Sun4c, Sun4m architectures
658 - use vfork() if fork() doesn't exist (for AmigaOS)
659 - look for GNU cpio, complain if it doesn't exist at build time
660 - put path for GNU cpio in /usr/lib/librpmrc
661 - install rpm.shared if rpm wasn't built (for Solaris)
662 - readHeader() in librpm.a should work on sockets (which may
663 return partial reads)
664 - package file query (-q -p) accepts ftp:// style URL's
665 - if gzread returns 0 bytes (at EOF), don't call write w/ 0 byte
666 argument as it's behviour isn't portable
667 - fixed -Vp behavior (doesn't seg fault w/ packages have dependencies)
670 - added --rebuilddb to rebuild database, updated man page
671 - fix fd leak in md5sum
672 - fixed group cache bug
675 - if rename() for moving .spec file from SOURCES to SPECS fails,
676 try copying it instead
677 - -h and -v work for source package >= V2
678 - -h output is much smoother now
679 - new AutoReqProv: tag in spec file can disable automatic
680 require/provide generation
681 - fixed md5sum problem on big endian machines in a way that's
682 mostly backwards compatible; this hack will be removed someday
684 - fixed a couple of minor memory leaks in lib/install.c
685 - --test for building
688 - only remove docdir if %doc occurs
690 - moved to use GNU autoconf, though it probably isn't perfect yet
691 (thanks Kristof Depraetere)
692 - spec file sanity: no - chars in version or release,
693 must be a regular file :-)
694 - version specifications for requirements can use "-<release number>"
695 - default lib path, tmp path, topdir, and /usr/lib/rpmrc get set
696 by configure script relative to --prefix
699 - fixed script file md5 checking when files are in a root
700 - implemented proper strdup/free logic for dependency conflict
702 - strip leading directories from ldd output
703 - fix non-null-terminated readlink() result
704 - fixed sscanf() in ftp code to use proper types
707 - added functionality to rpmlib to suggest resolutions for
709 - fix stupid allocation problem in exclude/exclusive stuff
710 - fix nasty bug where pointers in to the header were getting
711 stale after some realloc()s in addEntry()
712 - ignore OS tag for v2 packages -- it was wrong anyway
713 - match shared libs on ".so" rather than ".so."
714 - skip blanks from objdump for auto-provide
715 - if objdump gets us _end, provide the file name
716 - do not ldd non-regular files
717 - do not pass leading "/" to ldd
718 - fix ExcludeOs: and ExclusiveOs:
719 - -V verifies dependencies, can be controlled with --nodeps
721 - added information on --nodeps to usage messages
722 - implement --timecheck and rpmrc timecheck:
724 - catch duplicate files in file lists
725 - some random sanity checking on the file list
728 - made rpmRemovePackage() print message in verbose mode
729 - added support for ftp://user:pass@machine.org/ URL's
730 during installation - the password will be prompted for
731 if only the user is given, and anonymous ftp will be used
732 it both user and password are omitted (as before)
733 - Remove Exclusive: Exclude:
734 Replace with: ExclusiveArch: ExclusiveOs:
735 ExcludeArch: ExcludeOs:
736 - fixed dependency cheking for packages that are installed
738 - fixed version number dependency checking
739 - fixed problem installing v1 source packages (thanks to
741 - fixed minor spelling/spacing problems (Nikita Borisov)
742 - assume all v1 packages were made for Linux so OS check works
743 - began to implement proxyftp, though it doesn't work yet
744 - fixed spacing when reporting dependency conflicts
745 - fixed bug where a long name (uname()) was mapping to itself
748 - don't fail, and do report, if -K can't find a PGP key
749 - handle file names with quotes and spaces when passed to ldd
750 (still can't have spaces in %files)
751 - do not allow Buildprefix: in sub packages
752 - removed require_group from rpmrc -- groups are always required
753 - removed arch_sensitive from rpmrc -- always on
754 - removed docdir from rpmrc -- always /usr/doc
755 - fixed nasty bug in installing packages with large filelists
757 - --provides and --requries don't print anything if no information
758 is present (rather then (none) )
759 - -qi prints Summary now
760 - changed Buildprefix: -> Buildroot: (spec file, rpmrc)
761 --buildprefix -> --buildroot (command line)
762 RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
763 (%prep, %build, %install, %clean)
765 - allow Prefix: for sub-packages
766 - allow packager: in rpmrc
767 - --arch and --os are now --buildarch and --buildos
768 - magic arch/os handling through arch_canon and os_canon
769 see /usr/lib/rpmrc (in short: uname short_name num)
770 - removed build_arch: from rpmrc
771 Replacing it is buildarchtranslate: and buildostranslate:
772 to allow building with arch/os other than what uname() returns.
773 Can still be overriden with --buildarch and --buildos
774 - rpmrc keywords are now case-insensitive
775 - check os at install time
776 - check return code from gzread() during installs
777 - implemented os_compat
778 - added arch_compat and os_compat information to --showrc (the
779 changes needed to do this removed any lingering questions about
780 the efficiency of the compat lookups for large tables or tables
781 with loops -- it should all work fine)
782 - made -u (--uninstall) exit with an error and not do anything
784 - fixed error message given when a file is missing
785 - fixed hashing when multiple packages are being modified
786 - changed man page for readability (thanks to Joseph L. Hartmann, Jr)
789 - fixed error message for unrelocateable packages
790 - automatic shared lib provides now work with buildprefix
791 - fixed dependency checking during upgrades to work if the
792 package wasn't previously installed
793 - clean up temp file after signature check
794 - dependencies weren't looking through packages that were
795 being installed at the same time quite right
798 - fixed -qi query format
801 - added --requires, --whatrequires, --provides and
802 --whatprovides queries
803 - using a string array tag in a queryformat results in every
804 item in the string being printed out with spaces in between
805 (though this behaviour will probably go away shortly)
806 - all packages are ftp'd before any are installed (required to
807 do proper dependency checking)
808 - if only source packages are being installed, the database is
810 - automatic shared library require/provides tags generated
811 - added --nodeps flag for install and uninstall
812 - added dependency checking for installs and uninstalls
813 - misc fixes to compile with glibc
814 - use PGPPATH if set (and no pgp_path: in rpmrc)
815 - remove pgp_pubring, pgp_secring stuff
816 - new extensible signature
817 - signature section supports multiple signatures
818 - --addsign to add a signature to a package
819 - PGP key no longer limited to 1024 bits
820 - always do at least an MD5 "signature"
821 as a result, -K will always tell you something
822 - signatures now include a simple "header+archive size" check
823 just calling readSignature() checks this
824 - --nopgp (with -K) to skip PGP check, just do MD5
825 - allow '#' comments in preamble and %files section
826 - fixed -qsv to print both the states and the file information
827 - added --dump option to query to print all file attributes
828 - installs with --root use the /etc/passwd and /etc/group from
830 - added --initdb to aid in database initialization
831 - --queryformat can print items of type INT8
832 - "sourceless" packages with nosource: and nopatch:
833 - [] now allows interation through query formats
834 - '-' flag for query tags removed
835 - :date and :perms supported as query format specifiers
836 - new rpmrc entries "arch" and "os" to override
837 - --arch and --os on the command line to override
838 - arch and os are now strings in the package header
839 - added arch_compat handling in /etc/rpmrc
840 - added build_arch to /etc/rpmrc
841 - support arch as string
842 - added --ignorearch option
843 - Prefix: in spec file to specify default installation prefix
844 - rpmrc and command line may be used to override the path
845 used for the rpm database
846 - relocatable packages get installed properly
847 - added support for --prefix and RPM_INSTALL_PREFIX environemtn
849 - added dependency checking for version numbers
850 - added correct dependency checking for upgrades
851 - added :depflags query format flag
852 - changes --provides, --requires, and --scripts queries to use
856 - fixed chmod(symlink) bug (since 2.0.9)
859 - fixed the fix to rpm -q <num> bug
860 to query by number you now need --querybynumber
861 - made arch_sensitive on by default
862 - handle # comments in preamble
863 - don't barf if we can't canonicalize the hostname during builds
864 - fixed --verify with --root
868 - prelim Require/Provide handling
869 - prelim strict checking of spec file
870 - removed some bash-isms
871 - fixed globbing/root bug
872 - fixed rpm -q <num> bug
873 - fixed ftw() related bug where symlinks were being
874 followed in %files rather than just being noted!!
875 - pass "upgrade" arg to pre/post scripts when upgrading
876 - use PATH to find cpio when installing
877 - fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
878 - added %attr(mode owner group) feature to file list
879 - fixed dumb %verify() parse bug
882 - explicitly turn off ASCII armor when running PGP
883 - fixed --noscripts logic, which was on by default and
884 off if you specified it!
885 - uses a temp file to pass filenames to cpio in case when
886 their are more then 500 filenames in a package
888 - fixed problem with $HOME/.rcfile not being read
889 - undocumented --search, --where, --keep-temps which
890 will probably won't be implemented in RPM 2.x anyway
893 - builds now set umask 022 for all scripts
894 - queries relative paths correctly (thanks to Johnie Stafford)
895 - fixed error codes for failed installs
896 - don't add NULL entry to group index for packages that don't
897 have group information, add it to the "Unknown" group instead
898 - added --scripts query option
899 - added --noscripts for installing and uninstall without using
901 - "rpm -qd" and "rpm -qc" work properly now (they didn't imply
905 - internal changes to error messages
908 - added support for generic querying
909 - added --querytags option
910 - updated man page for above two
911 - short-circuit got added before 2.0.5, but I don't know when
912 - query and installs should now return 0 on success and nonzero
913 otherwise (rpm -i should return the number of packages that
915 - made rpm -qa fail if extra arguments are passed to it
918 - added support for PowerPC, and OSF mklinux ports
921 - added verbose error messages from Tyson Sawyer
922 - rpmconvert won't overwrite an existing database
923 - won't core dump querying old format source packages
924 - freed minor memory leak
925 - more descriptive error messages during build
926 - added support for not installing documentation
929 - added support for 686, 786, 886, 986
932 - fixed ftp.c to return an error code when select timeouts
933 - added basic NLS support, along with a Sweedish message catalog
934 (thanks to Michael Nyquist)
937 - hashing and percentages no longer SIGFPE on 0 byte packages
938 - when an ftp fails, install.c no longer tries to install the package
939 - uses /var/tmp rather then /usr/tmp during for ftp space
940 - added debugging messages to ftp.c
941 - fixed some mistakes in the PGP section of the man page
942 - added mdfile prototype to rpmlib.h - the Python module wants this
943 - fixed struct oldrpmlead to align properly on the alpha
945 2.0 - everything done :-)
948 - an incredible number of changes - I won't bother trying to
952 - moved build stuff to main rpm command, though --rebuild is still
954 - install should work, although replaced files are not marked as
957 - --percent, --hash work for installs
958 - converted databases and packages get the file list in the correct
960 - none of this is well tested
961 - rpms are output to proper dirs (which are always arch sensitive)
962 - basic rpmrc functions are implemented, full parsing is present
963 - changed error messages for missing files to include full path
964 - fixed detection of Alpha's
967 - completely rewritten in C
968 - verification missing
969 - build functionality not in main rpm, in rpmbuild instead
970 (this will be corrected)
971 - an awful lot is still missing - this is an ALPHA release
974 - fixed rpmq problem with packages w/o groups (old RPM's would do this)
975 - fixed uninstalling with --root
978 - added support for mips processors
979 - added support for osf1 and irix os's
982 - fixed bug in arch detection code which caused i386 failure
985 - added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
986 - fixed sparc arch, added arch sanity check
989 - added --root to man page, usage, and help messages
990 - added a " " to the "Creating directory" debug message in install.pl
991 - make --rebuild fail on binary packages
992 - don't output prep/build/install sections if there aren't any
996 - updated corruption messages to not mention --rebuild
997 - added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
999 - no longer allows installing binary packages across architectures
1000 - fixed handling of symlinks marked as config files
1003 - make -v the default when using -b and --rebuild
1004 - added %postbuild as an alias for %clean
1006 - added groups file installed in /usr/lib/rhs/rpm
1007 - made usage message different and more concise then the --help message
1008 - added --version option
1010 - changed C build tree for concurrent building on multiple architectures
1013 - add -b option to %patch
1014 - fixed install/chroot temp file deleting
1017 - fixed bug when doing md5 of erased config file during rpm -u
1018 - fixed spec file searching
1021 - added --search and --where options
1022 - multiarchitecture support
1023 - added --rebuild option
1024 - started C rewrite - rpmq (query options only)
1027 - preuninstalls weren't getting handled properly
1028 - Alpha architecture is now recognized and builds are allowed
1029 - the database open is checked for success before continuing
1030 - rpm -b? checks the SPEC files for package names given as args