home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / rpm / CHANGES next >
Text File  |  1997-09-17  |  34KB  |  805 lines

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