Објавување на менаџер на пакети RPM 4.16

По една година развој се одржа ослободување на менаџерот на пакети RPM 4.16.0. Проектот RPM4 е развиен од Red Hat и се користи во такви дистрибуции како што се RHEL (вклучувајќи деривативни проекти CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Тизен и многу други. Претходно независен тим за развој развиена Проектот RPM 5, кој не е директно поврзан со RPM4 и моментално е напуштен (не е ажуриран од 2010 година). Код на проектот дистрибуирани од лиценцирани според GPLv2 и LGPLv2.

Најзабележителни подобрувања во вртежи во минута 4.16:

  • Имплементиран е нов бекенд за складирање на бази на податоци во SQLite DBMS. Овој бекенд ќе се користи во Fedora Linux 33 наместо заднина базирана на BerkeleyDB.
  • Имплементиран е нов експериментален заден дел за складирање на бази на податоци во BDB (Oracle Berkeley DB), кој работи во режим само за читање. Имплементацијата е напишана од нула и не користи код од наследниот заден дел на BerkeleyDB, кој е застарен, но сè уште е вклучен стандардно.
  • Експерименталната база на податоци заснована на LMDB е отстранета.
  • Позадинската база на податоци базирана на складиштето NDB е прогласена за стабилна.
  • Додадена е поддршка за макроа и изрази „%if“. тенар оператор (%{expr:1==0?"yes":"не"}) и нуди вградена функција за споредба на верзии ('%[v"3:1.2-1" > v"2.0"]').
  • Имплементирана е поддршка за класификација на датотеки врз основа на типовите MIME на нивната содржина.
  • Додадена е способност за генерирање на зависности користејќи параметарски макроа.
  • Предложена е нова верзија на API за парсирање и споредба за C и Python.
  • Обезбедена е паралелизација на извршувањето на компонентите на brp-лента и тест пакетот. Извршена е оптимизација на паралелизација на процесот на генерирање пакети.
  • До алатката rpmdb додадена опција „—salvagedb“ за враќање на оштетената база на податоци (работи само со NDB заднината).
  • Додадени се нови макроа %arm32, %arm64 и %riscv за откривање архитектура. Додадено е и вградено макро %{macrobody:...} за да се добие содржината на макроата.
  • Забрането е во изразите да се користат зборови кои не се одделени со наводници, т.е. наместо 'a == b' сега треба да напишете '"a" == "b"'.
  • Парсерот на изразите ја имплементира синтаксата „%[...]“ за извршување на израз со макро проширување (се разликува од „%{expr:...}“ по тоа што макроата се извршуваат прво).
  • Додадена е поддршка за кратко проширување на логички и тенарни оператори во изразите („%[0 && 1 / 0]“ се третира како 0 наместо да предизвикува грешка поради обид за делење со нула).
  • Додадена е поддршка за користење на NOT логичкиот оператор во произволни контексти (!"%?foo").
  • Однесување на операторите „||“. и „&&“ е усогласена со Perl/Python/Ruby, т.е. Наместо да врати булова вредност, сега ја враќа последната пресметана вредност (на пример, „%[2 || 3]“ ќе врати 2).
  • Додадена е можност за проверка на алтернативни формати на дигитални потписи и хашови.
  • Додадена е поддршка за мета-зависности (Бара(мета): somepkg), кои не влијаат на редоследот на инсталација и отстранување.
  • Додадена е опција „--rpmv3“ на rpmsign за да се присили употребата на дигитални потписи во RPM3 формат.
  • Додадена е опцијата за инсталација „--excludeartifacts“ за да се прескокне инсталацијата на документација, примери за конфигурациски датотеки и други поврзани податоци.
  • Застарена поддршка за RPMv3 и крипто-позадините на beecrypt и NSS.
  • Додадена е поддршка за DSA2 (gcrypt) и EdDSA.

Извор: opennet.ru

Додадете коментар