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 сыяктуу дистрибуцияларда колдонулат, Тизен жана башкалар. Мурда көз карандысыз өнүктүрүү командасы иштелип чыккан долбоору RPM5RPM4 менен түздөн-түз байланышы жок жана учурда таштап кеткен (2010-жылдан бери жаңыртылган эмес). Долбоор коду жайылуу GPLv2 жана LGPLv2 боюнча лицензияланган.

Эң көрүнүктүү жакшыртуулар RPM 4.16да:

  • SQLite DBMSде маалымат базаларын сактоо үчүн жаңы сервер ишке киргизилди. Бул backend колдонулат Fedora Linux 33 ичинде BerkeleyDB негизиндеги сервердин ордуна.
  • Окуу үчүн гана режимде иштеген BDBде (Oracle Berkeley DB) маалымат базаларын сактоо үчүн жаңы эксперименталдык сервер ишке ашырылды. Ишке ашыруу нөлдөн баштап жазылган жана эскирген BerkeleyDB серверинин кодун колдонбойт, бирок демейки боюнча дагы эле камтылган.
  • Эксперименталдык LMDB негизиндеги маалымат базасы өчүрүлдү.
  • NDB сактагычына негизделген базалык база туруктуу деп жарыяланды.
  • "%if" макростору жана туюнтмалары үчүн колдоо кошулду тенар оператору (%{expr:1==0?"yes":"no"}) жана камтылган версияны салыштыруу мүмкүнчүлүгүн сунуштайт ('%[v"3:1.2-1″ > v"2.0″]').
  • Алардын мазмунунун MIME түрлөрү боюнча файлдарды классификациялоону колдоо ишке ашырылган.
  • Колдонуу менен көз карандылыкты түзүү мүмкүнчүлүгү кошулду параметрдик макростор.
  • C жана Python үчүн талдоо жана салыштыруу API жаңы версиясы сунушталды.
  • Брп-стриптин жана тесттик комплектинин компоненттерин аткаруунун параллелдешүүсү камсыз кылынган. Пакеттерди генерациялоо процессин параллелизациялоону оптималдаштыруу жүргүзүлдү.
  • rpmdb утилитасына кошулду бузулган маалымат базасын калыбына келтирүү үчүн "—salvagedb" опциясы (NDB серверинде гана иштейт).
  • Архитектураны аныктоо үчүн жаңы макрос %arm32, %arm64 жана %riscv кошулду. Ошондой эле макростордун мазмунун алуу үчүн орнотулган макро %{macrobody:...} кошулду.
  • Сөз айкаштарында тырмакча менен бөлүнбөгөн сөздөрдү колдонууга тыюу салынат, б.а. 'a == b' ордуна азыр '"a" == "b"' деп жазышыңыз керек.
  • Туунду талдоочу макро кеңейтүү менен туюнтманы аткаруу үчүн “%[...]” синтаксисин ишке ашырат (ал “%{expr:...}” менен айырмаланат, анткени макростар биринчи аткарылат).
  • Логикалык жана тенар операторлорун туюнтмалардагы кыскача кеңейтүү үчүн кошумча колдоо ("%[0 && 1 / 0]" нөлгө бөлүү аракетинен улам катаны пайда кылуунун ордуна 0 катары каралат).
  • Логикалык ЭМЕС операторду ыктыярдуу контексттерде колдонуу үчүн колдоо кошулду (!"%?foo").
  • "||" операторлорунун жүрүм-туруму жана "&&" Perl/Python/Ruby менен шайкеш келтирилет, б.а. Логикалык маанини кайтаруунун ордуна, ал эми акыркы эсептелген маанини кайтарат (мисалы, "%[2 || 3]" 2ни кайтарат).
  • Санариптик кол тамгалардын жана хэштердин альтернативдүү форматтарын текшерүү мүмкүнчүлүгү кошулду.
  • Орнотуу жана алып салуу тартибине таасирин тийгизбеген мета-көз карандылыктарды колдоо (талап(meta): somepkg).
  • RPM3 форматында санариптик кол тамгаларды колдонууга мажбурлоо үчүн rpmsign үчүн "--rpmv3" опциясы кошулду.
  • Документтерди, мисал конфигурация файлдарын жана башка тиешелүү маалыматтарды орнотууну өткөрүп жиберүү үчүн "--excludeartifacts" орнотуу опциясы кошулду.
  • RPMv3 жана beecrypt жана NSS криптографиялык серверлери үчүн эскирген колдоо.
  • DSA2 (gcrypt) жана EdDSA үчүн кошумча колдоо.

Source: opennet.ru

Комментарий кошуу