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.