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