ΧΡΗΣΗ μακροεντολών σε πακέτα rpm

Δημοσιεύτηκε στη λίστα αλληλογραφίας Fedora προσφορά για την τυποποίηση μακροεντολών σε αρχεία προδιαγραφών RPM, επιτρέποντάς σας να προσθέσετε στα πακέτα RPM τη δυνατότητα επιλογής σημαιών μεταγλώττισης και πρόσθετων εξαρτήσεων στο στάδιο της δημιουργίας.

Παράδειγμα χρήσης:

%if %{χρήση ssl}
BuildRequires: openssl-devel
%τέλος εαν

% προετοιμασία
%configure %{use_enable ssl openssl}

% επιταγή
πραγματοποίηση δοκιμής %{?_use_ssl:-DSSL}

Σε αυτό το παράδειγμα, κατά τον καθορισμό του USE macro ssl στο αρχείο προδιαγραφών, θα προστεθεί μια πρόσθετη εξάρτηση από το πακέτο openssl-devel, θα εκτελεστεί ένα βήμα διαμόρφωσης με ενεργοποιημένη την επιλογή --enable-openssl και οι αντίστοιχες δοκιμές θα γίνουν εκτελείται κατά τη διάρκεια της κατασκευής.

Υποτίθεται ότι η επιλογή κατασκευής θα καθοριστεί από τη δυαδική μακροεντολή %_use_ με επιπλέον περιτυλίγματα όπως:

  • %{χρήση } – παίρνει τιμές 0 ή 1,
  • %{use_enable [ [ ]]} – επεκτείνεται σε —απενεργοποίηση- ή --ενεργοποίηση- .

Η προσθήκη επιλογών αυτού του τύπου σε αρχεία προδιαγραφών θα σας επιτρέψει να μεταγλωττίσετε διαφορετικές εκδόσεις της διανομής από τις ίδιες πηγές.

Για παράδειγμα, για να ελαχιστοποιήσετε το δέντρο εξάρτησης έκδοσης, μπορείτε να χρησιμοποιήσετε την καθολική παράμετρο %{use docs}, η ​​οποία απενεργοποιεί τη δημιουργία τεκμηρίωσης.

Μπορείτε να ορίσετε το κατάλληλο σύνολο επιλογών διαμορφώνοντας το περιβάλλον κατασκευής. Επιπλέον, οι επιλογές μπορούν να ρυθμιστούν τόσο συνολικά όσο και με τον επαναπροσδιορισμό τους ξεχωριστά για κάθε πακέτο.

Η πρόταση δεν έχει γίνει ακόμη αποδεκτή και βρίσκεται υπό συζήτηση.

Πηγή: linux.org.ru

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