2.2.4 -> 2.2.5: - if rename() for moving .spec file from SOURCES to SPECS fails, try copying it instead - -h and -v work for source package >= V2 - -h output is much smoother now - new AutoReqProv: tag in spec file can disable automatic require/provide generation - fixed md5sum problem on big endian machines in a way that's mostly backwards compatible; this hack will be removed someday - added :fflags tag - fixed a couple of minor memory leaks in lib/install.c 2.2.3 -> 2.2.4: - only remove docdir if %doc occurs - allow -R to %patch - moved to use GNU autoconf, though it probably isn't perfect yet (thanks Kristof Depraetere) - spec file sanity: no - chars in version or release, must be a regular file :-) - version specifications for requirements can use "-" - default lib path, tmp path, topdir, and /usr/lib/rpmrc get set by configure script relative to --prefix 2.2.2 -> 2.2.3: - fixed script file md5 checking when files are in a root - implemented proper strdup/free logic for dependency conflict lists - strip leading directories from ldd output - fix non-null-terminated readlink() result - fixed sscanf() in ftp code to use proper types 2.2.1 -> 2.2.2: - added functionality to rpmlib to suggest resolutions for dependency problems - fix stupid allocation problem in exclude/exclusive stuff - fix nasty bug where pointers in to the header were getting stale after some realloc()s in addEntry() - ignore OS tag for v2 packages -- it was wrong anyway - match shared libs on ".so" rather than ".so." - skip blanks from objdump for auto-provide - if objdump gets us _end, provide the file name - do not ldd non-regular files - do not pass leading "/" to ldd - fix ExcludeOs: and ExclusiveOs: - -V verifies dependencies, can be controlled with --nodeps and --nofiles - added information on --nodeps to usage messages - implement --timecheck and rpmrc timecheck: - implement -bl - catch duplicate files in file lists - some random sanity checking on the file list 2.2 -> 2.2.1: - made rpmRemovePackage() print message in verbose mode - added support for ftp://user:pass@machine.org/ URL's during installation - the password will be prompted for if only the user is given, and anonymous ftp will be used it both user and password are omitted (as before) - Remove Exclusive: Exclude: Replace with: ExclusiveArch: ExclusiveOs: ExcludeArch: ExcludeOs: - fixed dependency cheking for packages that are installed at the same time - fixed version number dependency checking - fixed problem installing v1 source packages (thanks to Nikita Borisov) - fixed minor spelling/spacing problems (Nikita Borisov) - assume all v1 packages were made for Linux so OS check works - began to implement proxyftp, though it doesn't work yet - fixed spacing when reporting dependency conflicts - fixed bug where a long name (uname()) was mapping to itself 2.1.2 -> 2.2: - don't fail, and do report, if -K can't find a PGP key - handle file names with quotes and spaces when passed to ldd (still can't have spaces in %files) - do not allow Buildprefix: in sub packages - removed require_group from rpmrc -- groups are always required - removed arch_sensitive from rpmrc -- always on - removed docdir from rpmrc -- always /usr/doc - fixed nasty bug in installing packages with large filelists - made -R work - --provides and --requries don't print anything if no information is present (rather then (none) ) - -qi prints Summary now - changed Buildprefix: -> Buildroot: (spec file, rpmrc) --buildprefix -> --buildroot (command line) RPM_BUILD_PREFIX -> RPM_BUILD_ROOT (%prep, %build, %install, %clean) sorry :-) - allow Prefix: for sub-packages - allow packager: in rpmrc - --arch and --os are now --buildarch and --buildos - magic arch/os handling through arch_canon and os_canon see /usr/lib/rpmrc (in short: uname short_name num) - removed build_arch: from rpmrc Replacing it is buildarchtranslate: and buildostranslate: to allow building with arch/os other than what uname() returns. Can still be overriden with --buildarch and --buildos - rpmrc keywords are now case-insensitive - check os at install time - check return code from gzread() during installs - implemented os_compat - added arch_compat and os_compat information to --showrc (the changes needed to do this removed any lingering questions about the efficiency of the compat lookups for large tables or tables with loops -- it should all work fine) - made -u (--uninstall) exit with an error and not do anything - added --ignoreos - fixed error message given when a file is missing - fixed hashing when multiple packages are being modified - changed man page for readability (thanks to Joseph L. Hartmann, Jr) 2.1.1 -> 2.1.2: - fixed error message for unrelocateable packages - automatic shared lib provides now work with buildprefix - fixed dependency checking during upgrades to work if the package wasn't previously installed - clean up temp file after signature check - dependencies weren't looking through packages that were being installed at the same time quite right 2.1 -> 2.1.1: - fixed -qi query format 2.0.11 -> 2.1: - added --requires, --whatrequires, --provides and --whatprovides queries - using a string array tag in a queryformat results in every item in the string being printed out with spaces in between (though this behaviour will probably go away shortly) - all packages are ftp'd before any are installed (required to do proper dependency checking) - if only source packages are being installed, the database is never opened - automatic shared library require/provides tags generated - added --nodeps flag for install and uninstall - added dependency checking for installs and uninstalls - misc fixes to compile with glibc - use PGPPATH if set (and no pgp_path: in rpmrc) - remove pgp_pubring, pgp_secring stuff - new extensible signature - signature section supports multiple signatures - --addsign to add a signature to a package - PGP key no longer limited to 1024 bits - always do at least an MD5 "signature" as a result, -K will always tell you something - signatures now include a simple "header+archive size" check just calling readSignature() checks this - --nopgp (with -K) to skip PGP check, just do MD5 - allow '#' comments in preamble and %files section - fixed -qsv to print both the states and the file information - added --dump option to query to print all file attributes - installs with --root use the /etc/passwd and /etc/group from the target directory - added --initdb to aid in database initialization - --queryformat can print items of type INT8 - "sourceless" packages with nosource: and nopatch: - [] now allows interation through query formats - '-' flag for query tags removed - :date and :perms supported as query format specifiers - new rpmrc entries "arch" and "os" to override - --arch and --os on the command line to override - arch and os are now strings in the package header - added arch_compat handling in /etc/rpmrc - added build_arch to /etc/rpmrc - support arch as string - added --ignorearch option - Prefix: in spec file to specify default installation prefix - rpmrc and command line may be used to override the path used for the rpm database - relocatable packages get installed properly - added support for --prefix and RPM_INSTALL_PREFIX environemtn variable - added dependency checking for version numbers - added correct dependency checking for upgrades - added :depflags query format flag - changes --provides, --requires, and --scripts queries to use queryFormats 2.0.10 -> 2.0.11: - fixed chmod(symlink) bug (since 2.0.9) 2.0.9 -> 2.0.10: - fixed the fix to rpm -q bug to query by number you now need --querybynumber - made arch_sensitive on by default - handle # comments in preamble - don't barf if we can't canonicalize the hostname during builds - fixed --verify with --root 2.0.8 -> 2.0.9: - %files -f - prelim Require/Provide handling - prelim strict checking of spec file - removed some bash-isms - fixed globbing/root bug - fixed rpm -q bug - fixed ftw() related bug where symlinks were being followed in %files rather than just being noted!! - pass "upgrade" arg to pre/post scripts when upgrading - use PATH to find cpio when installing - fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris - added %attr(mode owner group) feature to file list - fixed dumb %verify() parse bug 2.0.7 -> 2.0.8: - explicitly turn off ASCII armor when running PGP - fixed --noscripts logic, which was on by default and off if you specified it! - uses a temp file to pass filenames to cpio in case when their are more then 500 filenames in a package - added --rcfile - fixed problem with $HOME/.rcfile not being read - undocumented --search, --where, --keep-temps which will probably won't be implemented in RPM 2.x anyway 2.0.6 -> 2.0.7: - builds now set umask 022 for all scripts - queries relative paths correctly (thanks to Johnie Stafford) - fixed error codes for failed installs - don't add NULL entry to group index for packages that don't have group information, add it to the "Unknown" group instead - added --scripts query option - added --noscripts for installing and uninstall without using the pre/post scripts - "rpm -qd" and "rpm -qc" work properly now (they didn't imply -l before) 2.0.5 -> 2.0.6: - internal changes to error messages 2.0.4 -> 2.0.5: - added support for generic querying - added --querytags option - updated man page for above two - short-circuit got added before 2.0.5, but I don't know when - query and installs should now return 0 on success and nonzero otherwise (rpm -i should return the number of packages that failed actually) - made rpm -qa fail if extra arguments are passed to it 2.0.3 -> 2.0.4: - added support for PowerPC, and OSF mklinux ports - added --resign - added --recompile - added verbose error messages from Tyson Sawyer - rpmconvert won't overwrite an existing database - won't core dump querying old format source packages - freed minor memory leak - more descriptive error messages during build - added support for not installing documentation 2.0.2 -> 2.0.3: - added support for 686, 786, 886, 986 2.0.1 -> 2.0.2: - fixed ftp.c to return an error code when select timeouts - added basic NLS support, along with a Sweedish message catalog (thanks to Michael Nyquist) 2.0 -> 2.0.1: - hashing and percentages no longer SIGFPE on 0 byte packages - when an ftp fails, install.c no longer tries to install the package - uses /var/tmp rather then /usr/tmp during for ftp space - added debugging messages to ftp.c - fixed some mistakes in the PGP section of the man page - added mdfile prototype to rpmlib.h - the Python module wants this - fixed struct oldrpmlead to align properly on the alpha 2.0 - everything done :-) 2.0b -> 2.0c: - an incredible number of changes - I won't bother trying to list them 2.0a -> 2.0b: - moved build stuff to main rpm command, though --rebuild is still not supported - install should work, although replaced files are not marked as replaced - %doc macro fixed - --percent, --hash work for installs - converted databases and packages get the file list in the correct order now - none of this is well tested - rpms are output to proper dirs (which are always arch sensitive) - basic rpmrc functions are implemented, full parsing is present - changed error messages for missing files to include full path - fixed detection of Alpha's 1.4.6 -> 2.0a: - completely rewritten in C - verification missing - build functionality not in main rpm, in rpmbuild instead (this will be corrected) - an awful lot is still missing - this is an ALPHA release 1.4.5 -> 1.4.6: - fixed rpmq problem with packages w/o groups (old RPM's would do this) - fixed uninstalling with --root 1.4.4 -> 1.4.5: - added support for mips processors - added support for osf1 and irix os's 1.4.3 -> 1.4.4: - fixed bug in arch detection code which caused i386 failure 1.4.2 -> 1.4.3: - added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures - fixed sparc arch, added arch sanity check 1.4.1 -> 1.4.2: - added --root to man page, usage, and help messages - added a " " to the "Creating directory" debug message in install.pl - make --rebuild fail on binary packages - don't output prep/build/install sections if there aren't any 1.4 -> 1.4.1: - fixed man page - updated corruption messages to not mention --rebuild - added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables at build time - no longer allows installing binary packages across architectures - fixed handling of symlinks marked as config files 1.3.2 -> 1.4: - make -v the default when using -b and --rebuild - added %postbuild as an alias for %clean - added gendiff - added groups file installed in /usr/lib/rhs/rpm - made usage message different and more concise then the --help message - added --version option - updated man page - changed C build tree for concurrent building on multiple architectures 1.3.1 -> 1.3.2: - add -b option to %patch - fixed install/chroot temp file deleting 1.3 -> 1.3.1: - fixed bug when doing md5 of erased config file during rpm -u - fixed spec file searching 1.2 -> 1.3: - added --search and --where options - multiarchitecture support - added --rebuild option - started C rewrite - rpmq (query options only) 1.1 -> 1.2: - preuninstalls weren't getting handled properly - Alpha architecture is now recognized and builds are allowed - the database open is checked for success before continuing - rpm -b? checks the SPEC files for package names given as args