added virtual query tag ability, fsnames query tag,
[platform/upstream/rpm.git] / CHANGES
1 2.4.1 -> 2.4.2:
2         - completely rewrote queryformat code
3         - added fsnames virtual query tag
4
5 2.4 -> 2.4.1:
6         - take advantage of lchown() if it's available
7         - fixed configure script to assume chown() doesn't follow symlinks
8           if lchown() isn't available and configure is not being run as root
9         - more header file changes for AIX
10         - added :shescape query format type for strings, which prints strings
11           which will survive a single level of shell expansion
12         - fixed --setperms and --setugids to handle empty packages and 
13           packages with odd filenames
14         - include <sys/time.h> before <sys/resource.h>
15         - include "miscfn.h" first in every file which needs it
16         - created noarch architecture which everything is compatible with
17         - fixed group verification (Benedict Lofstedt)
18         - don't backup config files on netsharedpaths
19         - added info on --build{arch|os} to --help and usage messages
20
21 2.3.11 -> 2.4:
22         - changed RPMNLSDIR directories to and @datadir@ to better
23           conform with autoconf
24         - set RPM_INSTALL_PREFIX environment variable when running 
25           verify scripts
26         - beginnings of SCO support (though I suspect it will take one
27           or two more iterations to get it right)
28         - switched to CVS and updated some Makefile rules
29         - look for gethostbyname() instead of gethostname() in -nsl
30           (this could break some things)
31         - added check for strcasecmp() in -lucb on systems which don't
32           have strcasecmp() in libc
33         - don't build -static on hpux10
34         - don't try and NLS empty strings
35         - changed index() call to strchr() in macro code
36         - include <time.h> in build/spec.c for various platforms
37         - added update-po rule to po/Makefile.in
38         - updated de.po (thanks to Karl Eichwalder)
39         - rpmFindByFile() removes trailing and duplicate /'s
40         - made many string in rpm program (though not yet in the various
41           libraries) translatable
42         - eight character user names could break -qlv
43         - requirements which begin with a leading / require files (in
44           the database!) instead of packages
45         - clean up conflictsindex during --rebuilddb
46         - get path to gzip from /usr/lib/rpmrc rather then just hoping it's 
47           in the path
48         - use dbpath for error messages with include database path in 
49           their text
50         - don't set owner/group if binaries installed by "make install"
51         - include <strings.h> on SCO
52         - don't use cpio when installing packages <gulp>
53         - fixed bug which affected dependencies on the Alpha
54         - made '=' work for long arguments (the switch to popt broke this)
55         - handle solaris systems better
56         - complain if critical rpmrc variables (cpiobin, gzipbin, etc) aren't
57           set anywhere
58         - allow --dbpath for --rebuilddb
59         - added check for systems whose chown() follows symlinks. If configure
60           is run as root, this should get it right, otherwise it assumes
61           chown() does not follow symlinks. You can use --enable-broken-chown
62           to force configure to think chown does indeed follow symlinks.
63         - if chown() follows symlinks, we don't chown() symlinks during cpio
64           unpacking and we don't verify the owner or group of symlinks
65         - added packager and url to default -qi output
66         - look for <sys/select.h> and use it if it's there (for AIX)
67
68 2.3.10 -> 2.3.11:
69         - fixed newlines in --scripts output
70         - fix handling of source files with bad owners/groups
71
72 2.3.9 -> 2.3.10:
73         - --allmatches handling in -e broke some cases
74         - new predefined macros: %SOURCEn %PATCHn %SOURCEURLn %PATCHURLn
75         - fix anomoly with %files -f <file> and %doc
76         - ignore config bit when it's set on directories (which allows
77           users to replace directories with symlinks)
78         - don't set config bit on directories
79         - strip trailing slashes from files (during build)
80         - %tags are now case sensitive (macros too)
81
82 2.3.8 -> 2.3.9:
83         - reworked %setup to allow multiple -a and -b options, which
84           should noticeably ease the task of unapcking multiple tar files
85         - md5 sum's were calculated incorrectly on big endian machines
86           from 2.3.2 through 2.3.8 -- this was fixed and some hacks were
87           done to keep verification working
88         - updated README
89         - added --allmatches to allow erasing multiple versions/releases
90           of a package
91         - changed ftp URL's to use \r\n, not just \n (this should let RPM
92           work w/ some picky (but rfc compliant) ftp servers
93         - fix problem where parts at end of spec file were dropped
94         - added %config(noreplace missingok) (build-side)
95         - simple spec file macros
96         - should now process entire file list before failing
97         
98 2.3.7 -> 2.3.8:
99         - added -t? options to build packages from tarballs which contain
100           .spec files instead of from the .spec files directly
101         - fixed error in man page where ftp URLs are discussed
102         - don't strlen(NULL) in headerAddEntry()
103         - minor portability changes
104         - stopped building oldrpmdb.c as part of rpmlib
105         - added Makefile rule for building rpmconvert (which is almost
106           never needed) -- this isolated gdbm dependence to this target
107         - fixed checking of popt stack overflow
108         - --requires shouldn't imply -q
109         - fixed error message issued when a groupname does not exist
110         - fixed but in changelog processing which made it hang on '*' in a
111           changelog entry
112         - generate S_ISSOCK and S_ISLNK macros on systems w/o them
113         - "rpm --erase" wasn't returning proper error codes w/ package
114           removal failed
115
116 2.3.6 -> 2.3.7:
117         - fixed nasty memory link in -Va
118         - configure checks for -lnsl explicitly rather then linking it
119           to -lsocket (for NCR SysVR4)
120         - configure checks for dirent.h
121         - modified glob.c to include config.h and use HAVE_DIRENT_H
122         - cleanup of LIBS/LIBPATH mess a bit more
123
124 2.3.5 -> 2.3.6:
125         - -Vf uses realpath() now
126         - -Vp lets you use --ftpproxy, --ftpport
127         - changed popt format, breaking all popt alises :-(
128         - added ability to alias character arguments to popt 
129         - moved --requires, --info to /usr/lib/rpmpopt
130         - RPM is more forgiving of blank user names (dumb)
131         - popt searches for aliases in the correct order now
132         - cleanup query code to handle missing uid lists better
133         - cleanup up configure.in a tad
134
135 2.3.4 -> 2.3.5:
136         - %{#TAG} in query format prints the array length
137         - cleanup up protoypes in rpmlib.h
138         - let -Vp work on URLs
139         - don't set umask(0) anymore -- that confused programs which
140           link against rpmlib quite badly
141         - moved print out in "rpm -v -i" to occur after any warnings
142           to pretty up the output a bit
143         - added default optflags for powerpc
144         - run shell for post/pre scripts in debug mode with -sx for
145           some silly shells
146         - installing source packages with --root checked for the 
147           sources/specs directory to exist outside of the root -- fixed
148         - modified toplevel Makefile to run dependency generation only
149           against referenced sources
150         - array size mismatches in --qf should send error to stderr
151         - tried to make the locale stuff a bit more portable (again)
152         - reworked the owner/group setting on installs to be more generic
153           (in preperation for getting rid of cpio)
154         - made verify verify owner and groups by name rather then by id -- if
155           the symbolic names aren't available use the uids
156         - cleaned up relocateFilelist() and related code thanks to
157           new header introduced in 2.3.3 -- this could break relocateable
158           packages but they seem okay
159         - fixed a bug which could cause relocateable packages to not get
160           relocated -- I think this bit some people during hard drive
161           installs of all things (Jason Salopek pestered me consistently
162           enough to keep this on the front burner for me)
163         - removed FILEUIDS and FILEGIDS from the header in the database --
164           we never used it and it jsut wasted room
165         - convert uid/gid lists in v1 headers to symbolic names 
166
167 2.3.3 -> 2.3.4:
168         - %changelog processing
169         - fixed broken requires/conflicts parsing for spec file
170         - vastly improved --rebuilddb's robustness
171         - fixed misplaced free() (only affected inconsistent databases)
172         - added conflicts documentation to docs/dependencies
173         - using multiple query formats has them all concatenated
174         - removed stdin based query and verify selectors
175         - installs rpmpopt in libdir
176         - moved --provides and --scripts to rpmpopt
177         - added --setperms, --setugids
178         - incorporated newer de.po from Karsten Weiss
179         - --resign/--addsign was broken in 2.3.3 from popt conversion
180
181 2.3.2 -> 2.3.3:
182         - Ripped out header internals and redid them. Any compatibility 
183           problems this causes are *bugs* as it should be completley 
184           transparent. If this works the devil better buy some Prestone (TM).
185         - Use "cp -pr" instead of "cp -ar" for %doc expansion
186         - use <string.h> instead of (non standard) <strings.h> in some places
187         - look for non-POSIX (broken) chmod
188         - include local copies of glob/fnmatch
189         - removed getopt() check from configure.in
190         - fixed bug in ftp code which prevented proper logins to some sites
191         - switched to popt from getopt, which allows command line aliasing
192         - read initial aliases from /usr/lib/rpmpopt then /etc/popt and
193           $HOME/.popt
194         - cleanup up rdev verification (only verifies device files, checks
195           device related mode bits as well)
196         - fixed allocation of temporary paths (Eugene Kanter noticed this)
197         - made tools/dumpdb read the rpmrc so it can find the database
198         - added --nomd5 for -V and -K
199         - don't assume mkdir -p will succeed if the dir exists
200         - use RPMNLS* defines to avoid header file conflicts
201         - bunch of minor cleanups to avoid warnings on other OS's
202
203 2.3.1 -> 2.3.2:
204         - fixed bug in new rpmVersionCompare() which made it worse then
205           useless (thanks to Norbert Kiesel)
206         - fixed silly message
207
208 2.3 -> 2.3.1:
209         - changed --help routing to have intelligent line wrapping
210           to make i18n efforts easier
211         - NLSDIR should be used for nls catalogs, not a hardcoded path
212         - NLSDIR should be in share, not lib
213         - renamed sweedish catalog from se to sv
214         - added german catalog
215         - treat RPM_CHAR_TYPE as RPM_INT8_TYPE for queries
216         - made rpmEnsureOlder() internal to lib/install.c
217         - added rpmVersionCompare() to compare version/release/serial numbers
218           for packages -- returns like strcmp()
219         - stdout/stderr were getting closed after running a verify script
220         - relocting packages didn't work w/ the packages contained the
221           directory which was it's prefix
222
223 2.2.11 -> 2.3:
224         - replaced putenv/setenv which calls which malloc() buffer -- these
225           are memory leaks, but the functions are only used between a fork()
226           and exec() so it doesn't matter
227         - created directroies are stamped with mtime from the file list
228
229 2.2.10 -> 2.2.11:
230         - fixed some include file problems for FreeBSD
231         - fixed find-provides script for Linux (silly typo)
232         - -qvl didn't print out sticky bit
233         - linux.prov won't print provides info for symlinks which point
234           to libraries w/ proper sonames
235
236 2.2.9 -> 2.2.10:
237         - changed how installArchive() handles running out of gzread()
238           bytes while the child is still alive
239         - changed tag for Alpha's to "alpha" from "axp" <gulp>
240         - made ./configure look for --quiet support in cpio
241         - netsharedPath's were having mkdir()'s done on them and had
242           bad interactions with rooted directories
243         - made -qp accept '-' to query the package on stdin
244         - dependency checking was broken when no database was being used
245         - don't *ever* let cpio make directories -- we do a better job
246           (esp because we don't kill symlinks!)
247         - plugged memory leaks in upgrade (again thanks to mpr) -- install,
248           erase, upgrade, query, and verify all seem to be leakproof
249         - use select() rather than busy waiting in cpio_gzip()
250         - use half as much temp space during package assembly
251         - fail if spec file check fails
252         - changed canonical name for 68k to m68k (sorry)
253         - integrated FreeBSD changes from Jared Mauch
254         - integrated Irix changes from Hermann Lauer
255         - i18n support can be disabled w/ configure by --disable-nls
256           (thanks to Remy Card)
257         - integrated more AmigaOS patches, played with configure some
258           more to allow cross compiling (Kristof Depraetere)
259         - cleanups to rpm2cpio (closing the gz stream) (Elliot Lee)
260         - made find-provides return filename for libs w/ no soname
261
262 2.2.8 -> 2.2.9:
263         - fixed typo in default rpmrc
264         - made getBooleanVar() a bit better
265         - added triggers to package builds
266         - tagged spec file in source package file list
267         - added %verifyscript (controlled by --noscript, -v flags)
268         - changed pkgReadHeader() mechanism to be more generic
269         - added find-provides for Solaris, made find-provides setup
270           more generic (w/ configure.in picking the right one)
271         - fix -Q
272         - The Great Renaming
273         - use external OS specific script to generate requires lines
274           (should work with ld.so 1.8.x) (find-requries)
275
276 2.2.7 -> 2.2.8:
277         - added --ftpproxy, --ftpport (and wrote about them in rpm.8)
278         - added --nodeps to man page
279         - added --showrc to man page
280         - added conflict checking (use conflicts tag, which looks
281           just like the requires tag)
282         - fixed RPM's return code when package removal fails
283         - cleaned up lib/install.c a bit for readability
284         - plugged a bunch of memory leaks thanks to mpr -- install,
285           uninstall, verify, and query all seem clean now
286         - added support for trees shared over a network via netsharedpath
287           in rpmrc
288         - don't exit when there is an unknown option in an rpmrc, just
289           give an error and continue
290         - tried once again to get things working properly with 2.1's
291           write behavior
292         - added -E option for %patch
293         - added UltraSPARC support to lib-rpmrc
294         - moved default topdir and optflags settings to lib-rpmrc from 
295           /etc/rpmrc
296         - removed /etc/rpmrc from standard distribution
297         - use separate chgrp/chown commands in %setup macro
298         - kill(2) arguments were backwards in lib/install.c
299         - fileFile logging needed stdio to handle NULL args to %s
300         - default docdir (for %doc macro) set in lib-rpmrc rather then
301           hardcoded
302         - removed some of the \n from args to error() [though many are
303           still left]
304         - uninstall should fail if the preuninstall script fails
305         - --root works with --initdb now
306
307 2.2.6 -> 2.2.7:
308         - applied lots of portability patches
309         - builds on Solaris machines now!
310         - will build w/o i18n support if GNU gettext isn't installed
311         - added inet_aton, setenv functions for libmisc
312         - added Sun4c, Sun4m architectures
313         - use vfork() if fork() doesn't exist (for AmigaOS)
314         - look for GNU cpio, complain if it doesn't exist at build time
315         - put path for GNU cpio in /usr/lib/librpmrc
316         - install rpm.shared if rpm wasn't built (for Solaris)
317         - readHeader() in librpm.a should work on sockets (which may
318           return partial reads)
319         - package file query (-q -p) accepts ftp:// style URL's
320         - if gzread returns 0 bytes (at EOF), don't call write w/ 0 byte
321           argument as it's behviour isn't portable
322         - fixed -Vp behavior (doesn't seg fault w/ packages have dependencies)
323
324 2.2.5 -> 2.2.6:
325         - added --rebuilddb to rebuild database, updated man page
326         - fix fd leak in md5sum
327         - fixed group cache bug
328
329 2.2.4 -> 2.2.5:
330         - if rename() for moving .spec file from SOURCES to SPECS fails,
331           try copying it instead
332         - -h and -v work for source package >= V2
333         - -h output is much smoother now
334         - new AutoReqProv: tag in spec file can disable automatic
335           require/provide generation
336         - fixed md5sum problem on big endian machines in a way that's
337           mostly backwards compatible; this hack will be removed someday
338         - added :fflags tag
339         - fixed a couple of minor memory leaks in lib/install.c
340         - --test for building
341
342 2.2.3 -> 2.2.4:
343         - only remove docdir if %doc occurs
344         - allow -R to %patch
345         - moved to use GNU autoconf, though it probably isn't perfect yet
346           (thanks Kristof Depraetere)
347         - spec file sanity: no - chars in version or release,
348           must be a regular file :-)
349         - version specifications for requirements can use "-<release number>"
350         - default lib path, tmp path, topdir, and /usr/lib/rpmrc get set
351           by configure script relative to --prefix
352
353 2.2.2 -> 2.2.3:
354         - fixed script file md5 checking when files are in a root
355         - implemented proper strdup/free logic for dependency conflict
356           lists
357         - strip leading directories from ldd output
358         - fix non-null-terminated readlink() result
359         - fixed sscanf() in ftp code to use proper types
360
361 2.2.1 -> 2.2.2:
362         - added functionality to rpmlib to suggest resolutions for
363           dependency problems
364         - fix stupid allocation problem in exclude/exclusive stuff
365         - fix nasty bug where pointers in to the header were getting
366           stale after some realloc()s in addEntry()
367         - ignore OS tag for v2 packages -- it was wrong anyway
368         - match shared libs on ".so" rather than ".so."
369         - skip blanks from objdump for auto-provide
370         - if objdump gets us _end, provide the file name
371         - do not ldd non-regular files
372         - do not pass leading "/" to ldd
373         - fix ExcludeOs: and ExclusiveOs:
374         - -V verifies dependencies, can be controlled with --nodeps
375           and --nofiles
376         - added information on --nodeps to usage messages
377         - implement --timecheck and rpmrc timecheck:
378         - implement -bl
379         - catch duplicate files in file lists
380         - some random sanity checking on the file list
381
382 2.2 -> 2.2.1:
383         - made rpmRemovePackage() print message in verbose mode
384         - added support for ftp://user:pass@machine.org/ URL's
385           during installation - the password will be prompted for
386           if only the user is given, and anonymous ftp will be used
387           it both user and password are omitted (as before)
388         - Remove Exclusive: Exclude:
389           Replace with: ExclusiveArch: ExclusiveOs:
390                         ExcludeArch: ExcludeOs:
391         - fixed dependency cheking for packages that are installed
392           at the same time
393         - fixed version number dependency checking
394         - fixed problem installing v1 source packages (thanks to
395           Nikita Borisov)
396         - fixed minor spelling/spacing problems (Nikita Borisov)
397         - assume all v1 packages were made for Linux so OS check works
398         - began to implement proxyftp, though it doesn't work yet
399         - fixed spacing when reporting dependency conflicts
400         - fixed bug where a long name (uname()) was mapping to itself
401
402 2.1.2 -> 2.2:
403         - don't fail, and do report, if -K can't find a PGP key
404         - handle file names with quotes and spaces when passed to ldd
405           (still can't have spaces in %files)
406         - do not allow Buildprefix: in sub packages
407         - removed require_group from rpmrc -- groups are always required
408         - removed arch_sensitive from rpmrc -- always on
409         - removed docdir from rpmrc -- always /usr/doc
410         - fixed nasty bug in installing packages with large filelists
411         - made -R work
412         - --provides and --requries don't print anything if no information
413           is present (rather then (none) )
414         - -qi prints Summary now
415         - changed Buildprefix: -> Buildroot: (spec file, rpmrc)
416                   --buildprefix -> --buildroot (command line)
417                   RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
418                                         (%prep, %build, %install, %clean)
419           sorry :-)
420         - allow Prefix: for sub-packages
421         - allow packager: in rpmrc
422         - --arch and --os are now --buildarch and --buildos
423         - magic arch/os handling through arch_canon and os_canon
424           see /usr/lib/rpmrc (in short: uname short_name num)
425         - removed build_arch: from rpmrc
426           Replacing it is buildarchtranslate: and buildostranslate:
427           to allow building with arch/os other than what uname() returns.
428           Can still be overriden with --buildarch and --buildos
429         - rpmrc keywords are now case-insensitive
430         - check os at install time
431         - check return code from gzread() during installs
432         - implemented os_compat
433         - added arch_compat and os_compat information to --showrc (the
434           changes needed to do this removed any lingering questions about
435           the efficiency of the compat lookups for large tables or tables
436           with loops -- it should all work fine)
437         - made -u (--uninstall) exit with an error and not do anything
438         - added --ignoreos
439         - fixed error message given when a file is missing
440         - fixed hashing when multiple packages are being modified
441         - changed man page for readability (thanks to Joseph L. Hartmann, Jr)
442
443 2.1.1 -> 2.1.2:
444         - fixed error message for unrelocateable packages
445         - automatic shared lib provides now work with buildprefix
446         - fixed dependency checking during upgrades to work if the
447           package wasn't previously installed
448         - clean up temp file after signature check
449         - dependencies weren't looking through packages that were
450           being installed at the same time quite right
451
452 2.1 -> 2.1.1:
453         - fixed -qi query format 
454
455 2.0.11 -> 2.1:
456         - added --requires, --whatrequires, --provides and 
457           --whatprovides queries
458         - using a string array tag in a queryformat results in every
459           item in the string being printed out with spaces in between
460           (though this behaviour will probably go away shortly)
461         - all packages are ftp'd before any are installed (required to
462           do proper dependency checking)
463         - if only source packages are being installed, the database is
464           never opened
465         - automatic shared library require/provides tags generated
466         - added --nodeps flag for install and uninstall
467         - added dependency checking for installs and uninstalls
468         - misc fixes to compile with glibc
469         - use PGPPATH if set (and no pgp_path: in rpmrc)
470         - remove pgp_pubring, pgp_secring stuff
471         - new extensible signature
472         - signature section supports multiple signatures
473         - --addsign to add a signature to a package
474         - PGP key no longer limited to 1024 bits
475         - always do at least an MD5 "signature"
476           as a result, -K will always tell you something
477         - signatures now include a simple "header+archive size" check
478           just calling readSignature() checks this
479         - --nopgp (with -K) to skip PGP check, just do MD5
480         - allow '#' comments in preamble and %files section
481         - fixed -qsv to print both the states and the file information  
482         - added --dump option to query to print all file attributes
483         - installs with --root use the /etc/passwd and /etc/group from
484           the target directory
485         - added --initdb to aid in database initialization
486         - --queryformat can print items of type INT8
487         - "sourceless" packages with nosource: and nopatch:
488         - [] now allows interation through query formats
489         - '-' flag for query tags removed
490         - :date and :perms supported as query format specifiers
491         - new rpmrc entries "arch" and "os" to override
492         - --arch and --os on the command line to override
493         - arch and os are now strings in the package header
494         - added arch_compat handling in /etc/rpmrc
495         - added build_arch to /etc/rpmrc
496         - support arch as string
497         - added --ignorearch option
498         - Prefix: in spec file to specify default installation prefix
499         - rpmrc and command line may be used to override the path
500           used for the rpm database
501         - relocatable packages get installed properly
502         - added support for --prefix and RPM_INSTALL_PREFIX environemtn
503           variable
504         - added dependency checking for version numbers
505         - added correct dependency checking for upgrades
506         - added :depflags query format flag
507         - changes --provides, --requires, and --scripts queries to use
508           queryFormats
509
510 2.0.10 -> 2.0.11:
511         - fixed chmod(symlink) bug (since 2.0.9)
512
513 2.0.9 -> 2.0.10:
514         - fixed the fix to rpm -q <num> bug
515           to query by number you now need --querybynumber
516         - made arch_sensitive on by default
517         - handle # comments in preamble
518         - don't barf if we can't canonicalize the hostname during builds
519         - fixed --verify with --root
520
521 2.0.8 -> 2.0.9:
522         - %files -f <file>
523         - prelim Require/Provide handling
524         - prelim strict checking of spec file
525         - removed some bash-isms
526         - fixed globbing/root bug
527         - fixed rpm -q <num> bug
528         - fixed ftw() related bug where symlinks were being
529           followed in %files rather than just being noted!!
530         - pass "upgrade" arg to pre/post scripts when upgrading
531         - use PATH to find cpio when installing
532         - fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
533         - added %attr(mode owner group) feature to file list
534         - fixed dumb %verify() parse bug
535
536 2.0.7 -> 2.0.8:
537         - explicitly turn off ASCII armor when running PGP
538         - fixed --noscripts logic, which was on by default and 
539           off if you specified it!
540         - uses a temp file to pass filenames to cpio in case when 
541           their are more then 500 filenames in a package
542         - added --rcfile
543         - fixed problem with $HOME/.rcfile not being read
544         - undocumented --search, --where, --keep-temps which
545           will probably won't be implemented in RPM 2.x anyway
546
547 2.0.6 -> 2.0.7:
548         - builds now set umask 022 for all scripts
549         - queries relative paths correctly (thanks to Johnie Stafford)
550         - fixed error codes for failed installs
551         - don't add NULL entry to group index for packages that don't
552           have group information, add it to the "Unknown" group instead
553         - added --scripts query option
554         - added --noscripts for installing and uninstall without using 
555           the pre/post scripts
556         - "rpm -qd" and "rpm -qc" work properly now (they didn't imply
557            -l before)
558
559 2.0.5 -> 2.0.6:
560         - internal changes to error messages
561
562 2.0.4 -> 2.0.5:
563         - added support for generic querying
564         - added --querytags option
565         - updated man page for above two
566         - short-circuit got added before 2.0.5, but I don't know when
567         - query and installs should now return 0 on success and nonzero
568           otherwise (rpm -i should return the number of packages that
569           failed actually)
570         - made rpm -qa fail if extra arguments are passed to it
571
572 2.0.3 -> 2.0.4:
573         - added support for PowerPC, and OSF mklinux ports
574         - added --resign
575         - added --recompile
576         - added verbose error messages from Tyson Sawyer
577         - rpmconvert won't overwrite an existing database
578         - won't core dump querying old format source packages
579         - freed minor memory leak
580         - more descriptive error messages during build
581         - added support for not installing documentation
582
583 2.0.2 -> 2.0.3:
584         - added support for 686, 786, 886, 986
585
586 2.0.1 -> 2.0.2:
587         - fixed ftp.c to return an error code when select timeouts
588         - added basic NLS support, along with a Sweedish message catalog
589           (thanks to Michael Nyquist)
590
591 2.0 -> 2.0.1:
592         - hashing and percentages no longer SIGFPE on 0 byte packages
593         - when an ftp fails, install.c no longer tries to install the package
594         - uses /var/tmp rather then /usr/tmp during for ftp space
595         - added debugging messages to ftp.c
596         - fixed some mistakes in the PGP section of the man page
597         - added mdfile prototype to rpmlib.h - the Python module wants this
598         - fixed struct oldrpmlead to align properly on the alpha
599
600 2.0     - everything done :-)
601
602 2.0b -> 2.0c:
603         - an incredible number of changes - I won't bother trying to 
604           list them
605
606 2.0a -> 2.0b:
607         - moved build stuff to main rpm command, though --rebuild is still
608           not supported
609         - install should work, although replaced files are not marked as
610           replaced
611         - %doc macro fixed
612         - --percent, --hash work for installs
613         - converted databases and packages get the file list in the correct
614           order now
615         - none of this is well tested
616         - rpms are output to proper dirs (which are always arch sensitive)
617         - basic rpmrc functions are implemented, full parsing is present
618         - changed error messages for missing files to include full path
619         - fixed detection of Alpha's
620
621 1.4.6 -> 2.0a:
622         - completely rewritten in C
623         - verification missing
624         - build functionality not in main rpm, in rpmbuild instead
625           (this will be corrected)
626         - an awful lot is still missing - this is an ALPHA release
627
628 1.4.5 -> 1.4.6:
629         - fixed rpmq problem with packages w/o groups (old RPM's would do this)
630         - fixed uninstalling with --root 
631
632 1.4.4 -> 1.4.5:
633         - added support for mips processors
634         - added support for osf1 and irix os's
635
636 1.4.3 -> 1.4.4:
637         - fixed bug in arch detection code which caused i386 failure
638
639 1.4.2 -> 1.4.3:
640         - added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
641         - fixed sparc arch, added arch sanity check
642
643 1.4.1 -> 1.4.2:
644         - added --root to man page, usage, and help messages
645         - added a " " to the "Creating directory" debug message in install.pl
646         - make --rebuild fail on binary packages
647         - don't output prep/build/install sections if there aren't any
648
649 1.4 -> 1.4.1:
650         - fixed man page
651         - updated corruption messages to not mention --rebuild
652         - added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
653           at build time
654         - no longer allows installing binary packages across architectures
655         - fixed handling of symlinks marked as config files
656
657 1.3.2 -> 1.4:
658         - make -v the default when using -b and --rebuild
659         - added %postbuild as an alias for %clean
660         - added gendiff
661         - added groups file installed in /usr/lib/rhs/rpm
662         - made usage message different and more concise then the --help message
663         - added --version option
664         - updated man page
665         - changed C build tree for concurrent building on multiple architectures
666
667 1.3.1 -> 1.3.2:
668         - add -b option to %patch
669         - fixed install/chroot temp file deleting
670
671 1.3 -> 1.3.1:
672         - fixed bug when doing md5 of erased config file during rpm -u
673         - fixed spec file searching
674
675 1.2 -> 1.3:
676         - added --search and --where options
677         - multiarchitecture support
678         - added --rebuild option
679         - started C rewrite - rpmq (query options only)
680
681 1.1 -> 1.2:
682         - preuninstalls weren't getting handled properly
683         - Alpha architecture is now recognized and builds are allowed
684         - the database open is checked for success before continuing
685         - rpm -b? checks the SPEC files for package names given as args