RPM 4.15-release

Na bijna twee jaar ontwikkeling vond plaats pakketbeheerder release TPM 4.15.0. Het RPM4-project is ontwikkeld door Red Hat en wordt gebruikt in distributies als RHEL (inclusief afgeleide projecten CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen en vele anderen. Voorheen onafhankelijk ontwikkelingsteam ontwikkeld project TPM5, dat niet direct verband houdt met RPM4 en momenteel wordt verlaten (niet bijgewerkt sinds 2010).

Meest opvallende verbeteringen bij toerental 4.15:

  • Experimentele ondersteuning toegevoegd voor ongeprivilegieerde assemblage in een chroot-omgeving;
  • Geïmplementeerd ondersteuning voor parallellisatie van pakketassemblage op multi-core systemen. De limiet voor het aantal threads wordt ingesteld via de macro “%_smp_build_ncpus” en de variabele $RPM_BUILD_NCPUS. Om het aantal CPU's te bepalen, wordt de macro “%getncpus” voorgesteld;
  • Spec-bestanden ondersteunen nu de voorwaardelijke operator “%elif” (else if), evenals de opties “%elifos” en “%elifarch” voor binding aan de distributie en architectuur;
  • Toegevoegd nieuwe secties "%patchlist" en "%sourcelist", die kunnen worden gebruikt om patches en bronnen toe te voegen door simpelweg namen op te sommen zonder invoernummers op te geven (bijvoorbeeld in plaats van
    “Patch0: popt-1.16-pkgconfig.patch” in de %patchlist sectie kunt u “popt-1.16-pkgconfig.patch” specificeren);

  • In rpmbuild toegevoegd ondersteuning voor dynamische samenstelling van afhankelijkheden met hun opname in src.rpm. In het spec-bestand is ondersteuning toegevoegd voor de sectie “%generate_buildrequires”, waarvan de inhoud wordt verwerkt als een lijst met afhankelijkheden (BuildRequires), waardoor verificatie vereist is (als de afhankelijkheid ontbreekt, wordt er een fout weergegeven).
  • Geïmplementeerd De operator "^" wordt gebruikt om te controleren op versies die ouder zijn dan een bepaalde datum, wat het tegenovergestelde doet van de operator "~". Bijvoorbeeld,
    "1.1^20160101" heeft betrekking op versie 1.1 en patches die na 1 januari 2016 zijn toegevoegd;

  • Optie "--scm" toegevoegd om de modus "%autosetup SCM" in te schakelen;
  • Ingebouwde macro "%{expr:...}" toegevoegd voor het evalueren van willekeurige expressies (een paar dagen geleden was er ook voorgesteld formaat "%[ expr ]");
  • Zorgt ervoor dat de standaardcodering UTF-8 is voor tekenreeksgegevens in headers;
  • Globale macro's %build_cflags, %build_cxxflags, %build_fflags en %build_ldflags toegevoegd met vlaggen voor de compiler en linker;
  • Macro “%dnl” (weggooien naar volgende regel) toegevoegd voor het invoegen van commentaar;
  • Bindingen voor Python 3 zorgen ervoor dat strings worden geretourneerd als ontsnapte UTF-8-reeksen in plaats van bytegegevens;
  • Dummy-database-backend toegevoegd om de ondersteuning voor systemen zonder rpmdb (bijv. Debian) te verbeteren;
  • Verbeterde ARM-architectuurdetectie en toegevoegde ondersteuning voor armv8;
  • Biedt naadloze ondersteuning voor Lua 5.2-5.3, waarvoor geen compatibele definities in de code vereist zijn.

Bron: opennet.ru

Voeg een reactie