RPM 4.11.2 Release Notes

Download information

Summary of changes from RPM 4.11.1

General bugfixes and enhancements

  • Fix removed symlinks affecting fingerprinting (RhBug:???)
  • Fix bogus dependency check errors from installed packages with self-obsoletes and -conflicts
  • Fix bogus header growth on export in some circumstances, such as install (RhBug:953719)
  • Fix byteorder for 64bit tags on big-endian systems (RhBug:1012946)
  • Fix signature generation using RPMSIGTAG_LONGSIZE when not needed (RhBug:1012595)
  • Fix segfault executing a -p scriptlet without a body ([RhBug:1004062](https://bugzilla.redhat.com/show_bug.cgi?id=1004062))
  • Fix failure to install relocated package with unowned directories (RhBug:1001553)
  • Fix scriptlets in relocatable packages not always executing with $RPM_INSTALL_PREFIX* defined (RhBug:979443)
  • Fix RPMTAG_NOSOURCE and RPMTAG_NOPATCH tags defined as non-arrays (RhBug:991329)
  • Fix a possible loophole in file triplet sanity-checking
  • Fix name service initialization where passwd and group service differs from host (ticket #157)
  • Add support for ppc64le architecture

Package building

  • Fix double-free on %caps() wildcard %files entry (RhBug:956190)
  • Fix sub-package names not getting sanity-checked (RhBug:1039520)
  • Fix invalid separators in EVR passing sanity checking
  • Fix some invalid characters in dependency range operators passing sanity checking
  • Fix autogenerated dependencies bypassing sanity-checking (related to RhBug:503846)
  • Fix python libdirs in non-root prefix not getting bytecompiled (RhBug:868332)
  • Fix (remove) bogus %__find_requires and %__find_provides macro definitions in macros.perl (RhBug:1043149)
  • Fix (really) debugedit choking on .debug_gdb_scripts section (SuseBug:818502)
  • Fix %autosetup git patch application to handle file additions (RhBug:1059285)
  • Add automatic generation for appdata() and application() provides
  • Add support for (quoted) whitespace in automatically generated dependencies (RhBug:503846)

Python bindings

  • Fix mode and flags not honored when reopening a file descriptor as rpm.fd
  • Fix RPMFILE_ICON and RPMFILE_SPECFILE constants missing
  • Fix rpm.dsSingle() swapped arguments (regession introduced in rpm 4.8.0)
  • Fix Python 3 compatibility issues in rpm.TransactionSet class
  • Fix module import succeeding on rpm initialization failure
  • Add .open() class-method to rpm.fd
  • Add open-mode and -flags to rpm.fd as properties
  • Add support for reopening an rpm.fd file descriptor
  • Add accessor for spec %check section
  • Add bindings for rpm stringpool
  • Add support for shared stringpool with rpm.fi and rpm.ds objects (optional pool argument to constructor)

Internal improvements and cleanups

  • Fix minor memory leak in %files parsing
  • Fix rpmstrPoolRehash() missing last id
  • Fix string pool artifacts (unreliable rpmstrPoolNumStr(), empty strings showing up on rehash etc) caused by dummy entries
  • Fix unnecessary /proc dependency if getauxval(3) is available
  • Fix various minor issues in beecrypt crypto backend
  • Fix possible mishandling of handing environment open on EACCESS and EROFS returns
  • Optimize / cleanup %attr() and %defattr() string storage
  • Optimize dependency set management in file classifier
  • Optimize MPI length validation
  • Optimize beecrypt crypto backend

Build process

  • Add upport 7za and 7z as alternatives to 7-zip
  • Fix an include portability issue
  • Add several new test-cases