Keluaran RPM 4.16

Selepas setahun pembangunan mengambil tempat keluaran pengurus pakej RPM 4.16.0. Projek RPM4 dibangunkan oleh Red Hat dan digunakan dalam pengedaran seperti RHEL (termasuk projek derivatif CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen dan ramai lagi. Pasukan pembangunan bebas sebelum ini dibangunkan projek RPM5, yang tidak berkaitan secara langsung dengan RPM4 dan kini ditinggalkan (tidak dikemas kini sejak 2010). Kod projek diedarkan oleh dilesenkan di bawah GPLv2 dan LGPLv2.

Paling ketara penambahbaikan dalam RPM 4.16:

  • Bahagian belakang baharu telah dilaksanakan untuk menyimpan pangkalan data dalam DBMS SQLite. Bahagian belakang ini akan digunakan dalam Fedora Linux 33 dan bukannya backend berasaskan BerkeleyDB.
  • Bahagian belakang percubaan baharu untuk menyimpan pangkalan data dalam BDB (Oracle Berkeley DB), beroperasi dalam mod baca sahaja, telah dilaksanakan. Pelaksanaannya ditulis dari awal dan tidak menggunakan kod daripada bahagian belakang BerkeleyDB yang lama, yang telah ditamatkan tetapi masih disertakan secara lalai.
  • Bahagian belakang pangkalan data berasaskan LMDB eksperimen telah dialih keluar.
  • Pangkalan data bahagian belakang berdasarkan storan NDB telah diisytiharkan stabil.
  • Menambah sokongan untuk makro dan ungkapan "%if". pengendali thenar (%{expr:1==0?"yes":"no"}) dan menawarkan ciri perbandingan versi terbina dalam ('%[v"3:1.2-1β€³ > v"2.0β€³]').
  • Sokongan untuk mengklasifikasikan fail berdasarkan jenis MIME kandungannya telah dilaksanakan.
  • Menambah keupayaan untuk menjana kebergantungan menggunakan makro parametrik.
  • Versi baharu API penghuraian dan perbandingan untuk C dan Python telah dicadangkan.
  • Keselarian pelaksanaan brp-strip dan komponen suite ujian dipastikan. Pengoptimuman penyejajaran proses penjanaan paket telah dijalankan.
  • Kepada utiliti rpmdb tambah pilihan β€œβ€”salvagedb” untuk memulihkan pangkalan data yang rosak (hanya berfungsi dengan bahagian belakang NDB).
  • Menambahkan makro baharu %arm32, %arm64 dan %riscv untuk pengesanan seni bina. Juga menambah makro %{macrobody:...} terbina dalam untuk mendapatkan kandungan makro.
  • Dilarang menggunakan perkataan yang tidak dipisahkan oleh tanda petikan dalam ungkapan, i.e. bukannya 'a == b' anda kini perlu menulis '"a" == "b"'.
  • Penghurai ungkapan melaksanakan sintaks β€œ%[...]” untuk melaksanakan ungkapan dengan pengembangan makro (ia berbeza daripada β€œ%{expr:...}” kerana makro dilaksanakan dahulu).
  • Sokongan tambahan untuk pengembangan singkat operator logik dan tenar dalam ungkapan ("%[0 && 1 / 0]" dianggap sebagai 0 dan bukannya menyebabkan ralat disebabkan percubaan membahagi dengan sifar).
  • Menambah sokongan untuk menggunakan operator NOT logik dalam konteks sewenang-wenangnya (!"%?foo").
  • Kelakuan pengendali "||". dan "&&" dibawa selaras dengan Perl/Python/Ruby, i.e. Daripada mengembalikan nilai boolean, ia kini mengembalikan nilai pengiraan terakhir (contohnya, "%[2 || 3]" akan mengembalikan 2).
  • Menambahkan keupayaan untuk mengesahkan format alternatif tandatangan digital dan cincang.
  • Sokongan tambahan untuk kebergantungan meta (Memerlukan(meta): somepkg), yang tidak menjejaskan susunan pemasangan dan pengalihan keluar.
  • Menambahkan pilihan "--rpmv3" pada rpmsign untuk memaksa penggunaan tandatangan digital dalam format RPM3.
  • Menambahkan pilihan pemasangan "--excludeartifacts" untuk melangkau pemasangan dokumentasi, contoh fail konfigurasi dan data lain yang berkaitan.
  • Sokongan yang ditamatkan untuk RPMv3 dan beecrypt dan bahagian belakang kripto NSS.
  • Menambah sokongan untuk DSA2 (gcrypt) dan EdDSA.

Sumber: opennet.ru

Tambah komen