RPM 6.1 RC1 is now available for testing, offering an early look at the next update to the package manager used by many RPM-based Linux distributions such as Fedora, openSUSE, Mageia, and RHEL-based systems.
One visible transaction change is improved keystore locking. The keystore now uses a separate lock instead of the transaction lock, fixing a regression from RPM 6.0 where rpmdb queries could be blocked during package transactions.
RPM 6.1 also restores NSS-based user and group lookups by default after they were disabled in RPM 4.19. Users and groups can again be provided by the system runtime environment through NSS. This behavior can still be disabled manually with the %_passwd_path and %_group_path macros, while NSS lookups remain disabled for --root operations.
Another transaction-related change improves file descriptor handling. On systems running the Linux kernel 5.11 or newer with glibc 2.34 or newer, RPM closes file descriptors more efficiently, which, according to the devs, reduces installation time by about 26% in some cases.
The macro processor gains new functionality as well. RPM 6.1 adds support for literal and one-shot macros through a new modifier syntax set at macro definition time. The %define directive also gains the -e and -g options, allowing macro bodies to be expanded when defined and placed in the global context.
For package builds, RPM exports the build script environment to an rpmbuild.env file inside %{builddir}. The file can be sourced by shell tools, making it easier for external programs to reproduce or interact with the same build environment used by RPM.
Regarding error reporting, when binaries do not match a package’s target architecture, RPM now reports the actual filenames and file types. Missing patch or source files also produce build errors with line numbers again.
Signing and verification get several fixes. rpmsign can sign files with PKCS#11 tokens, while rpmkeys has been fixed so its exit code no longer wraps around and incorrectly returns success on failure. RPM 6.1 also corrects excessive or misleading output in several verification scenarios.
Last but not least, RPM 6.1 adds new manual pages for ELF dependencies, dependency generators, RPM design, scriptlets, and sysusers. The rpmbuild manual page includes a section on the build process, while the rpmkeys manual page documents verification policy.
For more details, see the release notes.
