Keluaran RPM 4.15

Selepas hampir dua tahun pembangunan mengambil tempat keluaran pengurus pakej RPM 4.15.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).

Paling ketara penambahbaikan dalam RPM 4.15:

  • Menambahkan sokongan percubaan untuk pemasangan yang tidak mempunyai hak istimewa dalam persekitaran chroot;
  • Dilaksanakan sokongan untuk penyelarasan pemasangan pakej pada sistem berbilang teras. Had bilangan utas ditetapkan melalui makro β€œ%_smp_build_ncpus” dan pembolehubah $RPM_BUILD_NCPUS. Untuk menentukan bilangan CPU, makro "%getncpus" dicadangkan;
  • Fail spec kini menyokong pengendali bersyarat "%elif" (lain jika), serta pilihan "%elifos" dan "%elifarch" untuk mengikat pengedaran dan seni bina;
  • Ditambah bahagian baharu "%patchlist" dan "%sourcelist", yang boleh digunakan untuk menambah patch dan sumber dengan hanya menyenaraikan nama tanpa menyatakan nombor kemasukan (contohnya, bukannya
    β€œPatch0: popt-1.16-pkgconfig.patch” dalam bahagian %patchlist anda boleh tentukan β€œpopt-1.16-pkgconfig.patch”);

  • Dalam rpmbuild tambah sokongan untuk perhimpunan dinamik kebergantungan dengan kemasukannya dalam src.rpm. Dalam fail spec, sokongan untuk bahagian "%generate_buildrequires" telah ditambahkan, kandungannya diproses sebagai senarai kebergantungan (BuildRequires), memerlukan pengesahan (jika kebergantungan tiada, ralat akan dipaparkan).
  • Dilaksanakan Pengendali "^" digunakan untuk menyemak versi yang lebih lama daripada tarikh tertentu, melakukan yang bertentangan dengan pengendali "~". Sebagai contoh,
    "1.1^20160101" akan meliputi versi 1.1 dan tampung ditambahkan selepas 1 Januari 2016;

  • Menambahkan pilihan "--scm" untuk mendayakan mod "%autosetup SCM";
  • Menambahkan makro terbina dalam "%{expr:...}" untuk menilai ungkapan arbitrari (beberapa hari lalu terdapat juga dicadangkan format "%[ expr ]");
  • Memastikan pengekodan lalai ialah UTF-8 untuk data rentetan dalam pengepala;
  • Menambahkan makro global %build_cflags, %build_cxxflags, %build_fflags dan %build_ldflags dengan bendera untuk pengkompil dan pemaut;
  • Menambahkan makro "%dnl" (Buang ke Baris Seterusnya) untuk memasukkan ulasan;
  • Bindings untuk Python 3 memastikan bahawa rentetan dikembalikan sebagai urutan UTF-8 yang terlepas daripada data bait;
  • Menambah bahagian belakang pangkalan data palsu untuk menambah baik sokongan untuk sistem tanpa rpmdb (cth Debian);
  • Pengesanan seni bina ARM dipertingkat dan sokongan tambahan untuk armv8;
  • Menyediakan sokongan lancar untuk Lua 5.2-5.3, yang tidak memerlukan definisi kompati dalam kod.

Sumber: opennet.ru

Tambah komen