Released the new version of RPM 4.15, which is already included in the Fedora 31 beta

After almost two years of development, the launch of the new version from the package manager RPM 4.15.0. RPM Package Manager (or RPM, originally called Red Hat Package Manager, but became a recursive acronym) is a package management tool basically intended for GNU / Linux. It is capable of installing, updating, uninstalling, verifying and requesting programs.

The RPM4 project is developed by Red Hat and is used in distributions like RHEL (including projects derived from CentOS, Scientific Linux, Asia Linux, 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 SRPM) that contain the source code used to build a binary package.

These have an appropriate tag in the file header that distinguishes them from normal RPMs, causing them to be extracted to / usr / src on installation.

SRPMs usually have the file extension ".src.rpm" (.spm on file systems limited to 3 characters long, for example old DOS FATs).

RPM features include:

  • Packets can be encrypted and verified with GPG and MD5.
  • Source code files (eg .tar.gz, .tar.bz2) are included in SRPMs, allowing for later verification.
  • PatchRPMs and DeltaRPMs, which are equivalent to patch files, can incrementally update installed RPM packages.
  • Dependencies can be resolved automatically by the package manager.

What's new in RPM 4.15

In this new version of RPM 4.15 Rpmbuild adds support for dynamically building dependencies with its inclusion in src.rpm. Added support for the "% generate_buildrequires" section in the spec file, the content of which is treated as a list of dependencies (BuildRequires) requiring verification (if there is no dependency, an error will be displayed).

Another novelty in this release is that added experimental support for chroot-dependent operations without requiring root (by means of user name spaces) with which it is possible to perform compilations without privileges in chroot environments.

Moreover, Parallelization package set support has been implemented on multi-core systems. The limit on the number of threads is set through the macro "% _smp_build_ncpus" and the variable $ RPM_.

As well support for ARM architecture has been improved, plus support for armv8 has been added.

Another important change is adding a dummy database backend to help RPM to run on non-RPMDB systems like Debian.

Of the other changes that are highlighted in the ad:

  • Added "–scm" option to enable "% autosetup SCM" mode
  • Added built-in macro "% {expr:…}" to calculate arbitrary expressions (the format "% [expr]" was also proposed a few days ago)
  • UTF-8 encoding is used by default for string data in headers
  • Added global macros% build_cflags,% build_cxxflags,% build_fflags and% build_ldflags with flags for compiler and linker
  • Added the macro "% dnl" (Discard to the next line) to insert comments
  • Bindings for Python 3 provide string returns in the form of shielded UTF-8 sequences instead of byte data.
  • Continued support is provided for Lua 5.2-5.3, which does not require compatibility definitions in code.
  • Added a new section "% patchlist" and "% sourcelist", which can be used to add the patches and source code from a simple list of names without specifying the record numbers (for example, instead of "Patch0: - popt 1,16-pkgconfig.patch »patchlist section, you can specify%« popt-1.16-pkgconfig.patch »);

Finally, for those who are interested in testing the improvements of this new version of the package manager, they should know that the Fedora 31 beta is one of the first distros to implement this new version of RPM 4.15.

If you want to know more about it you can consult 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.