RPM Package Manager és una eina d'administració de paquets pensada per instal·lar, actualitzar, desinstal·lar, verificar i sol·licitar programes
Es va donar a conèixer el llançament de la nova versió del gestor de paquets «RPM 4.19» es destaquen les millores i correccions que s'han realitzat, així com també les millores a APIS, de suport, un nou sistema de compilació CMake, entre altres coses més.
Actualment el projecte RPM4 és desenvolupat per Red Hat i s'utilitza en distribucions com a RHEL (Inclosos projectes derivats de CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen i molts altres.
Anteriorment, un equip de desenvolupament independent desenvolupar el projecte RPM5, que no està directament relacionat amb RPM4 i actualment està abandonat (no s'ha actualitzat des de 2010).
Un paquet RPM pot contenir un conjunt arbitrari d'arxius. La majoria de els arxius RPM són «binary RPM» (o BRPM) que contenen la versió compilada d'algun programari. També hi ha “source RPM” (o SRPM) que contenen el codi font utilitzat per construir un paquet binari. Els SRPM normalment porten l'extensió de fitxer ".src.rpm" (.spm en sistemes de fitxers limitats a 3 caràcters d'extensió, per exemple, DOS FAT antigues).
Principals novetats de RPM 4.19
En aquesta nova versió que es presenta de RPM 4.19, una de les novetats que es destaca és que es va afegir suport per a fitxers «.specpart» per a la generació dinàmica de fitxers d'especificacions, així com també «–generate-subpackages» s'afegeix a find_lang.sh que utilitza .specpart.
Un altre dels canvis que es destaca d'aquesta nova versió de RPM 4.19 és que se proporciona integració amb el directori de comptes d'usuaris del sistema sysusers.d per al processament automàtic d'usuaris i grups, a més que també es va afegir suport per generar usuaris i grups a partir dels fitxers /etc/passwd, /etc/group i sysusers.d inclosos al paquet.
Per la part de les millores de suport es destaquen que s'hi van afegir els nivells d'arquitectura x86-64 () com a arquitectures, a més que es va corregir com es deriven els models x86 en rpmrc, també s'ha realitzat un canvi en sistema de compilació CMake el qual reemplaça Autotools, així com també que es reemplaça fakechroot amb tecnologia de contenidors.
També podrem trobar que s'ha afegit suport per a scriptlets %preuntrans i %postuntrans als fitxers d'especificacions, s'ha afegit la utilitat rpmsort per ordenar les versions de paquets rpm.
A més, s'han afegit les opcions “nopreuntrans”, “nopostuntrans” i “nosysusers” per deshabilitar scripts i crear usuaris i grups automàticament durant la instal·lació del paquet.
Dels altres canvis que es destaquen d'aquesta nova versió:
- Fer que la informació d'usuari/grup funcioni de manera fiable en chroot
- Fer que la maquinària rpmscript sigui compatible amb chroot
- Es va corregir la regressió del ganxo del complement per arxiu introduïda a 4.18
- Suprimir el missatge d'advertiment de bloqueig d'inhibició quan el servei DBus no estigui disponible
- Reparar les inclusions que falten a macOS
- Es declara com obsoleta la funció relacionada amb el classificador de fitxersrpmfcNew()
- Es va corregir ignorar el codi de sortida dels scripts secundaris en cas d'EINTR
- Se simplifico i net el codi d'habilitació de subprocessos de rpmioe
- El bloc %files i la utilitat de línia d'ordres ara admeten el globbing estil shell i la fuita de caràcters especials.
- Elimineu algunes altres comprovacions de temps de configuració antigues i redundants
- Dividir les traduccions en un projecte separat
- Per defecte a la configuració regional C.UTF-8, permet el respatller a C
- Es van exportar les biblioteques com a configuració «find_package()» de cmake
- Les funcions rpmGlobPath(), rpmEscape() i rpmUnescape() s'han afegit a l'API.
- La paral·lelització de l'assemblatge ara es fa tenint en compte la memòria i l'espai d'adreces.
- S'hi va afegir documentació de desenvolupament en la creació de documentació.
- Diverses altres addicions i correccions
- Per a projectes que utilitzen CMake, es proporciona la funció find_package(rpm).
- Es va corregir un error de segmentació en un argument no encadenable per a una trucada de macro des de Lua
Finalment si estàs interessat en poder conèixer més a l'respecte d'aquesta nova versió, pots consultar els detalls en el següent enllaç.