[Rpm-announce] RPM 4.6.0 released!
Panu Matilainen
pmatilai at redhat.com
Fri Feb 6 13:39:12 UTC 2009
At long last, we're pleased to announce the availability of RPM release
4.6.0. Download instructions and more detailed information including
compatibility notes are available from:
http://rpm.org/wiki/Releases/4.6.0
For the impatient, below is a summary of the more user-visible changes
since RPM 4.4.x, with bug references where applicaple.
General improvements and fixes:
* RPM now supports 64bit package sizes and larger files in general.
* Support for file checksums other than MD5 (such as SHA256 and SHA512)
has been added.
* Verification uses chroot() if --root is specified to get user/group
names right (RhBug:434150)
* Verification filters out meaningless timestamp differences of shared
files (RhBug:426672, RhBug:444661)
* File conflicts on non-elf files are always enforced on multilib
systems too (RhBug:190209)
* rpmdb selinux contexts are now restored after db rebuild (RhBug:442149)
* More informative error messages in many cases (RhBug:427064,
RhBug:164743, RhBug:461362, ...)
* Cleanly handled errors instead of dying on assert (RhBug:448939,
RhBug:456100)
* Several exit-code corrections (RhBug:462631, RhBug:446202, ...)
* Always honor epoch nopromote/promote rules (RhBug:466503)
* Handle attempt to install packages with identical NEVR correctly
(RhBug:467822)
* Allow non-pre scriptlets to fail (RhBug:216221, RhBug:465409, ...)
* Don't corrupt packages when attempting to sign V3 packages (RhBug:463482)
* Don't crash when signing corrupted packages (RhBug:442761)
* Don't run %pre- and %posttrans scripts if --noscripts is specified
(RhBug:475582)
* Avoid floating point exception when time doesn't seem to go forward
(RhBug:435309)
* Queryformat consistency between tag extensions and actual header tags.
* Permit queries to be interrupted in reasonable time.
* Improved performance on initial installation due to better hash algorithm.
* Improved performance on array type queries.
* Improved memory use by avoiding fragmentation (RhBug:473167)
* Improved support for ARM and SH architectures
* Automatic cleaning up of stale rpmdb locks on Berkeley DB >= 4.5.20
* A number of memory leaks have been fixed.
* Lots of missing failure checks added all over the codebase.
* Several new and updated translations.
* Documentation updates and corrections.
* API documentation is now shipped in the release tarballs.
Package building:
* %{_topdir} defaults to $(HOME)/rpmbuild/ now, instead of former
/usr/src/redhat/.
* Rpm enforces BuildRoot for all packages and ignores the directive in
spec.
* Group tag in spec files is not considered mandatory anymore,
"Unspecified" will be used unless specifically set.
* Patches are applied with zero fuzz tolerance by default.
* Macros for helper binaries such as %{__tar} and %{__gzip} are now
honored everywhere in rpmbuild.
* List of directories to be considered documentation is now macro
configurable.
* New macros %{patches} and %{sources} have been added, these can be
used to address spec defined patches and sources in regular for loops.
* rpmbuild automatically adds additional architecture information into
package provides to make it possible to correctly express dependencies
such as dlopen()'ed plugins and development packages.
* Dependencies for pkg-config and libtool files are automatically
generated by rpmbuild.
* Various fixes to tar-build mode:
o The specfile is extracted with sane permissions (RhBug:253648)
o Attempting build on tarball with no spec included no longer
causes ugly and bogus files to be created (RhBug:281391)
* Stricter spec syntax checking
o Multiple definitions of same patch- and source numbers are no
longer permitted
o %patch is no longer equal to %patch0
* rpmbuild -bs and similar imply --nodeps automatically (RhBug:235507)
* rpmbuild automatically creates the build directory structure if necessary.
* Several whitespace-in-filenames fixes (RhBug:430428)
* noarch sub-packages are permitted in otherwise arch-dependant
packages (RhBug:227790)
* --nodirtokens build option works again after several years (RhBug:462391)
* Various ancient hardcoded limits and defaults have been eliminated /
moved to configurable macros.
* Debuginfo generation works correctly with latest "file" utility
(RhBug:468129)
* Package size is calculated correctly wrt %excludes and duplicate
files (RhBug:247374)
* SELinux contexts are no longer stored in package headers. The
contexts vary wildly between different policies and policy-versions,
whereas header data is static in nature. The contexts from headers were
never used for anything anyway.
* Experimental support for LZMA payloads has been added but this is
unsupported as of 4.6.0 release, official support will be added in an
update once a stable release of xz-utils (formerly lzma-utils) is
available.
Many of the new features come with some strings attached, do read the
compatibility notes:
http://rpm.org/wiki/Releases/4.6.0#Compatibilitynotes
And finally, the changes from RPM 4.6.0-RC4 to final:
* Revert an erronously introduced tag change regarding strong file
checksums. If you have been experimenting with strong file checksums
with 4.6.0 pre-release versions, such packages are incompatible with
4.6.0 final and need to be rebuilt. Apologies for possible inconvenience
caused, however to our knowledge there are no publically released
packages affected by this change.
* Minor documentation updates
More information about the Rpm-announce
mailing list