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