RPM 4.18.1 Release Notes
- Source: rpm-4.18.1.tar.bz2
- SHA256SUM: 37f3b42c0966941e2ad3f10fde3639824a6591d07197ba8fd0869ca0779e1f56
Summary of changes from RPM 4.18.0
General bugfixes and enhancements
Command line
- Fix signature reserved space not restored on
--delsign (#2382, regression in 4.15.0)
- Copy original lead on signing instead of recreating (#1326, regression in 4.14.0)
- Issue a warning when signing created an OpenPGP v3 signature (#2286)
Transactions
- Fix install of block and character special files (#2195, #2275, regression in 4.18.0)
- Handle downgrade within V-R when epoch goes away (RhBug:1845069)
Package building
Spec
- Restore
BuildRequires check in rpmbuild -bp (regression in 4.15.0)
- Fix space handling in
%setup (#2335, regression in 4.18.0)
- Issue a deprecation warning on
%patchN syntax
Macros
- Don’t embed CPU count of build system in packages (#2343)
- Make CPU and thread-related macros available on all platforms (#2265)
- Fix macro scoping level on re-entry from
%[] expression (#2354)
- Split
___build_pre macro to make mocking rpm build environment easier
Buildroot policies
- Fix
xargs use in brp-remove-la-files on macOS (#2332, regression in 4.17.0)
Generators
- Disable
debuginfod server lookups in build and dependency generator scripts
- Exclude kernel modules from ELF dependency generation (regression in 4.17.0)
Signatures and keys
- Fix type confusion bugs in the internal OpenPGP implementation
Plugins
- Make
write() non-blocking in fapolicyd plugin (RhBug:2110787)
- Add a handler for libselinux log messages (RhBug:2123719, RhBug:2050774)
API changes
Internal improvements and cleanups
- Fix potential uninitialized variable use on public key import
- Fix various leaks during package build and install
- Fix
getopt() usage to comply with POSIX
Build process
- Generate Python egg-info from automake builds (#130, #2230)
- Revise
ISANAME for loongarch
Documentation
- Document
%_binary_payload and %_source_payload syntax in RPM package format manual
- Various typo and grammar fixes in reference manuals
- Minor
CONTRIBUTING.md updates
Compatibility notes
- The method of building the RPM Python bindings using
setup.py is now
deprecated. Distributions shipping RPM >= 4.18.1 and Python >= 3.12 are
recommended to move to the autotools-native way (using the --enable-python
configure option). This is due to the removal of distutils in Python 3.12
(see PEP 632 for details). While
setuptools ships its own copy of distutils, unlike the original
distutils, it generates egg-info data as directories, not files, which may
interfere with later RPM upgrades or downgrades and cause file conflicts. To
compensate for the loss of egg-info after moving from setup.py, a custom
egg-info file is now generated and installed during build with largely the
same content as its distutils counterpart.