Αναφορά αρχείου ρυθμίσεων

Το αρχείο ~/.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

A string specifying the prefix to install modules to. prefix must be an absolute path. This directory must be writable. Defaults to '~/jhbuild/install/'.

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

A string if set, tarballs will be downloaded to the specified directory instead of checkoutroot. This is useful if you have multiple JHBuild environments or regularly clear out checkoutroot and want to reduce bandwidth usage.

Defaults to '~/jhbuild/downloads'.
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 εάν εκτελούνται γραφικές δοκιμές.

conditions

A set of condition (strings) that can influence the modules that are built and the options that are used for building them. You should use conditions.add() and conditions.discard() to modify the list if you want to make changes.

The original set of conditions is determined on a per-OS basis and can be modified using the --conditions= commandline argument. The changes made by --conditions are visible at the time that jhbuildrc is sourced, so you can set other variables based on the current value of the set, but --conditions will be applied again after any changes made by jhbuildrc.

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 έχει κάνει τις αλλαγές του στο περιβάλλον.