RPM 4.19 arrives with improvements in APIS, corrections and more

RPM

RPM Package Manager is a package management tool designed to install, update, uninstall, verify and request programs

The launch of the new version of the package manager "RPM 4.19" was announced, highlighting the improvements and corrections that have been made, as well as improvements in APIS, support, a new CMake compilation system, among other things further.

Currently the RPM4 project is developed by Red Hat and is used in distributions such as RHEL (including projects derived from CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen, and many others.

Previously, an independent development team developed the RPM5 project, which is not directly related to RPM4 and is currently abandoned (it has not been updated since 2010).

An RPM package can contain an arbitrary set of files. Most RPM files are "binary RPM" (or BRPM) that contain the compiled version of some software. There are also source RPMs (or SRPMs) that contain the source code used to build a binary package. SRPMs typically have the file extension “.src.rpm” (.spm on file systems limited to 3 characters in extension, e.g. old DOS FAT).

Main new features of RPM 4.19

In this new version of RPM 4.19 that is presented, one of its new features that stands out is that it was added support for “.specpart” files for dynamic generation of specification files, as well as «–generate-subpackages» added to find_lang.sh which uses .specpart.

Another change that stands out in this new version of RPM 4.19 is that ite provides integration with the sysusers.d system user account directory for automatic processing of users and groups, in addition to also adding support for generating users and groups from /etc/passwd, /etc/group and sysusers.d files included in the package.

Regarding the support improvements, it stands out that the x86-64 architecture levels () were added as architectures, in addition to the fact that fixed how x86 models are derived in rpmrc, A change has also been made to the CMake compilation system which replaces Autotools, as well as fakechroot was replaced with container technology.

We can also find that support for %preuntrans and %postuntrans scriptlets was added in the specifications files, the rpmsort utility was added to sort rpm package versions.

In addition to this, the options “–nopreuntrans”, “–nopostuntrans” and “–nosysusers” were added to disable scripts and create users and groups automatically during package installation.

Of the other changes that stand out from this new version:

  • Make user/group info work reliably in chroot
  • Make rpmscript machinery chroot-friendly
  • Fixed per-file plugin hook regression introduced in 4.18
  • Suppress the inhibit lock warning message when the DBus service is not available
  • Fix missing includes in macOS
  • The function related to the file classifierrpmfcNew() was declared obsolete
  • Fixed ignoring exit code of child scripts in case of EINTR
  • The rpmioe thread enablement code has been simplified and cleaned up.
  • The %files block and command line utility now support shell-style globbing and special character escaping.
  • Remove some other old and redundant configuration time checks
  • Split translations into a separate project
  • Defaults to C.UTF-8 locale, allows fallback to C
  • Libraries were exported as a cmake “find_package()” configuration
  • The rpmGlobPath(), rpmEscape(), and rpmUnescape() functions have been added to the API.
  • Assembly parallelization is now done taking memory and address space into account.
  • Added development documentation in creating documentation.
  • Various other additions and fixes
  • For projects using CMake, the find_package(rpm) function is provided.
  • Fixed a segmentation fault in a non-chainable argument for a macro call from Lua

Finally if you are interested in knowing more about it of this new version, you can check the details In the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.