Rilis RPM 4.15

Setelah hampir dua tahun pembangunan terjadi rilis manajer paket Rpm 4.15.0. Proyek RPM4 dikembangkan oleh Red Hat dan digunakan dalam distribusi seperti RHEL (termasuk proyek turunan CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen dan banyak lainnya. Tim pengembangan yang sebelumnya independen dikembangkan proyek RPM 5, yang tidak berhubungan langsung dengan RPM4 dan saat ini ditinggalkan (tidak diperbarui sejak 2010).

Paling menonjol perbaikan di RPM 4.15:

  • Menambahkan dukungan eksperimental untuk perakitan tanpa hak istimewa di lingkungan chroot;
  • Diimplementasikan dukungan untuk paralelisasi perakitan paket pada sistem multi-core. Batas jumlah thread diatur melalui makro “%_smp_build_ncpus” dan variabel $RPM_BUILD_NCPUS. Untuk menentukan jumlah CPU, makro “%getncpus” diusulkan;
  • File spesifikasi sekarang mendukung operator kondisional “%elif” (else if), serta opsi “%elifos” dan “%elifarch” untuk mengikat distribusi dan arsitektur;
  • Ditambahkan bagian baru "%patchlist" dan "%sourcelist", yang dapat digunakan untuk menambahkan patch dan sumber hanya dengan mencantumkan nama tanpa menentukan nomor entri (misalnya, alih-alih
    “Patch0: popt-1.16-pkgconfig.patch” di bagian %patchlist Anda dapat menentukan “popt-1.16-pkgconfig.patch”);

  • Di rpmbuild ditambahkan dukungan untuk perakitan dependensi dinamis dengan penyertaannya di src.rpm. Dalam file spesifikasi, dukungan untuk bagian “%generate_buildrequires” telah ditambahkan, yang isinya diproses sebagai daftar dependensi (BuildRequires), memerlukan verifikasi (jika dependensi hilang, kesalahan akan ditampilkan).
  • Diimplementasikan Operator "^" digunakan untuk memeriksa versi yang lebih lama dari tanggal tertentu, melakukan kebalikan dari operator "~". Misalnya,
    "1.1^20160101" akan mencakup versi 1.1 dan patch yang ditambahkan setelah 1 Januari 2016;

  • Menambahkan opsi "--scm" untuk mengaktifkan mode "%autosetup SCM";
  • Menambahkan makro bawaan "%{expr:...}" untuk mengevaluasi ekspresi arbitrer (beberapa hari yang lalu juga ada diajukan format "%[ expr ]");
  • Memastikan bahwa pengkodean default adalah UTF-8 untuk data string di header;
  • Menambahkan makro global %build_cflags, %build_cxxflags, %build_fflags, dan %build_ldflags dengan tanda untuk compiler dan linker;
  • Menambahkan makro “%dnl” (Buang ke Baris Berikutnya) untuk menyisipkan komentar;
  • Binding untuk Python 3 memastikan bahwa string dikembalikan sebagai urutan UTF-8 yang lolos, bukan data byte;
  • Menambahkan backend database dummy untuk meningkatkan dukungan untuk sistem tanpa rpmdb (misalnya Debian);
  • Peningkatan deteksi arsitektur ARM dan penambahan dukungan untuk armv8;
  • Memberikan dukungan tanpa batas untuk Lua 5.2-5.3, yang tidak memerlukan definisi kompatibilitas dalam kode.

Sumber: opennet.ru

Tambah komentar