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



_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to