Αναφορά αρχείου ρυθμίσεων
Το αρχείο ~/.config/jhbuildrc χρησιμοποιεί την τυπική σύνταξη Python. Το αρχείο εκτελείται και οι τελικές μεταβλητές που ορίστηκαν στον χώρο ονομάτων χρησιμοποιούνται για να ελέγξουν πώς δρα το JHBuild. Μια ομάδα προεπιλεγμένων τιμών εισάγεται στον χώρο ονομάτων πριν την εκτέλεση του αρχείου ρυθμίσεων του χρήστη.
Οι μεταβλητές ρύθμισης Μπουλ ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:
use_local_modulesets = True
Οι μεταβλητές ρύθμισης συμβολοσειράς ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:
autogenargs = '--disable-static --disable-gtk-doc'
Οι μεταβλητές ρύθμισης λίστας ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:
skip = ['mozilla', 'pulseaudio']
Οι μεταβλητές ρύθμισης λεξικού ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
6.1. Μεταβλητές ρύθμισης
- alwaysautogen
-
Μια τιμή Μπουλ αν οριστεί σε αληθή, εκτελεί πάντα μια autogen.sh. Αυτό είναι το ισοδύναμο με το πέρασμα της επιλογής --autogen στο JHBuild. Προεπιλογή το ψευδής.
- autogenargs
-
Μια συμβολοσειρά που περιέχει ορίσματα τα οποία περνούν στο σενάριο autogen.sh όλων των ενοτήτων. Μπορεί να αντικατασταθεί για συγκεκριμένες ενότητες χρησιμοποιώντας το λεξικό module_autogenargs.
- branches
-
Ένα λεξικό που καθορίζει ποιος κλάδος θα χρησιμοποιηθεί για συγκεκριμένες ενότητες. Αυτό είναι χρήσιμο αν κάνετε κάποιες αλλαγές σε έναν κλάδο ενότητας και θέλετε το JHBuild να δομήσει αυτόν τον κλάδο αντί για αυτόν που αναφέρεται στην ομάδα ενοτήτων.
Ο ορισμός των κλάδων εξαρτάται από την ενότητα VCS:
-
CVS: αναθεώρηση. Π.χ. 'BRANCH-PROJECT-0_8'
-
Bazaar: URI του κλάδου ενότητας. Π.χ. 'http://bzr.example.net/project/gnome-2-28'
-
Git: πλειάδα, με το πρώτο μέρος να είναι ένα προαιρετικό αποθετήριο (ή η τιμή κανένα) και το δεύτερο μέρος του ονόματος του κλάδου. Π.χ. ('git://git.example.net/project', 'gnome-2-28')
Παράδειγμα 2 Απλό παράδειγμαbranches['modulename'] = (None, 'branchname')
-
Subversion: URI του κλάδου της ενότητας Π.χ. 'svn://svn.example.net/project/gnome-2-28'
-
- builddir_pattern
-
Ένα μοτίβο μορφοποίησης τεχνοτροπίας printf που χρησιμοποιείται για να δημιουργήσει ονόματα καταλόγου δόμησης. Αυτό χρησιμοποιείται μόνο όταν χρησιμοποιείτε ξεχωριστή πηγή και δένδρα δόμησης. Το %s στη μορφή συμβολοσειράς θα αντικατασταθεί με checkoutdir. Προεπιλογή το '%s'.
- buildroot
-
Μια συμβολοσειρά που ορίζει τον γονικό κατάλογο για τοποθέτηση δένδρων δόμησης. Προεπιλογή το Κανένα, που προκαλεί την εκτέλεση δομήσεων στα πηγαία δένδρα.
- buildscript
-
Μια συμβολοσειρά που καθορίζει ποιο σενάριο δόμησης θα χρησιμοποιηθεί. Η συνιστώμενη ρύθμιση είναι η προεπιλογή, τερματικό. Ειδικά, μην ορίζετε σε gtk.
- build_policy
-
Μια συμβολοσειρά που ορίζει ποιες ενότητες θα δομηθούν. Οι τρεις δυνατές επιλογές είναι όλα, για τη δόμηση όλων των ζητούμενων ενοτήτων, ενημέρωση για τις ενότητες μόνο που έχουν αλλάξει, ή ενημέρωση εξαρτήσεων για δόμηση των ενοτήτων που έχουν αλλάξει ή που έχουν εξαρτήσεις που έχουν αλλάξει. Προεπιλογή το ενημέρωση εξαρτήσεων.
- checkoutroot
-
Μια συμβολοσειρά που καθορίζει τον φάκελο στον οποίο θα αποσυμπιεστούν τα πηγαία δένδρα. Εκτός κι αν είναι ορισμένη η buildroot, οι δομήσεις θα γίνονται σε αυτόν τον φάκελο επίσης. Η προεπιλογή είναι ~/checkout/gnome.
- checkout_mode
-
Μια συμβολοσειρά που ορίζει πώς θα εκτελείται ο έλεγχος εξόδου για καταλόγους στον έλεγχο έκδοσης. Προεπιλογή το ενημέρωση. Αυτό μπορεί να οριστεί ανά ενότητα χρησιμοποιώντας το module_checkout_mode. Δυνατές τιμές είναι ενημέρωση (ενημέρωση καταλόγου ελέγχου εξόδου), αντικατάσταση (διαγραφή καταλόγου πριν τον έλεγχο εξόδου των πηγών), εξαγωγή (διαγραφή καταλόγου, έπειτα δημιουργία ενός αντιγράφου χωρίς έκδοση των πηγών) και αντιγραφή (έλεγχος εξόδου σε έναν κατάλογο διαφορετικό από τον κατάλογο δόμησης).
- copy_dir
-
Μια συμβολοσειρά που καθορίζει τον κατάλογο αντιγραφής, αν το αντίγραφο είναι σε χρήση checkout_mode. Η προεπιλογή είναι ο κατάλογος αντιγράφου εργασίας.
- cvs_program
-
Μια συμβολοσειρά που ορίζει ποιο πρόγραμμα θα χρησιμοποιηθεί για υποστήριξη CVS. Αυτό μπορεί να είναι git-cvsimport, ή cvs. Προεπιλογή το cvs.
- dvcs_mirror_dir
-
Μια συμβολοσειρά που ορίζει έναν τοπικό κατάλογο κατοπτρισμού. Το JHBuild θα δημιουργήσει τοπικούς κατοπτρισμούς των αποθετηρίων στον συγκεκριμένο κατάλογο. Οι κατοπτρισμοί μπορούν να μεριστούν από πολλαπλές ομάδες αποθετηρίου, εξοικονομώντας χώρο και χρόνο επειδή θα χρησιμοποιηθούν σκληροί δεσμοί για τοπικούς κλώνους. Οι εντολές update and updateone θα δημιουργήσουν τους κατοπτρισμούς και θα προσκομίσουν νέες υποβολές από τα δικτυακά αποθετήρια. Αυτή η επιλογή υποστηρίζεται μόνο από τα αποθετήρια Git και Bazaar.
- help_website
-
Μια πλειάδα που ορίζει ένα όνομα ιστοτόπου βοήθειας και URL. Ο ιστότοπος εμφανίζεται στο tinderbox html για αποτυχημένες ενότητες. Το %(module)s στο URL θα αντικατασταθεί με το όνομα της ενότητας. Για απενεργοποίησή του, ορίστε το help_website σε None. Προεπιλογή το ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').
- installprog
-
Μια συμβολοσειρά που ορίζει ένα πρόγραμμα για χρήση ως αντικατάσταση του /usr/bin/install. Αν είναι διαθέσιμο, προεπιλογή είναι το περίβλημα install-check που παρέχεται από το JHBuild. Το περίβλημα install-check βελτιστοποιεί την εγκατάσταση κεφαλίδας για να μειώσει τον απαιτούμενο χρόνο για αναδομήσεις.
- ignore_suggests
-
Μια τιμή Μπουλ καθορίζει εάν θα αγνοηθούν απαλές εξαρτήσεις όταν υπολογίζει το δένδρο εξάρτησης. Η προεπιλογή είναι False.
- interact
-
Μια τιμή Μπουλ που ορίζει αν θα αλληλεπιδράσει με τον χρήστη. Ορίζοντας αυτήν την τιμή σε False είναι ισοδύναμο με το πέρασμα της επιλογής --no-interact. Προεπιλογή το True.
- makeargs
-
Μια συμβολοσειρά με επιπρόσθετα ορίσματα που θα περαστούν στο make. Το JHBuild θα προσαρτήσει αυτόματα την επιλογή της παράλληλης εκτέλεσης (-j) με βάση τους διαθέσιμους πυρήνες CPU. Η προεπιλογή είναι ''.
- makecheck
-
Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το make check μετά το make. Προεπιλογή το False.
- makecheck_advisory
-
Μια τιμή Μπουλ που ορίζει αν οι αποτυχίες κατά την εκτέλεση του make check πρέπει να είναι μόνο συμβουλευτικές και να μην προκαλούν αποτυχία δόμησης. Προεπιλογή το False.
- makeclean
-
Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το make clean πριν το make. Προεπιλογή το False.
- makedist
-
Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το make dist μετά το make. Προεπιλογή το False. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής --dist.
- makedistcheck
-
Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το make distcheck μετά το make. Προεπιλογή το False. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής --distcheck.
- module_autogenargs
-
Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε συμβολοσειρές ορίζοντας τα ορίσματα που περνάνε στο autogen.sh. Η ρύθμιση στο module_autogenargs χρησιμοποιείται αντί για την καθολική ρύθμιση autogenargs. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική autogenargs.
- module_checkout_mode
-
Ένα λεξικό που ορίζει ποια κατάσταση ελέγχου εξόδου θα χρησιμοποιηθεί για τις ενότητες. Αυτό υπερισχύει της καθολικής ρύθμισης checkout_mode.
- module_makeargs
-
Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε συμβολοσειρές ορίζοντας τα ορίσματα που περνάνε στο make. Η ρύθμιση στο module_makeargs αντικαθιστά την τιμή του makeargs. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική makeargs.
- module_makecheck
-
Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε τιμές Μπουλ ορίζοντας αν θα εκτελεστεί το make check μετά το make. Η ρύθμιση στο module_makecheck αντικαθιστά την τιμή του makecheck. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική makecheck.
- module_nopoison
-
Ένα λεξικό που αντιστοιχίζει τα ονόματα ενοτήτων σε τιμές Μπουλ. Αν μια ενότητα οριστεί σε αληθής, το JHBuild θα προσπαθήσει να δομήσει εξαρτημένες ενότητες ακόμα κι αν η συγκεκριμένη ενότητα αποτύχει. Η ρύθμιση στο module_nopoison αντικαθιστά την τιμή του nopoison. Αν η συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, μια καθολική nopoison θα χρησιμοποιηθεί.
- module_extra_env
-
Ένα λεξικό που αντιστοιχίζει τα ονόματα ενοτήτων σε λεξικά με τις πρόσθετες μεταβλητές περιβάλλοντος να περνούν όταν εκτελούνται εντολές για το άρθρωμα.
- modules
-
Μια λίστα συμβολοσειρών που καθορίζουν τις ενότητες που θα δομηθούν. Η λίστα ενοτήτων που πραγματικά θα δομηθούν θα επεκταθεί κυκλικά ώστε να συμπεριλαμβάνει όλες τις εξαρτήσεις, εκτός και αν χρησιμοποιηθεί η εντολή buildone. Η προεπιλογή είναι ['meta-gnome-desktop'].
- moduleset
-
Μια συμβολοσειρά ή λίστα συμβολοσειρών που καθορίζουν το όνομα ή ονόματα της ομάδας ή των ομάδων ενοτήτων που θα χρησιμοποιηθούν. Αυτά μπορεί να είναι είτε το όνομα μιας ομάδας ενοτήτων που περιλαμβάνεται με το JHBuild (χωρίς τη διαδρομή και την επέκταση αρχείου), είτε ένα πλήρες HTTP URL προς μια εξωτερικά διαχειριζόμενη ομάδα ενοτήτων. Οι ομάδες ενοτήτων HTTP URL αποθηκεύονται προσωρινά τοπικά. Αν μια ενότητα με το ίδιο όνομα υπάρχει σε περισσότερες από μία ομάδες ενοτήτων, η τελευταία ομάδα στη λίστα έχει την προτεραιότητα. Οι ομάδες ενοτήτων που παρέχονται με το JHBuild ενημερώνονται για να ταιριάζουν με την τρέχουσα έκδοση ανάπτυξης του GNOME.
- modulesets_dir
-
Μια συμβολοσειρά που ορίζει τον κατάλογο που περιέχει τα χρησιμοποιούμενες ομάδες ενοτήτων. Προεπιλογή ο κατάλογος modulesets/ στις πηγές JHBuild.
- nice_build
-
Εκτελεί δομήσεις με προτεραιότητα SCHED_IDLE στο Λίνουξ, nice σε άλλα Γιούνιξ. Αυτό μπορεί να βελτιώσει δραματικά την αλληλεπίδραση της επιφάνειας εργασίας για παράλληλες δομήσεις, ενώ έχει μόνο μια αμελητέα επίδραση στην απόδοση δόμησης.
- nobuild
-
Μια τιμή Μπουλ, αν οριστεί σε αληθή το JHBuild δεν θα δομήσει ενότητες, αλλά απλά θα μεταφορτώσει και θα αποσυμπιέσει τις πηγές. Η προεπιλεγμένη τιμή είναι ψευδής.
- nonetwork
-
Μια λογική τιμή που ορίζει αν θα προσπελάζετε το δίκτυο. Αυτό επηρεάζει τον έλεγχο εξόδου ή ενημέρωσης των ενοτήτων CVS, μεταφόρτωσης tarballs και ενημέρωσης ομάδων ενοτήτων. Η ρύθμιση αυτού σε αληθής είναι ισοδύναμη με το πέρασμα της επιλογής --no-network. Προεπιλογή το ψευδής.
- nonotify
-
Μια λογική τιμή που ορίζει αν θα εκπέμπονται ειδοποιήσεις χρησιμοποιώντας τον δαίμονα ειδοποιήσεων. Αν οριστεί σε ψευδής, οι ειδοποιήσεις εκπέμπονται. Προεπιλογή το αληθής.
- nopoison
-
Μια λογική τιμή, αν οριστεί σε αληθής το JHBuild προσπαθεί να δομήσει τις ενότητες ακόμα κι αν μία ή περισσότερες από τις εξαρτήσεις της ενότητας αποτύχει να δομήσει. Αυτή η επιλογή είναι ισοδύναμη με το όρισμα --no-poison. Η προεπιλεγμένη τιμή είναι ψευδής.
- notrayicon
-
Μια λογική τιμή που ορίζει αν θα εμφανίζεται ένα εικονίδιο στην περιοχή συστήματος χρησιμοποιώντας το Zenity. Αν οριστεί σε ψευδής, οι ειδοποιήσεις εκπέμπονται. Προεπιλογή το αληθής.
- noxvfb
-
Μια λογική τιμή, αν οριστεί σε αληθής το JHBuild θα εκτελέσει οποιεσδήποτε γραφικές δοκιμές στον πραγματικό εξυπηρετητή Χ, αντί να χρησιμοποιήσει το Xvfb. Αυτή η επιλογή είναι ισοδύναμη με το πέρασμα του --no-xvfb. Η προεπιλεγμένη τιμή είναι ψευδής
- partial_build
-
Μια λογική τιμή, αν οριστεί σε αληθή το JHBuild δεν θα δομήσει ενότητες εξάρτησης αν τα αντίστοιχα πακέτα του συστήματος είναι εγκατεστημένα και επαρκούς έκδοσης. Η προεπιλογή το αληθής.
- prefix
-
Μια συμβολοσειρά καθορίζει το πρόθεμα στο οποίο θα εγκατασταθούν οι ενότητες. Το πρόθεμα πρέπει να είναι απόλυτη διαδρομή. Αυτός ο κατάλογος πρέπει να είναι εγγράψιμος. Η προεπιλογή είναι '/opt/gnome'.
- pretty_print
-
Μια λογική τιμή που ορίζει αν θα η έξοδος της υποδιεργασίας θα εμφανιστεί σε επιμελημένη μορφή. Μόνο η έξοδος CVS υποστηρίζει επιμελημένη εκτύπωση. Απενεργοποιήστε αν η επιμελημένη εκτύπωση προκαλεί προβλήματα. Προεπιλογή σε αληθής.
- print_command_pattern
-
Μια εμφανιζόμενη συμβολοσειρά πριν το JHBuild να εκτελέσει μια εντολή. Το %(command)s στη συμβολοσειρά θα αντικατασταθεί με την σχετική εντολή εκτέλεσης. %(cwd)s στη συμβολοσειρά θα αντικατασταθεί με τον τρέχοντα κατάλογο εργασίας. Προεπιλογή το '%(command)s'.
- progress_bar
-
Μια λογική τιμή που ορίζει αν θα εμφανίζεται μια γραμμή προόδου κατά τη διάρκεια της σιωπηρής κατάστασης. Προεπιλογή το αληθής.
- quiet_mode
-
Μια λογική τιμή, αν οριστεί σε αληθή απενεργοποιεί την έξοδο των εκτελούμενων εντολών. Προεπιλογή το ψευδής.
- repos
-
Ένα λεξικό που ορίζει μια εναλλακτική τοποθεσία αποθετηρίου για ένα συγκεκριμένο αποθετήριο. Αυτή η μεταβλητή παραμετροποίησης είναι χρήσιμη σε έναν προγραμματιστή ενοτήτων. Από προεπιλογή, το JHBuild θα κατεβάσει τον κώδικα από αποθετήρια χρησιμοποιώντας μια ανώνυμη τοποθεσία αποθετηρίου. Τα κλειδιά του λεξικού είναι σύντομα ονόματα αποθετηρίων και οι τιμές τους είναι συμβολοσειρές εναλλακτικών τοποθεσιών αποθετηρίων. Για παράδειγμα:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
- skip
-
A list of modules to skip. This --skip command line option extends the list. This list is empty by default. If the list contains the special value '*', JHBuild will skip all modules not explicitly listed in the modules variable. This may be useful if you want to build modules without their implicit dependencies.
- sticky_date
-
Εάν οριστεί μια συμβολοσειρά και αν υποστηρίζεται από την υποκείμενη έκδοση του συστήματος ελέγχου, το JHBuild θα ενημερώσει το πηγαίο δένδρο στη καθορισμένη ημερομηνία πριν τη δόμηση. Απαιτείται μια μορφή ημερομηνίας ISO, π.χ. 'yyyy-mm-dd'. Προεπιλογή σε Καμία.
- svn_program
-
Μια συμβολοσειρά που ορίζει ποιο πρόγραμμα θα χρησιμοποιηθεί για υποστήριξη subversion. Αυτό μπορεί να είναι svn, git-svn ή bzr. Προεπιλογή το svn.
- tarballdir
-
Αν οριστεί μια συμβολοσειρά, τα tarballs θα μεταφορτωθούν στον καθορισμένο κατάλογο αντί για το checkoutroot. Αυτό είναι χρήσιμο αν έχετε πολλαπλά περιβάλλοντα JHBuild ή καθαρίσετε τακτικά το checkoutroot και θέλετε να μειώσετε τη χρήση πλάτους ζώνης.
- tinderbox_outputdir
-
Μια συμβολοσειρά που ορίζει τον κατάλογο αποθήκευσης της εξόδου jhbuild tinderbox. Αυτή η συμβολοσειρά μπορεί να αντικατασταθεί από την επιλογή --output. Προεπιλογή το Καμία, έτσι είτε η επιλογή γραμμής εντολών πρέπει να χρησιμοποιηθεί ή αυτή η μεταβλητή πρέπει να οριστεί στο αρχείο ρυθμίσεων.
- trycheckout
-
Μια λογική τιμή, αν οριστεί σε αληθή το JHBuild θα προσπαθήσει αυτόματα να επιλύσει τις αποτυχίες 1) εκτελώντας το autogen.sh ξανά και 2) ελέγχοντας την έξοδο μιας νεότερης έκδοσης μιας ενότητας από τον έλεγχο της έκδοσης. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής --try-checkout.
- use_lib64
-
Μια λογική τιμή που καθορίζει αν θα εγκατασταθούν βιβλιοθήκες στους καταλόγους lib64. Αν οριστεί, το --libdir=\${exec_prefix}/lib64 θα περαστεί στη διαμόρφωση. Προεπιλογή το αληθής αν τρέχει σε x86_64, ppc64 ή s390x σε Λίνουξ και ψευδής σε άλλα συστήματα.
- use_local_modulesets
-
Μια λογική τιμή που καθορίζει τη χρήση ομάδων ενοτήτων που ελέγχθηκαν μαζί με τον πηγαίο κώδικα του JHBuild· αντί για μεταφόρτωση τους απευθείας από το σύστημα ελέγχου έκδοσης του GNOME. Προεπιλογή το ψευδής.
- xvfbargs
-
Μια συμβολοσειρά που εμφανίζει τα ορίσματα που θα περαστούν στο Xvfb εάν εκτελούνται γραφικές δοκιμές.
6.2. Άλλες δομές αρχείου ρυθμίσεων
Πέρα από τις παραπάνω μεταβλητές, υπάρχουν άλλες ρυθμίσεις που μπορούν να οριστούν στο αρχείο ρυθμίσεων:
- os.environ
-
Ένα λεξικό που αναπαριστά το περιβάλλον. Αυτό το περιβάλλον περνιέται στις διεργασίες που το JHBuild γεννά.
Μερικές ισχυρές μεταβλητές περιβάλλοντος περιλαμβάνουν CPPFLAGS, CFLAGS, INSTALL και LDFLAGS. Για παράδειγμα:
os.environ['CFLAGS'] = '-O0 -g'
- addpath(envvar, pathname)
-
Αυτό θα προσθέσει έναν κατάλογο στη μεταβλητή περιβάλλοντος PATH. Η addpath θα χειριστεί σωστά την περίπτωση όταν η μεταβλητή περιβάλλοντος είναι αρχικά κενή (έχοντας μια αδέσποτη διπλή τελεία στην αρχή ή στο τέλος μιας μεταβλητής περιβάλλοντος μπορεί να έχει αναπάντεχες συνέπειες).
Η addpath χειρίζεται ειδικά τη μεταβλητή περιβάλλοντος ACLOCAL_FLAGS, που περιμένει λίστες διαδρομών στη μορφή -I όνομα διαδρομής.
- prependpath(envvar, pathname)
-
Μετά την επεξεργασία του αρχείου ρυθμίσεων, το JHBuild θα αλλάξει μερικές διαδρομές με βάση τις μεταβλητές όπως prefix (π.χ. προσθέτοντας $prefix/bin στην αρχή του PATH).
Η συνάρτηση prependpath δουλεύει όπως η addpath, εκτός από το ότι η μεταβλητή περιβάλλοντος τροποποιείται αφού το JHBuild έχει κάνει τις αλλαγές του στο περιβάλλον.