Κυκλοφορία RPM 4.15

Μετά από σχεδόν δύο χρόνια ανάπτυξης πραγματοποιήθηκε έκδοση διαχειριστή πακέτων RPM 4.15.0. Το έργο RPM4 αναπτύχθηκε από την Red Hat και χρησιμοποιείται σε διανομές όπως η RHEL (συμπεριλαμβανομένων των παράγωγων έργων του CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen και πολλών άλλων. Πρώην ανεξάρτητη ομάδα ανάπτυξης αναπτηγμένος σχέδιο RPM5, το οποίο δεν σχετίζεται άμεσα με το RPM4 και επί του παρόντος έχει εγκαταλειφθεί (δεν έχει ενημερωθεί από το 2010).

Το πιο αξιοσημείωτο βελτιώσεις σε RPM 4.15:

  • Προστέθηκε πειραματική υποστήριξη για μη προνομιακή συναρμολόγηση σε περιβάλλον chroot.
  • Εφαρμόστηκε υποστήριξη για παραλληλοποίηση της συναρμολόγησης πακέτων σε συστήματα πολλαπλών πυρήνων. Το όριο στον αριθμό των νημάτων ορίζεται μέσω της μακροεντολής "%_smp_build_ncpus" και της μεταβλητής $RPM_BUILD_NCPUS. Για τον προσδιορισμό του αριθμού των CPU, προτείνεται η μακροεντολή "%getncpus".
  • Τα αρχεία προδιαγραφών υποστηρίζουν πλέον τον τελεστή υπό όρους "%elif" (else if), καθώς και τις επιλογές "%elifos" και "%elifarch" για σύνδεση με τη διανομή και την αρχιτεκτονική.
  • Προστέθηκε νέες ενότητες "%patchlist" και "%sourcelist", οι οποίες μπορούν να χρησιμοποιηθούν για την προσθήκη ενημερώσεων κώδικα και πηγών με απλή λίστα ονομάτων χωρίς τον καθορισμό αριθμών καταχώρισης (για παράδειγμα, αντί για
    "Patch0: popt-1.16-pkgconfig.patch" στην ενότητα %patchlist μπορείτε να καθορίσετε "popt-1.16-pkgconfig.patch");

  • Σε rpmbuild προστέθηκε υποστήριξη για δυναμική συναρμολόγηση εξαρτήσεων με τη συμπερίληψή τους στο src.rpm. Στο αρχείο προδιαγραφών, έχει προστεθεί υποστήριξη για την ενότητα "%generate_buildrequires", τα περιεχόμενα της οποίας επεξεργάζονται ως λίστα εξαρτήσεων (BuildRequires), που απαιτεί επαλήθευση (εάν η εξάρτηση λείπει, θα εμφανιστεί ένα σφάλμα).
  • Εφαρμόστηκε Ο τελεστής "^" χρησιμοποιείται για να ελέγξει για εκδόσεις παλαιότερες από μια δεδομένη ημερομηνία, κάνοντας το αντίθετο από τον τελεστή "~". Για παράδειγμα,
    Το "1.1^20160101" θα καλύπτει την έκδοση 1.1 και τις ενημερώσεις κώδικα που προστέθηκαν μετά την 1η Ιανουαρίου 2016.

  • Προστέθηκε η επιλογή "--scm" για την ενεργοποίηση της λειτουργίας "%autosetup SCM".
  • Προστέθηκε ενσωματωμένη μακροεντολή "%{expr:...}" για την αξιολόγηση αυθαίρετων εκφράσεων (πριν από λίγες ημέρες υπήρχε επίσης προτείνεται μορφή "%[ expr ]");
  • Διασφαλίζει ότι η προεπιλεγμένη κωδικοποίηση είναι UTF-8 για δεδομένα συμβολοσειρών στις κεφαλίδες.
  • Προστέθηκαν καθολικές μακροεντολές %build_cflags, %build_cxxflags, %build_fflags και %build_ldflags με σημαίες για τον μεταγλωττιστή και τον σύνδεσμο.
  • Προστέθηκε μακροεντολή "%dnl" (Απόρριψη στην επόμενη γραμμή) για την εισαγωγή σχολίων.
  • Οι δεσμεύσεις για την Python 3 διασφαλίζουν ότι οι συμβολοσειρές επιστρέφονται ως ακολουθίες UTF-8 με διαφυγή αντί για δεδομένα byte.
  • Προστέθηκε εικονικό backend βάσης δεδομένων για τη βελτίωση της υποστήριξης για συστήματα χωρίς rpmdb (π.χ. Debian).
  • Βελτιωμένη ανίχνευση αρχιτεκτονικής ARM και πρόσθετη υποστήριξη για το armv8.
  • Παρέχει απρόσκοπτη υποστήριξη για το Lua 5.2-5.3, το οποίο δεν απαιτεί συμβατούς ορισμούς στον κώδικα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο