<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!--*- mode: nxml -*-->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- process to HTML with: xmlto xhtml-nochunks -m ../custom.xsl index.docbook -->
<article id="index" lang="el">
  <articleinfo>
    <title>Εγχειρίδιο JHBuild</title>
    <authorgroup>
      <author role="maintainer"><firstname>James</firstname> <surname>Henstridge</surname></author>
      <author><firstname>C.J.</firstname> <surname>Adams-Collier</surname></author>
      <author><firstname>Frederic</firstname> <surname>Peters</surname></author>
      <author><firstname>David</firstname> <surname>Turner</surname></author>
    </authorgroup>
    <copyright><year>2004, 2008</year> <holder>James Henstridge</holder></copyright>
    <revhistory>
      <revision><revnumber>Εγχειρίδιο JHBuild v0.5</revnumber> <date>Ιανουάριος 2008</date></revision>
      <revision><revnumber>Εγχειρίδιο JHBuild v0.1</revnumber> <date>Αύγουστος 2007</date></revision>
    </revhistory>
    <abstract role="description">
      <para>Το JHBuild είναι ένα εργαλείο που χρησιμοποιείται για τη δόμηση ολόκληρης της επιφάνειας εργασίας του GNOME από το σύστημα ελέγχου εκδόσεων. Μπορεί επίσης να προσαρμοστεί ώστε να δομήσει και άλλα έργα.</para>
    </abstract>
  
    <othercredit class="translator">
      <personname>
        <firstname>Θάνος Τρυφωνίδης</firstname>
      </personname>
      <email>tomtryf@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2012</year>
      
      <holder>Θάνος Τρυφωνίδης</holder>
    </copyright>
  
    <othercredit class="translator">
      <personname>
        <firstname>Δημήτρης Σπίγγος</firstname>
      </personname>
      <email>dmtrs32@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2013</year>
      
      <holder>Δημήτρης Σπίγγος</holder>
    </copyright>
  </articleinfo>

  <section id="introduction">
    <title>Εισαγωγή</title>

    <para>Το JHBuild είναι ένα εργαλείο σχεδιασμένο ώστε να διευκολύνει τη δόμηση συλλογών από πακέτα, που ονομάζονται <quote>ενότητες</quote>. Το JHBuild χρησιμοποιεί αρχεία <quote>ομάδων ενοτήτων</quote> για να περιγράψει τις διαθέσιμα προς κτίσιμο ενότητες. Τα αρχεία <quote>ομάδων ενοτήτων</quote> περιέχουν πληροφορίες εξαρτήσεων που επιτρέπουν στο JHBuild να ανακαλύπτει ποιες ενότητες χρειάζεται να κτιστούν και με ποια σειρά.</para>

    <para>Το JHBuild αρχικά γράφτηκε για τη δόμηση του <ulink url="http://www.gnome.org">GNOME</ulink>, αλλά έχει έκτοτε επεκταθεί για να μπορεί να χρησιμοποιηθεί και με άλλα έργα. Ένα αρχείο <quote>ομάδας ενοτήτων</quote> μπορεί να φιλοξενείται σε έναν εξυπηρετητή διαδικτύου, επιτρέποντας κανόνες δόμησης ανεξάρτητα από το έργο JHBuild.</para>

    <para>Το JHBuild μπορεί να δομήσει ενότητες από μια ποικιλία από πηγές, που περιλαμβάνουν αποθετήρια <ulink url="http://www.cvshome.org/">CVS</ulink>, <ulink url="http://subversion.tigris.org/">Subversion</ulink>, <ulink url="http://www.bazaar-vcs.org/">Bazaar</ulink>, <ulink url="http://darcs.net/">Darcs</ulink>, <ulink url="http://git.or.cz/">Git</ulink> and <ulink url="http://www.selenic.com/mercurial/">Mercurial</ulink> καθώς και συμπιεσμένα αρχεία Tar και Zip που φιλοξενούνται σε εξυπηρετητές FTP. Το JHBuild μπορεί να δομήσει ενότητες χρησιμοποιώντας διάφορα συστήματα δόμησης, που περιλαμβάνουν τα Autotools, CMake, WAF, Python Distutils και Perl Makefiles.</para>

    <para>Το JHBuild δεν προτίθεται να αντικαταστήσει το σύστημα διαχείρισης πακέτων της διανομής. Αντί αυτού, διευκολύνει τη δόμηση λογισμικού σε μια ξεχωριστή εγκατάσταση, χωρίς να εμπλέκεται με το υπόλοιπο σύστημα.</para>
  </section>

  <section id="getting-started">
    <title>Ξεκινώντας</title>

    <para>Το JHBuild απαιτεί μερικές ρυθμίσεις προτού κτίσει λογισμικό. Έχει επίσης κάποιο προαπαιτούμενο λογισμικό, και είναι αναγκαίο να εγκατασταθούν τα προαπαιτούμενα αναγκαία εργαλεία για τη λήψη και το κτίσιμο των ενοτήτων λογισμικού.</para>

    <section id="getting-started-install">
      <title>Εγκαθιστώντας το JHBuild</title>

      <para>Το JHBuild απαιτεί έναν χρόνο εκτέλεσης Python. Επιβεβαιώστε ότι το Python &gt;= 2.3 είναι εγκατεστημένο.</para>

      <para>The recommended way to download JHBuild is via the version control
        system, <command>git</command>. This can be achieved with the following
        command. It is recommended to run the command from a new directory where
        all source code will be installed, for example,
        <filename>~/jhbuild/checkout</filename>.</para>

<screen><prompt>$</prompt> <userinput>git clone git://git.gnome.org/jhbuild</userinput>
<computeroutput>...</computeroutput>
<prompt>$</prompt></screen>

      <para>Αυτό θα κατεβάσει το JHBuild σε ένα νέο φάκελο που ονομάζεται <filename>jhbuild</filename> μέσα στον τρέχοντα φάκελο. Τώρα για να κτίσετε και να εγκαταστήσετε το JHBuild:</para>

<screen><prompt>$</prompt> <userinput>cd jhbuild</userinput>
<prompt>$</prompt> <userinput>./autogen.sh</userinput>
<computeroutput>...</computeroutput>
<prompt>$</prompt> <userinput>make</userinput>
<computeroutput>...</computeroutput>
<prompt>$</prompt> <userinput>make install</userinput>
<computeroutput>...</computeroutput>
<prompt>$</prompt></screen>

      <para>Αν τα <application>gnome-common</application>, <application>yelp-tools</application> και <application>autotools</application> είναι διαθέσιμα, το <filename>autogen.sh</filename> θα ρυθμίσει το JHBuild να εγκαταστήσει μέσα από <application>autotools</application>. Αν τα <application>gnome-common</application>, <application>yelp-tools</application> και <application>autotools</application> δεν είναι διαθέσιμα, το <filename>autogen.sh</filename> θα ρυθμίσει το JHBuild να εγκαταστήσει μέσα από ένα απλό Makefile. Για να χρησιμοποιείτε πάντα τη μέθοδο απλού Makefile περάστε <option>--simple-install</option> στο <filename>autogen.sh</filename>.</para>

      <para>Αν τα πιο πάνω βήματα ολοκληρωθούν επιτυχώς, ένα μικρό σενάριο εντολών κελύφους θα εγκατασταθεί στο <filename>~/.local/bin</filename> το οποίο θα εκκινεί το JHBuild. Προσθέστε το <filename>~/.local/bin</filename> στο <envar>PATH</envar>:</para>

<screen><prompt>$</prompt> <userinput>PATH=$PATH:~/.local/bin</userinput>
<prompt>$</prompt></screen>

      <para>Για να προσθέσετε μόνιμα το <filename>~/.local/bin</filename> στη μεταβλητή <envar>PATH</envar>, εκτελέστε την ακόλουθη εντολή:</para>

<screen>
<prompt>$</prompt> <userinput>echo 'PATH=$PATH:~/.local/bin' &gt;&gt; ~/.bashrc</userinput>
<prompt>$</prompt></screen>
    </section>

    <section id="getting-started-configure">
      <title>Παραμετροποίηση του JHBuild</title>

      <para>Το JHBuild μπορεί να ρυθμιστεί μέσα από ένα αρχείο ρυθμίσεων. Η προεπιλεγμένη θέση είναι <filename>~/.config/jhbuildrc</filename>. Αν δεν υπάρχει αρχείο ρυθμίσεων, χρησιμοποιούνται οι προεπιλογές. Το αρχείο ρυθμίσεων χρησιμοποιεί σύνταξη Python. Δίνεται ένα παράδειγμα, δείτε <filename>examples/sample.jhbuildrc</filename>. Αντιγράψτε το <filename>examples/sample.jhbuildrc</filename> στο <filename>~/.config/jhbuildrc</filename> και προσαρμόστε το όπως απαιτείται.</para>

      <para>The sample configuration will make JHBuild build the
        <application>meta-gnome-core</application> and
        <application>meta-gnome-apps-tested</application> modules and
        dependencies from the <systemitem>gnome-apps</systemitem> module set.
        JHBuild will unpack source trees to
        <filename>~/jhbuild/checkout/</filename> and install all files to
        subdirectories of <filename>~/jhbuild/install/</filename>. The two directories
        must be writable.</para>

      <para>Οι μεταβλητές παραμετροποίησης τεκμηριώνονται στο <xref linkend="config-reference"/>. Οι πιο κοινά χρησιμοποιούμενες μεταβλητές είναι:</para>

      <variablelist>
<?dbhtml list-presentation="table"?>
        <varlistentry>
          <term><link linkend="cfg-repos"><varname>repos</varname></link></term>
          <listitem>
            <simpara>Ένα λεξικό το οποίο μπορεί να χρησιμοποιηθεί για να οριστεί μια εναλλακτική τοποθεσία αποθετηρίου για ένα συγκεκριμένο αποθετήριο. Αυτή η μεταβλητή παραμετροποίησης είναι χρήσιμη σε έναν προγραμματιστή ενοτήτων. Από προεπιλογή, το JHBuild θα κατεβάσει τον κώδικα από αποθετήρια χρησιμοποιώντας μια ανώνυμη τοποθεσία αποθετηρίου. Τα κλειδιά του λεξικού είναι σύντομα ονόματα αποθετηρίων και οι αξίες τους είναι συμβολοσειρές εναλλακτικών τοποθεσιών αποθετηρίων. Για παράδειγμα:</simpara>

<programlisting>repos['git.gnome.org'] = 'ssh://<replaceable>όνομα χρήστη</replaceable>@git.gnome.org/git/'</programlisting>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-moduleset"><varname>moduleset</varname></link></term>
          <listitem>
            <simpara>Μια συμβολοσειρά ή λίστα συμβολοσειρών που καθορίζουν το όνομα ή ονόματα της ομάδας ή των ομάδων ενοτήτων που θα χρησιμοποιηθούν. Αυτά μπορεί να είναι είτε το όνομα μιας ομάδας ενοτήτων που περιλαμβάνεται με το JHBuild (χωρίς τη διαδρομή και την επέκταση αρχείου), είτε ένα πλήρες HTTP URL προς μια εξωτερικά διαχειριζόμενη ομάδα ενοτήτων. Οι ομάδες ενοτήτων HTTP URL αποθηκεύονται προσωρινά τοπικά. Αν μια ενότητα με το ίδιο όνομα υπάρχει σε περισσότερες από μία ομάδες ενοτήτων, η τελευταία ομάδα στη λίστα έχει την προτεραιότητα. Οι ομάδες ενοτήτων που παρέχονται με το JHBuild ενημερώνονται για να ταιριάζουν με την τρέχουσα έκδοση ανάπτυξης του GNOME.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-modules"><varname>modules</varname></link></term>
          <listitem>
            <simpara>Μια λίστα συμβολοσειρών που καθορίζουν τις ενότητες που θα δομηθούν. Η λίστα ενοτήτων που πραγματικά θα δομηθούν θα επεκταθεί κυκλικά ώστε να συμπεριλαμβάνει όλες τις εξαρτήσεις, εκτός και αν χρησιμοποιηθεί η εντολή <link linkend="command-reference-buildone"><command>buildone</command></link>. Η προεπιλογή είναι <literal>['meta-gnome-desktop']</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-checkoutroot"><varname>checkoutroot</varname></link></term>
          <listitem>
            <simpara>A string specifying the directory to unpack source trees
              to. Unless <link linkend="cfg-buildroot">
              <varname>buildroot</varname></link> is set, builds will occur in
              this directory too. Defaults to
              <filename>~/jhbuild/checkout</filename>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-prefix"><varname>prefix</varname></link></term>
          <listitem>
            <simpara>A string specifying the prefix to install modules to.
              <varname>prefix</varname> must be an absolute path. This directory
              must be writable. Defaults to <literal>'~/jhbuild/install/'</literal>.
            </simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-autogenargs"><varname>autogenargs</varname></link></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που περιέχει ορίσματα τα οποία περνούν στο σενάριο εντολών <command>autogen.sh</command> όλων των ενοτήτων. Μπορεί να παρακαμφθεί για συγκεκριμένες ενότητες χρησιμοποιώντας το λεξικό <link linkend="cfg-module-autogenargs"><varname>module_autogenargs</varname></link>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><link linkend="cfg-makeargs"><varname>makeargs</varname></link></term>
          <listitem>
            <simpara>Μια συμβολοσειρά με επιπρόσθετα ορίσματα που θα περαστούν στο <command>make</command>. Το JHBuild θα προσαρτήσει αυτόματα την επιλογή της παράλληλης εκτέλεσης (<option>-j</option>) με βάση τους διαθέσιμους πυρήνες CPU. Η προεπιλογή είναι <literal>''</literal>.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="getting-started-bootstrap">
      <title>Προαπαιτούμενα για τη δόμηση</title>

      <para>Προτού μπορούν να δομηθούν οποιεσδήποτε ενότητες, είναι αναγκαίο να είναι εγκατεστημένα κάποια εργαλεία δόμησης. Τα κοινά εργαλεία δόμησης περιλαμβάνουν τα GNU Autotools (<application>autoconf</application>, <application>automake</application>, <application>libtool</application> και <application>gettext</application>). Τα GNU Toolchain (<application>binutils</application>, <application>gcc</application>, <application>g++</application>), make, το pkg-config και την Python, ανάλογα με το ποιες ενότητες θα δομηθούν.</para>

      <para>Το JHBuild μπορεί να ελέγξει αν είναι εγκατεστημένα αυτά τα εργαλεία χρησιμοποιώντας την εντολή <command>sanitycheck</command>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild sanitycheck</userinput></screen>

      <para>Αν αυτή η εντολή εμφανίσει οποιοδήποτε μήνυμα, εγκαταστήστε παρακαλώ το απαιτούμενο πακέτο από το αποθετήριο της διανομής σας. Μια λίστα από <ulink url="http://live.gnome.org/JhbuildDependencies">ονόματα πακέτων</ulink> για διαφορετικές διανομές διατηρείται στο βίκι του GNOME. Εκτελέστε την εντολή <command>sanitycheck</command> ξανά μετά την εγκατάσταση των πακέτων της διανομής για να βεβαιωθείτε ότι τα απαιτούμενα εργαλεία είναι παρόντα.</para>
    </section>

    <section id="getting-started-use">
      <title>Χρησιμοποιώντας το JHBuild</title>

      <para>Αφού έχει ολοκληρωθεί η εγκατάσταση, το JHBuild θα μπορεί να χρησιμοποιηθεί για τη δόμηση λογισμικού. Για να δομήσετε όλες τις ενότητες που είναι επιλεγμένες στο αρχείο <filename>~/.config/jhbuildrc</filename>, εκτελέστε την ακόλουθη εντολή:</para>

<screen><prompt>$</prompt> <userinput>jhbuild build</userinput></screen>

      <para>Το JHBuild θα κατεβάσει, θα ρυθμίσει, θα μεταγλωττίσει και θα εγκαταστήσει κάθε μία από τις ενότητες. Αν συμβεί κάποιο σφάλμα σε οποιοδήποτε στάδιο, το JHBuild θα παρουσιάσει ένα μενού και θα σας ρωτήσει τι να κάνει. Οι επιλογές περιλαμβάνουν τη μετάβαση σε ένα κέλυφος για να διορθώσετε το σφάλμα, το τρέξιμο του κτισίματος ξανά από διάφορα στάδια, την παράλειψη μίας ενότητας, ή την παράληψη του σφάλματος και τη συνέχεια.</para>

      <note>
        <simpara>Η παράβλεψη μιας ενότητας θα οδηγήσει στην αποτυχία και όσων ενοτήτων εξαρτιούνται από αυτή.</simpara>
      </note>

      <para>Ακολουθεί ένα παράδειγμα του μενού που εμφανίζεται:</para>

<screen>  [1] Επανάληψη φάσης δόμησης
  [2] Παράβλεψη σφάλματος και συνέχεια εγκατάστασης
  [3] Παράβλεψη ενότητας
  [4] Εκκίνηση κελύφους
  [5] Επαναφόρτωση ρύθμισης
  [6] Μετάβαση στη φάση "απάλειψη φακέλου και εκκίνηση από την αρχή"
  [7] Μετάβαση στη φάση "ρύθμιση"
  [8] Μετάβαση στη φάση "καθαρισμός"
  [9] Μετάβαση στη φάση "distclean"
<prompt>choice:</prompt> </screen>

      <para>Είναι επίσης δυνατό το κτίσιμο μιας διαφορετικής ομάδας ενοτήτων και των εξαρτήσεων τους περνώντας τα ονόματα των ενοτήτων στην εντολή <command>build</command> command. Για παράδειγμα, για να κτίσετε το gtk+:</para>

<screen><prompt>$</prompt> <userinput>jhbuild build gtk+</userinput></screen>

      <para>Αν το JHBuild ακυρωθεί κατά τη διάρκεια ενός κτισίματος, είναι δυνατή η συνέχιση του κτισίματος από ένα συγκεκριμένο ενότητα με χρήση της επιλογής <option>--start-at</option>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild build --start-at=pango</userinput></screen>

      <para>Για να δομήσετε μία ή περισσότερες ενότητες, αγνοώντας τις εξαρτήσεις τους, το JHBuild παρέχει την εντολή <command>buildone</command>. Για να ολοκληρωθεί με επιτυχία η εντολή <command>buildone</command>, όλες οι εξαρτήσεις πρέπει να έχουν κτιστεί και εγκατασταθεί από πριν, ή να παρέχονται από πακέτα της διανομής.</para>

<screen><prompt>$</prompt> <userinput>jhbuild buildone gtk+</userinput></screen>

      <para>Όταν αναπτύσσεται ενεργά μια ενότητα, είσαστε πιθανόν σε έναν πηγαίο κατάλογο εργασίας. Η <command>make</command> θα καλέσει το σύστημα δόμησης και εγκατάστασης της ενότητας. Αυτό θα είναι ένα βασικό μέρος του κύκλου επεξεργασία-μεταγλώττιση-εγκατάσταση-δοκιμή.</para>

<screen><prompt>$</prompt> <userinput>jhbuild make</userinput></screen>

      <para>Αν το JHBuild ακυρωθεί κατά τη διάρκεια ενός κτισίματος, είναι δυνατή η συνέχιση του κτισίματος από ένα συγκεκριμένο ενότητα με χρήση της επιλογής <option>--start-at</option>:</para>

      <para>Για να λάβετε μια λίστα με τις ενότητες και τις εξαρτήσεις που θα κτίσει το JHBuild, και τη σειρά με την οποία θα κτιστούν, χρησιμοποιήστε την εντολή <command>list</command>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild list</userinput></screen>

      <para>Για να λάβετε πληροφορίες για μια συγκεκριμένη ενότητα, χρησιμοποιήστε την εντολή <command>info</command>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild info gtk+</userinput></screen>

      <para>Για να κατεβάσετε ή να ενημερώσετε όλες τις πηγές λογισμικού χωρίς να κτίσετε, χρησιμοποιήστε την εντολή <command>update</command>. Η εντολή <command>update</command> παρέχει την ευκαιρία να τροποποιήσετε τις πηγές πριν το κτίσιμο και μπορεί να είναι χρήσιμη αν ποικίλει το εύρος ζώνης της σύνδεσής σας στο διαδίκτυο.</para>

<screen><prompt>$</prompt> <userinput>jhbuild update</userinput></screen>

      <para>Αργότερα, το JHBuild θα μπορεί να κτίσει τα πάντα χωρίς να κατεβάσει ή να ενημερώσει τις πηγές:</para>

<screen><prompt>$</prompt> <userinput>jhbuild build --no-network</userinput></screen>

      <para>Για την εκτέλεση μιας συγκεκριμένης εντολής με το ίδιο χρησιμοποιούμενο περιβάλλον από το JHBuild, χρησιμοποιήστε την εντολή <command>run</command>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild run <replaceable>program</replaceable></userinput></screen>

      <para>Για την έναρξη ενός κελύφους με το ίδιο χρησιμοποιούμενο περιβάλλον από το JHBuild, χρησιμοποιήστε την εντολή <command>shell</command>:</para>

<screen><prompt>$</prompt> <userinput>jhbuild shell</userinput></screen>
    </section>
  </section>

  <section id="jhbuild-and-gnome">
    <title>JHBuild και GNOME</title>

    <para>Αυτή η ενότητα παρέχει οδηγίες για τη κατασκευή, εγκατάσταση και εκτέλεση του GNOME.</para>

    <section id="building-gnome">
      <title>Δομώντας το GNOME</title>

      <para>Για τη δόμηση του GNOME απαιτούνται μερικά πακέτα ανάπτυξης. Αυτό περιλαμβάνει:</para>

      <itemizedlist>
        <listitem>
          <simpara>Το DocBook XML DTD και φύλλα τεχνοτροπίας XSLT. Αυτά χρειάζεται να καταχωριστούν στον κατάλογο XML (<filename>/etc/xml/catalog</filename>).</simpara>
        </listitem>
        <listitem>
          <simpara>Βιβλιοθήκες X</simpara>
        </listitem>
        <listitem>
          <simpara>Το <filename>libsmbclient</filename> από το Samba (χρησιμοποιείται για περιήγηση δικτύων Windows).</simpara>
        </listitem>
        <listitem>
          <simpara>Το <filename>libbz2</filename> από bzip2.</simpara>
        </listitem>
        <listitem>
          <simpara>Τα <filename>libpng</filename>, <filename>libjpeg</filename> και <filename>libtiff</filename> (που χρησιμοποιούνται για τη φόρτωση εικόνας).</simpara>
        </listitem>
      </itemizedlist>

      <para>Εάν εγκαταστήσετε τα πακέτα διανομής -και είναι δυνατό για τη διανομή σας-, εγκαταστήστε τα αντίστοιχα πακέτα <quote>dev</quote> ή <quote>devel</quote>. Μια λίστα των <ulink url="http://live.gnome.org/JhbuildDependencies">ονομάτων πακέτων</ulink> για διαφορετικές διανομές συντηρείται στο βίκι GNOME.</para>
    </section>

    <section id="running-single-application">
      <title>Εκτέλεση μιας μοναδικής εφαρμογής GNOME</title>

      <para>Αυτή η ενότητα δίνει λεπτομέρειες για την εκτέλεση μιας μοναδικής εφαρμογής GNOME. Η εφαρμογή θα τρέξει μέσα στο τρέχον περιβάλλον της επιφάνειας εργασίας. Για να τρέξετε την εφαρμογή στο πλήρες JHBuild GNOME δείτε <xref linkend="running-gnome"/>.</para>

      <para>Ξεκινήστε ένα κέλυφος JHBuild. Το κέλυφος JHBuild έχει ορίσει όλες τις απαραίτητες μεταβλητές περιβάλλοντος.</para>

<screen><prompt>$ </prompt><userinput>jhbuild shell</userinput></screen>

      <para>Επιβεβαιώστε ότι θα εκτελεστεί η σωστή εφαρμογή. Για παράδειγμα:</para>

<screen><prompt>$ </prompt><userinput>which gedit</userinput>
/home/wanda/jhbuild/install/bin/gedit</screen>

      <para>Εκτέλεση της εφαρμογής:</para>

<screen><prompt>$ </prompt><userinput>gedit &amp;</userinput></screen>

      <para>Για να λάβετε πληροφορίες για μια συγκεκριμένη ενότητα, χρησιμοποιήστε την εντολή <command>info</command>:</para>

<screen><prompt>$ </prompt><userinput>jhbuild run gedit</userinput></screen>
    </section>

    <section id="running-gnome">
      <title>Τρέχοντας το περιβάλλον επιφάνειας εργασίας GNOME</title>

      <para>Δημιουργήστε έναν νέο λογαριασμό χρήστη για εκτέλεση του JHBuild GNOME. Η εκτέλεση του JHBuild GNOME χρησιμοποιώντας διαφορετικό λογαριασμό χρήστη συνιστάται για αποφυγή προβλημάτων που προκαλούνται από αποθηκευμένες ρυθμίσεις χρήστη στον προσωπικό κατάλογο. Αυτό το εγχειρίδιο αναφέρεται στον νέο λογαριασμό ως <systemitem class="username">gnomedev</systemitem>.</para>

      <para>Εγκατάσταση του JHBuild στον νέο λογαριασμό <systemitem class="username">gnomedev</systemitem>. Αντιγραφή ή συμβολικοός δεσμός των <filename>~/.config/jhbuildrc</filename> και <filename>~/.local/bin/jhbuild</filename> στον προσωπικό κατάλογο <systemitem class="username">gnomedev</systemitem>.</para>

      <para>Ανοίξτε ένα τερματικό ως ο χρήστης <systemitem class="username">gnomedev</systemitem>. Για να προσθέσετε μόνιμα το <filename>~/.local/bin</filename> στη μεταβλητή <envar>PATH</envar>, εκτελέστε την ακόλουθη εντολή:</para>

<screen><prompt>$</prompt> <userinput>echo 'PATH=$PATH:~/.local/bin' &gt;&gt; ~/.bashrc</userinput></screen>

      <para>Δοκιμή εργασίας του JHBuild:</para>

<screen><prompt>$</prompt> <userinput>jhbuild run pkg-config gtk+-2.0 --modversion</userinput>
2.20.1</screen>

      <section>
        <title>Ρύθμιση του GNOME για εκτέλεση από τον διαχειριστή εμφάνισης</title>

        <para>Δόμηση και εγκατάσταση του JHBuild GNOME.</para>

        <para>Enable system services. JHBuild GNOME will use the
          <filename>/usr/bin</filename> system <application>D-Bus</application>
          daemon and the system services within
          <filename>/usr/share/dbus-1/system-services/</filename>. JHBuild GNOME
          will use the JHBuild session <application>D-Bus</application> daemon
          and the services within
          <filename><replaceable>~/jhbuild/install/</replaceable>/share/dbus-1/services/</filename>.
          Replace <filename>~/jhbuild/install</filename> with GNOME install
          <varname>prefix</varname> in the command below:</para>

<screen><prompt>$ </prompt><userinput>rm -rf <replaceable>~/jhbuild/install</replaceable>/var/run/dbus</userinput>
<prompt>$ </prompt><userinput>ln -s /var/run/dbus <replaceable>~/jhbuild/install</replaceable>/var/run/dbus</userinput>
<prompt>$ </prompt><userinput>rm -rf <replaceable>~/jhbuild/install</replaceable>/var/lib/dbus/machine-id</userinput>
<prompt>$ </prompt><userinput>ln -s /var/lib/dbus/machine-id <replaceable>~/jhbuild/install</replaceable>/var/lib/dbus/machine-id</userinput></screen>

        <para>Create a GNOME startup script at
          <filename>/usr/bin/gnome-jhbuild-session</filename> with the
          following, replacing <filename>~/jhbuild/install</filename> with GNOME
          install <varname>prefix</varname>:</para>

<programlisting>#!/bin/sh

GNOME=<replaceable>~/jhbuild/install</replaceable>
 
GDK_USE_XFT=1
XDG_DATA_DIRS=$XDG_DATA_DIRS:$GNOME/share
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:$GNOME/etc/xdg

jhbuild run gnome-session
</programlisting>

        <para>Κάντε το αρχείο <filename>/usr/bin/gnome-jhbuild-session</filename> εκτελέσιμο:</para>

<screen><prompt>$ </prompt><userinput>chmod a+x /usr/bin/gnome-jhbuild-session</userinput></screen>

        <para>Για να προσθέσετε μια νέα καταχώριση συνεδρίας στον διαχειριστή εμφάνισης, δημιουργήστε το <filename>/usr/share/xsessions/gnome-jhbuild.desktop</filename> και εισάγετε:</para>

<programlisting>[Desktop Entry]
Name=GNOME (JHBuild)
Comment=This session logs you into GNOME testing session
TryExec=/usr/bin/gnome-jhbuild-session
Exec=/usr/bin/gnome-jhbuild-session
Icon=
Type=Application</programlisting>

        <para>Επανεκκίνηση του <command>gdm</command>.</para>

        <para/>
      </section>

      <section>
        <title>Εκτέλεση του GNOME από τον διαχειριστή εμφάνισης</title>

        <para>Για να τρέξετε το JHBuild GNOME, επιλέξτε τη συνεδρία GNOME (JHBuild) στον διαχειριστή εμφάνισης πριν την είσοδο των διαπιστευτηρίων σύνδεσης του <systemitem class="username">gnomedev</systemitem>. Αν είναι πετυχημένο, το JHBuild GNOME θα εμφανιστεί. Εάν είναι αποτυχημένο, σημειώστε το αρχείο καταγραφής. Το αρχείο καταγραφής θα εντοπιστεί στο <filename>~gnomedev/.cache/gdm/session.log</filename> ή στο <filename>~gnomedev/.xsession-errors</filename>.</para>
      </section>
    </section>
  </section>

  <section id="buildbot-integration">
    <title>Ενσωμάτωση στο Buildbot</title>

    <para>Συνδυασμένο με το έργο <ulink url="http://buildbot.net">Buildbot</ulink>, το JHBuild μπορεί επίσης να λειτουργήσει ως ένα συνεχές εργαλείο ενσωμάτωσης. Η ρύθμιση Buildbot χρησιμοποιείται από το έργο GNOME στο <ulink url="http://build.gnome.org">build.gnome.org</ulink>.</para>

    <section id="buildbot-slave">
      <title>Ρύθμιση ενός υποτελούς Buildbot</title>

      <para>Ένα υποτελές Buildbot είναι μια παραλλαγή μιας κανονικής εγκατάστασης του JHBuild που εξυπηρετεί τα αιτήματα του κύριου Buildbot. Συνιστάται η ρύθμιση του JHBuild και η ολοκλήρωση μιας δόμησης με τις περισσότερες ενότητες δόμησης με επιτυχία, πριν την προσθήκη των προσαρμογών του Buildbot.</para>

      <para>Οι εντολές του Buildbot είναι επιλογές στην εντολή <command>bot</command>. Για την λήψη και εγκατάσταση του πρόσθετου απαιτούμενου λογισμικού, εκτελέστε την παρακάτω εντολή:</para>

<screen><prompt>$</prompt> <userinput>jhbuild bot --setup</userinput></screen>

      <para>Μόλις ολοκληρωθεί αυτό το βήμα με επιτυχία, απαιτούνται τρεις νέες μεταβλητές διαμόρφωσης στο <filename>~/.config/jhbuildrc</filename>.</para>

      <note>
        <para>Δεν είναι δυνατό να χρησιμοποιήσετε ένα εναλλακτικό αρχείο ρυθμίσεων, το <link linkend="option-file"><option>--file</option></link> δεν θα δώσει τα επιθυμητά αποτελέσματα.</para>
      </note>

<programlisting>
jhbuildbot_master = 'build.gnome.org:9070'
jhbuildbot_slavename = 'slavename'
jhbuildbot_password = 'password'
</programlisting>

      <para>Το <varname>jhbuildbot_master</varname> είναι μια συμβολοσειρά που ορίζει τον εξυπηρετητή του κύριου Buildbot· η προεπιλογή είναι για <literal>'build.gnome.org:9070'</literal>. <varname>jhbuildbot_slavename</varname> και <varname>jhbuildbot_password</varname> ταυτοποίηση του υποτελούς στον κύριο εξυπηρετητή. Επικοινωνήστε με τους διαχειριστές του κύριου Buildbot για να πάρετε το όνομα του υποτελούς και τον κωδικό.</para>

      <note>
        <para>Μπορείτε να επικοινωνήσετε με τους διαχειριστές του <ulink url="http://build.gnome.org">build.gnome.org</ulink> στο <ulink url="mailto:build-brigade-list@gnome.org">Build Brigade mailing list</ulink>.</para>
      </note>
    </section>

<!-- TODO: configuring a buildbot master
    <section id="buildbot-master">
      <title>Configuring a Buildbot Master</title>
    </section>
    -->
  </section>

  <section id="command-reference">
    <title>Αναφορά εντολής</title>

    <para>Το JHBuild χρησιμοποιεί μια γραμμή εντολών με σύνταξη παρόμοια με εργαλεία όπως CVS:</para>

    <cmdsynopsis><command>jhbuild</command> <arg><replaceable>global-options</replaceable></arg> <arg choice="plain"><replaceable>command</replaceable></arg> <arg><replaceable>command-arguments</replaceable></arg></cmdsynopsis>

    <para>Οι καθολικές επιλογές του JHBuild είναι:</para>

    <variablelist>
      <varlistentry id="option-file">
        <term><option>-f</option>, <option>--file</option> <replaceable>config</replaceable></term>
        <listitem>
          <simpara>Χρησιμοποιήστε ένα εναλλακτικό αρχείο ρυθμίσεων αντί για το προεπιλεγμένο <filename>~/.config/jhbuildrc</filename>.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>-m</option>, <option>--moduleset</option> <replaceable>moduleset</replaceable></term>
        <listitem>
          <simpara>Χρησιμοποιήστε μια ομάδα ενοτήτων άλλη από την ομάδα ενοτήτων που καταχωρίζεται στο αρχείο ρυθμίσεων. Αυτή η επιλογή μπορεί να είναι μια σχετική διαδρομή αν η ομάδα ενοτήτων είναι τοποθετημένο στον φάκελο ομάδας ενοτήτων, ή σε μια απόλυτη διαδρομή αν είναι τοποθετημένο αλλού.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--no-interact</option></term>
        <listitem>
          <simpara>Να μην ζητάτε από τον χρήστη καμία καταχώριση. Αυτή η επιλογή είναι χρήσιμη εάν αφήνετε μια αφύλακτη δόμηση, για να βεβαιωθείτε ότι η δόμηση δεν διακόπηκε.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>--conditions</option>
        </term>
        <listitem>
          <simpara>Modify the condition flags to be different than those determined on the basis of the OS and
            those specified in jhbuildrc.  Modifications are specified like <literal>-wayland</literal> or
            <literal>+docs</literal> in order to remove or add conditions.  Multiple modifications can be
            separated by a comma like <command>--conditions=+docs,-wayland</command> or you can split them
            across multiple <command>--conditions</command> arguments.</simpara>
        </listitem>
      </varlistentry>
    </variablelist>

    <para>Οι ειδικές επιλογές εντολής καταχωρίζονται παρακάτω.</para>

    <section id="command-reference-autobuild">
      <title>αυτόματη δόμηση</title>

      <para>Η εντολή <command>autobuild</command> δομεί αυτόματα τις ενότητες όπως ορίζονται στο αρχείο ρυθμίσεων και έπειτα ανεβάζει τα αποτελέσματα στο JhAutobuild.</para>

      <cmdsynopsis><command>jhbuild autobuild</command> <arg>--autogen</arg> <arg>--clean</arg> <arg>--distcheck</arg> <arg rep="repeat">--skip=<replaceable>module</replaceable></arg> <arg>--start-at=<replaceable>module</replaceable></arg> <arg>--report-url=<replaceable>reporturl</replaceable></arg> <arg>--verbose</arg></cmdsynopsis>

      <para>Οι επιλογές <option>--autogen</option>, <option>--clean</option>, <option>--distcheck</option>, <option>--skip</option> και <option>--start-at</option> επεξεργάζονται ανά εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>

      <variablelist>
        <varlistentry>
          <term><option>--report-url=<replaceable>reporturl</replaceable></option>, <option>-r <replaceable>reporturl</replaceable></option></term>
          <listitem>
            <simpara>Αυτή η επιλογή καθορίζει το URL υου JhAutobuild για αναφορά.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--verbose</option>, <option>-v</option></term>
          <listitem>
            <simpara>Αν οριστεί, η έξοδος του JHBuild θα είναι πιο αναλυτική.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-bootstrap">
      <title>εκκινητής</title>

      <para>Η εντολή <command>bootstrap</command> εγκαθιστά μια ομάδα βοηθημάτων δόμησης. Τα βοηθήματα δόμησης περιλαμβάνουν <application>autoconf</application>, <application>automake</application> και παρόμοια βοηθήματα. Η συνιστώμενη μέθοδος εγκατάστασης των βοηθημάτων δόμησης είναι μέσα από το σύστημα διαχείρισης πακέτων της διανομής σας. Το <command>bootstrap</command> πρέπει να χρησιμοποιηθεί μόνο αν οι βοηθήματα δόμησης δεν παρέχονται από το σύστημα διαχείρισης πακέτων της διανομής σας, για παράδειγμα στο <systemitem class="osname">Mac OS</systemitem>.</para>

      <cmdsynopsis><command>jhbuild bootstrap</command></cmdsynopsis>

      <para>Η εντολή <command>bootstrap</command> δομεί ενότητες χρησιμοποιώντας την ίδια μέθοδο όπως η εντολή <command>build</command>, αλλά χρησιμοποιεί την ομάδα ενοτήτων <filename>bootstrap.modules</filename>.</para>

      <para>Δείτε την τεκμηρίωση της εντολής <link linkend="command-reference-build"><command>build</command></link> για διαθέσιμες επιλογές.</para>
    </section>

    <section id="command-reference-build">
      <title>δόμηση</title>

      <para>Η εντολή <command>build</command> δομεί ένα ή περισσότερα πακέτα, συμπεριλαμβάνοντας τις εξαρτήσεις τους.</para>

      <cmdsynopsis><command>jhbuild build</command> <arg>--autogen</arg> <arg>--clean</arg> <arg>--check</arg> <arg>--dist</arg> <arg>--distcheck</arg> <arg>--distclean</arg> <arg>--ignore-suggests</arg> <arg>--no-network</arg> <arg rep="repeat">--skip=<replaceable>module</replaceable></arg> <arg>--start-at=<replaceable>module</replaceable></arg> <arg>--tags=<replaceable>tags</replaceable></arg> <arg>-D <replaceable>date</replaceable></arg> <arg>--no-xvfb</arg> <arg>--try-checkout</arg> <arg>--no-poison</arg> <arg>--force</arg> <arg>--build-optional-modules</arg> <arg>--min-age=<replaceable>time</replaceable></arg> <arg>--nodeps</arg> <arg rep="repeat">module</arg></cmdsynopsis>

      <para>Εάν δεν παρέχονται ονόματα ενοτήτων στη γραμμή εντολών, θα χρησιμοποιηθείη λίστα <link linkend="cfg-modules">ενότητες</link> από το αρχείο ρυθμίσεων.</para>

      <variablelist>
        <varlistentry>
          <term><option>-a</option>, <option>--autogen</option></term>
          <listitem>
            <simpara>Να εκτελείτε πάντα το <command>autogen.sh</command> πριν τη δόμηση ενοτήτων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-c</option>, <option>--clean</option></term>
          <listitem>
            <simpara>Να εκτελείτε το <command>make clean</command> πριν τη δόμηση ενοτήτων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--check</option></term>
          <listitem>
            <simpara>Να εκτελείτε το <command>make check</command> μετά τη δόμηση ενοτήτων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-d</option>, <option>--dist</option></term>
          <listitem>
            <simpara>Να εκτελείτε το <command>make dist</command> μετά τη δόμηση ενοτήτων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--distcheck</option></term>
          <listitem>
            <simpara>Να εκτελείτε το <command>make distcheck</command> μετά τη δόμηση ενοτήτων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--distclean</option></term>
          <listitem>
            <simpara>Για ενότητες git, να εκτελείτε <command>git clean -dfx</command> πριν τη δόμηση ενοτήτων. Για άλλες ενότητες, να εκτελείτε <command>make distclean</command> πριν τη δόμηση ενοτήτων.</simpara>

            <note>
              <simpara>Αυτή η επιλογή θα διαγράψει οποιεσδήποτε ανυπόβλητες αλλαγές.</simpara>
            </note>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--ignore-suggests</option></term>
          <listitem>
            <simpara>Να μην δομείτε απαλές εξαρτήσεις.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-n</option>, <option>--no-network</option></term>
          <listitem>
            <simpara>Μην προσπελάζετε το δίκτυο κατά τη δόμηση ενοτήτων. Αυτό θα παραλείψει τη λήψη ή την ενημέρωση σταδίων σε μια δόμηση. Αν μία ενότητα δεν μπορεί να δομηθεί χωρίς πρόσβαση δικτύου, η δόμηση της ενότητας θα αποτύχει.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-s</option>, <option>--skip</option>=<replaceable>module,...</replaceable></term>
          <listitem>
            <simpara>Μην δομείτε τις καταχωρισμένες ενότητες. Χρησιμοποιούνται για να αποφύγουν τη δόμηση συγκεκριμένων εξαρτήσεων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--tags</option>=<replaceable>tag,...</replaceable></term>
          <listitem>
            <simpara>Αγνοήστε ενότητες που δεν ταιριάζουν με <replaceable>ετικέτες</replaceable>. Οι ενότητες αποδίδουν αυτόματα μια ετικέτα που ταιριάζει στο όνομα μιας ομάδας ενοτήτων της ενότητας.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-t</option>, <option>--start-at</option>=<replaceable>module</replaceable></term>
          <listitem>
            <simpara>Ξεκινήστε με την επώνυμη ενότητα αντί να ξεκινήσετε με τη λίστα. Αυτή η επιλογή είναι χρήσιμη αν η δόμηση διακόπηκε.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-D</option> <replaceable>date</replaceable></term>
          <listitem>
            <simpara>Εάν υποστηρίζεται από το υποκείμενο σύστημα ελέγχου έκδοσης, ενημερώστε το πηγαίο δένδρο στα συγκεκριμένα δεδομένα πριν τη δόμηση. Απαιτείται μια μορφή ημερομηνίας ISO, π.χ. <literal>"2009-09-18 02:32Z"</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-x</option>, <option>--no-xvfb</option></term>
          <listitem>
            <simpara>Εκτελέστε δοκιμές γραφικών στον ενεργό εξυπηρετητή Χ αντί για τον προσομοιωμένο Xvfb.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-C</option>, <option>--try-checkout</option></term>
          <listitem>
            <simpara>Εάν η δόμηση αποτύχει και αν υποστηρίζεται το σύστημα ελέγχου έκδοσης, πάρτε ένα αντίγραφο εργασίας και εκτελέστε το <command>autogen.sh</command> πριν ξαναδοκιμάσετε τη δόμηση.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-N</option>, <option>--no-poison</option></term>
          <listitem>
            <simpara>Εάν μία ή περισσότερες εξαρτήσεις της ενότητας αποτύχουν, αυτή η επιλογή εξαναγκάζει το JHBuild να δοκιμάσει να δομήσει την ενότητα οπωσδήποτε.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-f</option>, <option>--force</option></term>
          <listitem>
            <simpara>Δομήστε τις ενότητες ακόμα κι αν η πολιτική δηλώνει ότι δεν απαιτείται.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--build-optional-modules</option></term>
          <listitem>
            <simpara>Οι καταχωρισμένες ενότητες ως προαιρετικές εξαρτήσεις, ίσως να μην απαιτούνται για τη δόμηση της ενότητας. Αυτή η επιλογή εξαναγκάζει το JHBuild να δομήσει προαιρετικές εξαρτήσεις.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--min-age</option>=<replaceable>time</replaceable></term>
          <listitem>
            <simpara>Παραλείψτε τις ενότητες που εγκαταστάθηκαν πιο πρόσφατα από τον καθορισμένο σχετικό χρόνο. Η μορφή συμβολοσειράς <replaceable>time</replaceable> είναι ένας αριθμός ακολουθούμενος από μια μονάδα. Υποστηρίζονται οι ακόλουθες μονάδες: δευτερόλεπτα (s), λεπτά (m), ώρες (h) και ημέρες (d). Για παράδειγμα, το <option>--min-age=2h</option> θα παραλείψει τις ενότητες που δομήθηκαν σε λιγότερο από δύο ώρες πριν.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--nodeps</option></term>
          <listitem>
            <simpara>Αγνοήστε τις εξαρτήσεις του συστήματος που λείπουν. Για να αγνοήσετε μια μεμονωμένη εξάρτηση του συστήματος προσθέστε την ενότητα στο <link linkend="cfg-skip"><varname>skip</varname></link>.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-make">
      <title>make</title>

      <para>Η εντολή <command>make</command> είναι για ενεργή ανάπτυξη σε μια ειδική ενότητα. Απαιτεί ο τρέχων κατάλογος να είναι ένα αντίγραφο εργασίας πηγής και κάνει το ισοδύναμο του <command>buildone -nf $(basename $(pwd))</command>.</para>

      <cmdsynopsis><command>jhbuild make</command> <arg>--clean</arg> <arg>--check</arg> <arg>--distcheck</arg> <arg>--quiet</arg></cmdsynopsis>

      <para>Οι επιλογές είναι οι ίδιες με τις διαθέσιμες για την εντολή <link linkend="command-reference-build"><command>buildone</command></link>.</para>
    </section>

    <section id="command-reference-buildone">
      <title>buildone</title>

      <para>Η εντολή <command>buildone</command> είναι παρόμοια με την <command>build</command>, αλλά δεν δομεί τις εξαρτημένες ενότητες. Είναι χρήσιμη για την αναδόμηση μιας ή περισσότερων ενοτήτων.</para>

      <cmdsynopsis><command>jhbuild buildone</command> <arg>--autogen</arg> <arg>--clean</arg> <arg>--check</arg> <arg>--distcheck</arg> <arg>--distclean</arg> <arg>--no-network</arg> <arg>-D <replaceable>date</replaceable></arg> <arg>--no-xvfb</arg> <arg>--force</arg> <arg>--min-age=<replaceable>time</replaceable></arg> <arg>--nodeps</arg> <arg choice="plain" rep="repeat">module</arg></cmdsynopsis>

      <para>Οι επιλογές <option>--autogen</option>, <option>--check</option>, <option>--clean</option>, <option>-d</option>, <option>--distcheck</option>, <option>--distclean</option>, <option>--no-network</option>, <option>-D</option>, <option>-x</option> και <option>--nodeps</option> επεξεργάζονται όπως η εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>

      <para>Τουλάχιστον μια ενότητα πρέπει να είναι καταχωρισμένη στη γραμμή εντολών.</para>
    </section>

    <section id="command-reference-checkbranches">
      <title>checkbranches</title>

      <para>Η εντολή <command>checkbranches</command> ελέγχει τους κλάδους της ενότητας που ορίζονται σωστά μέσα στο σύστημα ελέγχου της έκδοσης και οι κλάδοι είναι συνεπείς με την ομάδα ενοτήτων.</para>

      <cmdsynopsis><command>jhbuild checkbranches</command> <arg rep="repeat">--branch=<replaceable>branch</replaceable></arg></cmdsynopsis>

      <variablelist>
        <varlistentry>
          <term><option>--branch</option>=<replaceable>branch</replaceable>, <option>-b</option> <replaceable>branch</replaceable></term>
          <listitem>
            <simpara>Ο κλάδος για έλεγχο.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>

<screen><prompt>$</prompt> <userinput>jhbuild -m gnome-2.20 checkbranches</userinput>
libgnomecanvas is missing branch definition for gnome-2-20
<prompt>$</prompt></screen>
    </section>

    <section id="command-reference-clean">
      <title>clean</title>

      <para>Η εντολή <command>clean</command> καθαρίζει τους καταλόγους δόμησης ενός ή περισσότερων ενοτήτων.</para>

      <cmdsynopsis><command>jhbuild clean</command> <arg rep="repeat">--skip=<replaceable>module</replaceable></arg> <arg>--start-at=<replaceable>module</replaceable></arg></cmdsynopsis>

      <para>Εάν δεν παρέχονται ονόματα ενοτήτων στη γραμμή εντολών, θα χρησιμοποιηθείη λίστα <link linkend="cfg-modules">ενότητες</link> από το αρχείο ρυθμίσεων.</para>

      <para>Δείτε την τεκμηρίωση της εντολής <link linkend="command-reference-build"><command>build</command></link> για μια περιγραφή των διαθέσιμων επιλογών.</para>
    </section>

    <section id="command-reference-dot">
      <title>dot</title>

      <para>Η εντολή <command>dot</command> παράγει ένα αρχείο που περιγράφει το κατευθυνόμενο γράφημα που σχηματίστηκε από τις εξαρτήσεις μεταξύ μιας ομάδας ενοτήτων. Αυτό το αρχείο μπορεί τότε να επεξεργαστεί χρησιμοποιώντας το λογισμικό <ulink url="http://www.graphviz.org/">GraphViz</ulink> για να παραχθεί ένα διάγραμμα.</para>

      <cmdsynopsis><command>jhbuild dot</command> <arg>--soft-deps</arg> <arg>--clusters</arg> <arg rep="repeat">module</arg></cmdsynopsis>

      <para>Εάν δεν παρέχονται ονόματα ενοτήτων στη γραμμή εντολών, θα χρησιμοποιηθείη λίστα <link linkend="cfg-modules">ενότητες</link> από το αρχείο ρυθμίσεων.</para>

      <para>Η επιλογή <option>--soft-deps</option> προσθέτει διάστικτες γραμμές από τις ενότητες στις μαλακές εξαρτήσεις. Η επιλογή <option>--clusters</option> ομαδοποιεί τις ενότητες από το <link linkend="moduleset-syntax-defs-metamodule">metamodules</link> μαζί.</para>

      <para>Η έξοδος της εντολής dot μπορεί να μεταφερθεί στο εργαλείο dot για τη δημιουργία αρχείου PostScript:</para>

<screen><prompt>$</prompt> <userinput>jhbuild dot <replaceable>modules</replaceable> | dot -Tps &gt; dependencies.ps</userinput></screen>

      <para>Ή μια εικόνα PNG:</para>

<screen><prompt>$</prompt> <userinput>jhbuild dot <replaceable>modules</replaceable> | dot -Tpng &gt; dependencies.png</userinput></screen>

      <figure id="sample-dot-output">
        <title>Δείγμα εξόδου JHBuild dot</title>
        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="figures/jhbuild_sample_dot_output.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </screenshot>
      </figure>
    </section>

    <section id="command-reference-gui">
      <title>γραφική διεπαφή χρήστη</title>

      <para>Η εντολή <command>gui</command> ξεκινά μια γραφική διεπαφή στο JHBuild που μπορεί να χρησιμοποιηθεί για επιλογή ενοτήτων στη δόμηση και αλλαγή μερικών επιλογών.</para>

      <cmdsynopsis><command>jhbuild gui</command></cmdsynopsis>

      <para>Η γραφικό διεπαφή αποδίδεται χρησιμοποιώντας GTK, έτσι πρόσθετες βιβλιοθήκες υποστήριξης απαιτούνται.</para>
    </section>

    <section id="command-reference-info">
      <title>πληροφορίες</title>

      <para>Η εντολή <command>info</command> εμφανίζει πληροφορίες για μία ή περισσότερες ενότητες.</para>

      <cmdsynopsis><command>jhbuild info</command> <arg choice="plain" rep="repeat">module</arg></cmdsynopsis>

      <para>Η εντολή εμφανίζει το όνομα ενότητας, τύπο, εξαρτήσεις, εξαρτημένα πακέτα, τον πηγαίο κατάλογο και τον χρόνο που εγκαταστάθηκε τελευταία με JHBuild. Εάν υπάρχουν διαθέσιμες, ειδικές πληροφορίες για τον τύπο του αρθρώματος όπως το αποθετήριο CVS ή το URL λήψης θα εμφανιστούν επίσης.</para>

      <para>Αν δεν υπάρχει συγκεκριμένη ενότητα η εντολή θα εμφανίσει πληροφορίες σχετικά με όλες τις ενότητες που ορίστηκαν στην ομάδα ενοτήτων.</para>
    </section>

    <section id="command-reference-list">
      <title>λίστα</title>

      <para>Η εντολή <command>list</command> εμφανίζει την εκτεταμένη λίστα των ενοτήτων που η εντολή <command>build</command> μπορεί να δομήσει.</para>

      <cmdsynopsis><command>jhbuild list</command> <arg>-a</arg> <arg>-r</arg> <arg>-s</arg> <arg>--start-at=<replaceable>module</replaceable></arg> <arg>--tags=<replaceable>tags</replaceable></arg> <arg>--ignore-suggests</arg> <arg>--list-optional-modules</arg> <arg rep="repeat">module</arg></cmdsynopsis>

      <para>Εάν δεν παρέχονται ονόματα ενοτήτων στη γραμμή εντολών, θα χρησιμοποιηθείη λίστα <link linkend="cfg-modules">ενότητες</link> από το αρχείο ρυθμίσεων.</para>

      <para>Οι επιλογές <option>--skip</option>, <option>--start-at</option>, <option>--tags</option> και <option>--ignore-suggests</option> επεξεργάζονται όπως η εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>

      <variablelist>
        <varlistentry>
          <term><option>-a</option>, <option>--all-modules</option></term>
          <listitem>
            <simpara>Καταχωρίστε όλες τις ενότητες από την ομάδα ενοτήτων ανεξάρτητα από τις εξαρτήσεις δόμησης.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>-r</option>, <option>--show-revision</option></term>
          <listitem>
            <simpara>Εάν μία ενότητα οριστεί σε έναν κλάδο, εμφανίστε το όνομα του κλάδου με το όνομα της ενότητας.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--list-optional-modules</option></term>
          <listitem>
            <simpara>Αυτή η επιλογή εξαναγκάζει το JHBuild να εμφανίσει τις προαιρετικές εξαρτήσεις.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-rdepends">
      <title>rdepends</title>

      <para>Η εντολή <command>rdepends</command> εμφανίζει τις αντίστροφες εξαρτήσεις μιας ενότητας.</para>

      <cmdsynopsis><command>jhbuild rdepends</command> <arg>module</arg></cmdsynopsis>

      <variablelist>
        <varlistentry>
          <term><option>--dependencies</option></term>
          <listitem>
            <simpara>Εμφάνιση της διαδρομής εξάρτησης δίπλα στις ενότητες.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><option>--direct</option></term>
          <listitem>
            <simpara>Περιορίστε την εμφάνιση στις άμεσες ενότητες ανάλογα με τη συγκεκριμένη ενότητα.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-run">
      <title>εκτέλεση</title>

      <para>Η εντολή <command>run</command> εκτελεί τη συγκεκριμένη εντολή χρησιμοποιώντας το ίδιο περιβάλλον που χρησιμοποιεί το JHBuild όταν δομεί ενότητες.</para>

      <cmdsynopsis><command>jhbuild run</command> <arg>--in-builddir</arg> <arg>--in-checkoutdir</arg> <arg choice="plain"><replaceable>program</replaceable></arg> <arg rep="repeat"><replaceable>argument</replaceable></arg></cmdsynopsis>

      <para>Αν χρησιμοποιείτε JHBuild για να δομήσετε το GNOME, αυτή η εντολή μπορεί να είναι χρήσιμη σε σενάρια εκκίνησης Χ.</para>

      <variablelist>
        <varlistentry>
          <term><option>--in-builddir</option>=<replaceable>module</replaceable></term>
          <listitem>
            <simpara>Εκτελέστε την εντολή στον κατάλογο δόμησης της ορισμένης ενότητας.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>

      <variablelist>
        <varlistentry>
          <term><option>--in-checkoutdir</option>=<replaceable>module</replaceable></term>
          <listitem>
            <simpara>Εκτελέστε την εντολή στον πηγαίο κατάλογο της ορισμένης ενότητας.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-sanitycheck">
      <title>έλεγχος υγείας</title>

      <para>Η εντολή <command>sanitycheck</command> εκτελεί έναν αριθμό ελέγχων για να επιβεβαιώσει ότι το περιβάλλον δόμησης είναι εντάξει.</para>

      <cmdsynopsis><command>jhbuild sanitycheck</command></cmdsynopsis>

      <para>Μερικοί από τους ελέγχους περιλαμβάνουν:</para>

      <itemizedlist>
        <listitem>
          <simpara>Τον έλεγχο εξόδου και εγκατάστασης προθεμάτων που είναι εγγράψιμα.</simpara>
        </listitem>
        <listitem>
          <simpara>Τα απαιτούμενα εργαλεία δόμησης που είναι εγκατεστημένα.</simpara>
        </listitem>
        <listitem>
          <simpara>Μερικές συνήθως χρησιμοποιούμενες μακροεντολές είναι διαθέσιμες στις διαδρομές αναζήτησης των εντολών <command>aclocal</command> που είναι συσχετισμένες με τις ποικίλες εκδόσεις του <command>automake</command>.</simpara>
        </listitem>
        <listitem>
          <simpara>Ο κατάλογος XML περιέχει το DocBook DTD και φύλλα τεχνοτροπίας.</simpara>
        </listitem>
      </itemizedlist>
    </section>

    <section id="command-reference-shell">
      <title>κέλυφος</title>

      <para>Η εντολή <command>shell</command> ξεκινά το κέλυφος του χρήστη με το ίδιο περιβάλλον που χρησιμοποιεί το JHBuild όταν δομεί ενότητες.</para>

      <cmdsynopsis><command>jhbuild shell</command></cmdsynopsis>

      <para>Αυτή η εντολή είναι ισοδύναμη με την παρακάτω:</para>

<screen><prompt>$</prompt> <userinput>jhbuild run $SHELL</userinput></screen>

      <para>Η μεταβλητή περιβάλλοντος <envar>UNDER_JHBUILD</envar> θα οριστεί ‎"αληθή" όταν αυτό το κέλυφος είναι ενεργό. Μπορείτε να χρησιμοποιήσετε την παρουσία αυτής της μεταβλητής για να προσαρμόσετε την προτροπή του κελύφους για να δείξετε ότι είσαστε πραγματικά στο κέλυφος που ελέγχεται από το jhbuild. Για παράδειγμα, ίσως θέλετε να βάλετε αυτό στο <filename>.bashrc</filename>:</para>

<screen>
	if [ -n "$UNDER_JHBUILD" ]; then
	    PS1="[jhbuild] $PS1"
	fi
      </screen>

      <para>Αυτό θα κάνει να εμφανίσει το κέλυφος σας bash <literal>[jhbuild]</literal> πριν την κανονική σας προτροπή, διευκολύνοντας να δείτε ποια κελύφη είναι σε περιβάλλον jhbuild.</para>
    </section>

    <section id="command-reference-sysdeps">
      <title>εξαρτήσεις συστήματος</title>

      <para>Η εντολή <command>sysdeps</command> εμφανίζει:</para>

      <orderedlist>
        <listitem>
          <simpara>μια λίστα των εγκατεστημένων πακέτων του συστήματος που θα χρησιμοποιηθεί κατά τη διάρκεια της δόμησης. Το JHBuild δεν θα δομήσει αυτές τις ενότητες και προαιρετικά θα χρησιμοποιήσει το πακέτο του συστήματος.</simpara>
        </listitem>
        <listitem>
          <simpara>μια λίστα των απαιτούμενων πακέτων. Για την έναρξη της δόμησης τα πακέτα πρέπει να παρέχονται από το σύστημά σας.</simpara>
        </listitem>
        <listitem>
          <simpara>μια λίστα των προαιρετικών πακέτων. Το αντίστοιχο πακέτο του συστήματος δεν βρέθηκε ή ήταν υπερβολικά παλιό. Το JHBuild θα δομήσει την ενότητα. Τα προαιρετικά πακέτα δεν θα εμφανιστούν αν η <link linkend="cfg-partial-build"><varname>partial_build</varname></link> είναι <constant>ψευδής</constant>.</simpara>
        </listitem>
      </orderedlist>

      <cmdsynopsis><command>jhbuild sysdeps</command> <arg>--install</arg></cmdsynopsis>

      <variablelist>
        <varlistentry>
          <term><option>--install</option></term>
          <listitem>
            <simpara>Αυτή η επιλογή εγκαθιστά πακέτα του συστήματος που είναι εξαρτήσεις της ομάδα ενοτήτων. Η μέθοδος εγκατάστασης εξαρτάται από τη διανομή σας. Τα πακέτα του συστήματος εγκαθίστανται χρησιμοποιώντας το <application>PackageKit</application>, αν είναι διαθέσιμο. Για διανομές που χρησιμοποιούν <application>APT</application> όπως <systemitem class="osname">Debian</systemitem> και <systemitem class="osname">Ubuntu</systemitem>, αυτή η επιλογή απαιτεί το <application>apt-file</application> για να εγκατασταθεί.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>

      <example>
        <title>Παράδειγμα <command>sysdeps</command></title>
<screen><prompt>$</prompt> <userinput>jhbuild sysdeps</userinput>
System installed packages which are new enough:
  speex (speex.pc required=1.2rc1, installed=1.2rc1)
  lcms2 (lcms2.pc required=2.2, installed=2.2)
...
Required packages:
  System installed packages which are too old:
    (none)
  No matching system package installed:
    zlib (zlib.pc required=1.2)
Optional packages: (JHBuild will build the missing packages)
  System installed packages which are too old:
    WebKit (webkitgtk-3.0.pc required=1.5.1, installed=1.4.0)
    ...
  No matching system package installed:
    pulseaudio (libpulse.pc required=2.0)
    ...</screen>
      </example>
    </section>

    <section id="command-reference-tinderbox">
      <title>tinderbox</title>

      <para>Η εντολή <command>tinderbox</command> είναι παρόμοια με την <command>build</command>, αλλά γράφει όλες τις εξόδους του τερματικού σε αρχεία HTML κατάλληλα για δημοσίευση σε έναν ιστότοπο. Μπορεί να χρησιμοποιηθεί για να ρυθμίσει συστήματα παρόμοια με το Tinderbox του Mozilla, ή το Buildd του Debian.</para>

      <cmdsynopsis><command>jhbuild tinderbox</command> <arg>--autogen</arg> <arg>--clean</arg> <arg>--distclean</arg> <arg>--no-network</arg> <arg>--output=<replaceable>directory</replaceable></arg> <arg rep="repeat">--skip=<replaceable>module</replaceable></arg> <arg>--start-at=<replaceable>module</replaceable></arg> <arg>-D <replaceable>date</replaceable></arg> <arg>-C</arg> <arg>-N</arg> <arg>-f</arg> <arg>--nodeps</arg> <arg rep="repeat">module</arg></cmdsynopsis>

      <para>Οι <option>--autogen</option>, <option>--clean</option>, <option>--distclean</option>, <option>--no-network</option>, <option>--skip</option>, <option>--start-at</option>, <option>-D</option>, <option>-C</option>, <option>-N</option>, <option>-f</option> και <option>--nodeps</option> οι επιλογές επεξεργάζονται όπως η εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>

      <variablelist>
        <varlistentry>
          <term><option>-o</option>, <option>--output</option>=<replaceable>directory</replaceable></term>
          <listitem>
            <simpara>Ο κατάλογος για να γράψετε τα αρχεία HTML. Το JHBuild θα δημιουργήσει ένα ευρετήριο (<filename>index.html</filename>) και ένα αρχείο HTML για κάθε ενότητα.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="command-reference-uninstall">
      <title>απεγκατάσταση</title>

      <para>Η εντολή <command>uninstall</command> απεγκαθιστά μία ή περισσότερες ενότητες.</para>

      <cmdsynopsis><command>jhbuild uninstall</command> <arg choice="plain" rep="repeat">module</arg></cmdsynopsis>
    </section>

    <section id="command-reference-update">
      <title>ενημέρωση</title>

      <para>Η εντολή <command>update</command> είναι παρόμοια μες την εντολή <command>build</command>, αλλά εκτελεί μόνο τη μεταφόρτωση ή ενημέρωση του σταδίου για ενότητες χωρίς να τις δομήσει.</para>

      <cmdsynopsis><command>jhbuild update</command> <arg rep="repeat">--skip=<replaceable>module</replaceable></arg> <arg>--start-at=<replaceable>module</replaceable></arg> <arg>--tags=<replaceable>tags</replaceable></arg> <arg>--ignore-suggests</arg> <arg>-D <replaceable>date</replaceable></arg> <arg rep="repeat">module</arg></cmdsynopsis>

      <para>Τα <option>--skip</option>, <option>--start-at</option>, <option>--tags</option>, <option>--ignore-suggests</option> και οι επιλογές <option>-D</option> επεξεργάζονται όπως η εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>
    </section>

    <section id="command-reference-updateone">
      <title>updateone</title>

      <para>Η εντολή <command>updateone</command> είναι παρόμοια με την <command>update</command>, αλλά δεν ενημερώνει τις εξαρτημένες ενότητες. Είναι χρήσιμη για ενημέρωση μιας ή περισσότερων ενοτήτων.</para>

      <cmdsynopsis><command>jhbuild updateone</command> <arg>-D <replaceable>date</replaceable></arg> <arg choice="plain" rep="repeat">module</arg></cmdsynopsis>

      <para>Η επιλογή <option>-D</option> επεξεργάζεται όπως η εντολή <link linkend="command-reference-build"><command>build</command></link>.</para>

      <para>Τουλάχιστον μια ενότητα πρέπει να είναι καταχωρισμένη στη γραμμή εντολών.</para>
    </section>
  </section>

  <section id="config-reference">
    <title>Αναφορά αρχείου ρυθμίσεων</title>

    <para>Το αρχείο <filename>~/.config/jhbuildrc</filename> χρησιμοποιεί την τυπική σύνταξη Python. Το αρχείο εκτελείται και οι τελικές μεταβλητές που ορίστηκαν στον χώρο ονομάτων χρησιμοποιούνται για να ελέγξουν πώς δρα το JHBuild. Μια ομάδα προεπιλεγμένων τιμών εισάγεται στον χώρο ονομάτων πριν την εκτέλεση του αρχείου ρυθμίσεων του χρήστη.</para>

    <para>Οι μεταβλητές ρύθμισης Μπουλ ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:</para>

<programlisting>use_local_modulesets = True</programlisting>

    <para>Οι μεταβλητές ρύθμισης συμβολοσειράς ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:</para>

<programlisting>autogenargs = '--disable-static --disable-gtk-doc'</programlisting>

    <para>Οι μεταβλητές ρύθμισης λίστας ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:</para>

<programlisting>skip = ['mozilla', 'pulseaudio']</programlisting>

    <para>Οι μεταβλητές ρύθμισης λεξικού ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:</para>

<programlisting>repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'</programlisting>

    <section id="config-reference-variables">
      <title>Μεταβλητές ρύθμισης</title>

      <variablelist>
<?dbhtml list-presentation="table"?>
        <varlistentry id="cfg-alwaysautogen">
          <term><varname>alwaysautogen</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ αν οριστεί σε <constant>αληθή</constant>, εκτελεί πάντα μια <command>autogen.sh</command>. Αυτό είναι το ισοδύναμο με το πέρασμα της επιλογής <option>--autogen</option> στο JHBuild. Προεπιλογή το <constant>ψευδής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-autogenargs">
          <term><varname>autogenargs</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που περιέχει ορίσματα τα οποία περνούν στο σενάριο <command>autogen.sh</command> όλων των ενοτήτων. Μπορεί να αντικατασταθεί για συγκεκριμένες ενότητες χρησιμοποιώντας το λεξικό <varname>module_autogenargs</varname>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-branches">
          <term><varname>branches</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που καθορίζει ποιος κλάδος θα χρησιμοποιηθεί για συγκεκριμένες ενότητες. Αυτό είναι χρήσιμο αν κάνετε κάποιες αλλαγές σε έναν κλάδο ενότητας και θέλετε το JHBuild να δομήσει αυτόν τον κλάδο αντί για αυτόν που αναφέρεται στην ομάδα ενοτήτων.</simpara>

            <simpara>Ο ορισμός των κλάδων εξαρτάται από την ενότητα VCS:</simpara>

            <itemizedlist>
              <listitem>
                <simpara>CVS: αναθεώρηση. Π.χ. <literal>'BRANCH-PROJECT-0_8'</literal></simpara>
              </listitem>
              <listitem>
                <simpara>Bazaar: URI του κλάδου ενότητας. Π.χ. <literal>'http://bzr.example.net/project/gnome-2-28'</literal></simpara>
              </listitem>
              <listitem>
                <simpara>Git: πλειάδα, με το πρώτο μέρος να είναι ένα προαιρετικό αποθετήριο (ή η τιμή κανένα) και το δεύτερο μέρος του ονόματος του κλάδου. Π.χ. <literal>('git://git.example.net/project', 'gnome-2-28')</literal></simpara>

                <example>
                  <title>Απλό παράδειγμα</title>
<programlisting>branches['modulename'] = (None, 'branchname')</programlisting>
                </example>
              </listitem>
              <listitem>
                <simpara>Subversion: URI του κλάδου της ενότητας Π.χ. <literal>'svn://svn.example.net/project/gnome-2-28'</literal></simpara>
              </listitem>
            </itemizedlist>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-builddir-pattern">
          <term><varname>builddir_pattern</varname></term>
          <listitem>
            <simpara>Ένα μοτίβο μορφοποίησης τεχνοτροπίας <function>printf</function> που χρησιμοποιείται για να δημιουργήσει ονόματα καταλόγου δόμησης. Αυτό χρησιμοποιείται μόνο όταν χρησιμοποιείτε ξεχωριστή πηγή και δένδρα δόμησης. Το <literal>%s</literal> στη μορφή συμβολοσειράς θα αντικατασταθεί με <varname>checkoutdir</varname>. Προεπιλογή το <literal>'%s'</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-buildroot">
          <term><varname>buildroot</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει τον γονικό κατάλογο για τοποθέτηση δένδρων δόμησης. Προεπιλογή το <constant>Κανένα</constant>, που προκαλεί την εκτέλεση δομήσεων στα πηγαία δένδρα.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-buildscript">
          <term><varname>buildscript</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που καθορίζει ποιο σενάριο δόμησης θα χρησιμοποιηθεί. Η συνιστώμενη ρύθμιση είναι η προεπιλογή, <literal>τερματικό</literal>. Ειδικά, μην ορίζετε σε <literal>gtk</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-build-policy">
          <term><varname>build_policy</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει ποιες ενότητες θα δομηθούν. Οι τρεις δυνατές επιλογές είναι <literal>όλα</literal>, για τη δόμηση όλων των ζητούμενων ενοτήτων, <literal>ενημέρωση</literal> για τις ενότητες μόνο που έχουν αλλάξει, ή <literal>ενημέρωση εξαρτήσεων</literal> για δόμηση των ενοτήτων που έχουν αλλάξει ή που έχουν εξαρτήσεις που έχουν αλλάξει. Προεπιλογή το <literal>ενημέρωση εξαρτήσεων</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-checkoutroot">
          <term><varname>checkoutroot</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που καθορίζει τον φάκελο στον οποίο θα αποσυμπιεστούν τα πηγαία δένδρα. Εκτός κι αν είναι ορισμένη η <varname>buildroot</varname>, οι δομήσεις θα γίνονται σε αυτόν τον φάκελο επίσης. Η προεπιλογή είναι <filename>~/checkout/gnome</filename>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-checkout-mode">
          <term><varname>checkout_mode</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει πώς θα εκτελείται ο έλεγχος εξόδου για καταλόγους στον έλεγχο έκδοσης. Προεπιλογή το <literal>ενημέρωση</literal>. Αυτό μπορεί να οριστεί ανά ενότητα χρησιμοποιώντας το <varname>module_checkout_mode</varname>. Δυνατές τιμές είναι <literal>ενημέρωση</literal> (ενημέρωση καταλόγου ελέγχου εξόδου), <literal>αντικατάσταση</literal> (διαγραφή καταλόγου πριν τον έλεγχο εξόδου των πηγών), <literal>εξαγωγή</literal> (διαγραφή καταλόγου, έπειτα δημιουργία ενός αντιγράφου χωρίς έκδοση των πηγών) και <literal>αντιγραφή</literal> (έλεγχος εξόδου σε έναν κατάλογο διαφορετικό από τον κατάλογο δόμησης).</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-copy-dir">
          <term><varname>copy_dir</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που καθορίζει τον κατάλογο αντιγραφής, αν το αντίγραφο είναι σε χρήση <link linkend="cfg-checkout-mode"> <varname>checkout_mode</varname></link>. Η προεπιλογή είναι ο κατάλογος αντιγράφου εργασίας.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-cvs-program">
          <term><varname>cvs_program</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει ποιο πρόγραμμα θα χρησιμοποιηθεί για υποστήριξη CVS. Αυτό μπορεί να είναι <literal>git-cvsimport</literal>, ή <literal>cvs</literal>. Προεπιλογή το <literal>cvs</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-dvcs-mirror-dir">
          <term><varname>dvcs_mirror_dir</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει έναν τοπικό κατάλογο κατοπτρισμού. Το JHBuild θα δημιουργήσει τοπικούς κατοπτρισμούς των αποθετηρίων στον συγκεκριμένο κατάλογο. Οι κατοπτρισμοί μπορούν να μεριστούν από πολλαπλές ομάδες αποθετηρίου, εξοικονομώντας χώρο και χρόνο επειδή θα χρησιμοποιηθούν σκληροί δεσμοί για τοπικούς κλώνους. Οι εντολές <command>update</command> and <command>updateone</command> θα δημιουργήσουν τους κατοπτρισμούς και θα προσκομίσουν νέες υποβολές από τα δικτυακά αποθετήρια. Αυτή η επιλογή υποστηρίζεται μόνο από τα αποθετήρια Git και Bazaar.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-help-website">
          <term><varname>help_website</varname></term>
          <listitem>
            <simpara>Μια πλειάδα που ορίζει ένα όνομα ιστοτόπου βοήθειας και URL. Ο ιστότοπος εμφανίζεται στο tinderbox html για αποτυχημένες ενότητες. Το <varname>%(module)s</varname> στο URL θα αντικατασταθεί με το όνομα της ενότητας. Για απενεργοποίησή του, ορίστε το <varname>help_website</varname> σε <literal>None</literal>. Προεπιλογή το <literal>('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s')</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-installprog">
          <term><varname>installprog</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει ένα πρόγραμμα για χρήση ως αντικατάσταση του <literal>/usr/bin/install</literal>. Αν είναι διαθέσιμο, προεπιλογή είναι το περίβλημα <literal>install-check</literal> που παρέχεται από το JHBuild. Το περίβλημα <literal>install-check</literal> βελτιστοποιεί την εγκατάσταση κεφαλίδας για να μειώσει τον απαιτούμενο χρόνο για αναδομήσεις.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-ignore-suggests">
          <term><varname>ignore_suggests</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ καθορίζει εάν θα αγνοηθούν απαλές εξαρτήσεις όταν υπολογίζει το δένδρο εξάρτησης. Η προεπιλογή είναι <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-interact">
          <term><varname>interact</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν θα αλληλεπιδράσει με τον χρήστη. Ορίζοντας αυτήν την τιμή σε <constant>False</constant> είναι ισοδύναμο με το πέρασμα της επιλογής <option>--no-interact</option>. Προεπιλογή το <constant>True</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makeargs">
          <term><varname>makeargs</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά με επιπρόσθετα ορίσματα που θα περαστούν στο <command>make</command>. Το JHBuild θα προσαρτήσει αυτόματα την επιλογή της παράλληλης εκτέλεσης (<option>-j</option>) με βάση τους διαθέσιμους πυρήνες CPU. Η προεπιλογή είναι <literal>''</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makecheck">
          <term><varname>makecheck</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το <command>make check</command> μετά το <command>make</command>. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makecheck-advistory">
          <term><varname>makecheck_advisory</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν οι αποτυχίες κατά την εκτέλεση του <command>make check</command> πρέπει να είναι μόνο συμβουλευτικές και να μην προκαλούν αποτυχία δόμησης. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makeclean">
          <term><varname>makeclean</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το <command>make clean</command> πριν το <command>make</command>. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makedist">
          <term><varname>makedist</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το <command>make dist</command> μετά το <command>make</command>. Προεπιλογή το <constant>False</constant>. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής <option>--dist</option>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makedistcheck">
          <term><varname>makedistcheck</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ που ορίζει αν θα εκτελεστεί το <command>make distcheck</command> μετά το <command>make</command>. Προεπιλογή το <constant>False</constant>. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής <option>--distcheck</option>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-autogenargs">
          <term><varname>module_autogenargs</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε συμβολοσειρές ορίζοντας τα ορίσματα που περνάνε στο <command>autogen.sh</command>. Η ρύθμιση στο <varname>module_autogenargs</varname> χρησιμοποιείται αντί για την καθολική ρύθμιση <varname>autogenargs</varname>. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική <varname>autogenargs</varname>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-checkout-mode">
          <term><varname>module_checkout_mode</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που ορίζει ποια κατάσταση ελέγχου εξόδου θα χρησιμοποιηθεί για τις ενότητες. Αυτό υπερισχύει της καθολικής ρύθμισης <varname>checkout_mode</varname>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-makeargs">
          <term><varname>module_makeargs</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε συμβολοσειρές ορίζοντας τα ορίσματα που περνάνε στο <command>make</command>. Η ρύθμιση στο <varname>module_makeargs</varname> αντικαθιστά την τιμή του <varname>makeargs</varname>. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική <varname>makeargs</varname>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-makecheck">
          <term><varname>module_makecheck</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που αντιστοιχίζει τα ονόματα των ενοτήτων σε τιμές Μπουλ ορίζοντας αν θα εκτελεστεί το <command>make check</command> μετά το <command>make</command>. Η ρύθμιση στο <varname>module_makecheck</varname> αντικαθιστά την τιμή του <varname>makecheck</varname>. Αν μια συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, θα χρησιμοποιηθεί η καθολική <varname>makecheck</varname>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-nopoison">
          <term><varname>module_nopoison</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που αντιστοιχίζει τα ονόματα ενοτήτων σε τιμές Μπουλ. Αν μια ενότητα οριστεί σε <constant>αληθής</constant>, το JHBuild θα προσπαθήσει να δομήσει εξαρτημένες ενότητες ακόμα κι αν η συγκεκριμένη ενότητα αποτύχει. Η ρύθμιση στο <varname>module_nopoison</varname> αντικαθιστά την τιμή του <varname>nopoison</varname>. Αν η συγκεκριμένη ενότητα δεν είναι στη λίστα στο λεξικό, μια καθολική <varname>nopoison</varname> θα χρησιμοποιηθεί.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-module-extra-env">
          <term><varname>module_extra_env</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που αντιστοιχίζει τα ονόματα ενοτήτων σε λεξικά με τις πρόσθετες μεταβλητές περιβάλλοντος να περνούν όταν εκτελούνται εντολές για το άρθρωμα.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-modules">
          <term><varname>modules</varname></term>
          <listitem>
            <simpara>Μια λίστα συμβολοσειρών που καθορίζουν τις ενότητες που θα δομηθούν. Η λίστα ενοτήτων που πραγματικά θα δομηθούν θα επεκταθεί κυκλικά ώστε να συμπεριλαμβάνει όλες τις εξαρτήσεις, εκτός και αν χρησιμοποιηθεί η εντολή <link linkend="command-reference-buildone"><command>buildone</command></link>. Η προεπιλογή είναι <literal>['meta-gnome-desktop']</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-moduleset">
          <term><varname>moduleset</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά ή λίστα συμβολοσειρών που καθορίζουν το όνομα ή ονόματα της ομάδας ή των ομάδων ενοτήτων που θα χρησιμοποιηθούν. Αυτά μπορεί να είναι είτε το όνομα μιας ομάδας ενοτήτων που περιλαμβάνεται με το JHBuild (χωρίς τη διαδρομή και την επέκταση αρχείου), είτε ένα πλήρες HTTP URL προς μια εξωτερικά διαχειριζόμενη ομάδα ενοτήτων. Οι ομάδες ενοτήτων HTTP URL αποθηκεύονται προσωρινά τοπικά. Αν μια ενότητα με το ίδιο όνομα υπάρχει σε περισσότερες από μία ομάδες ενοτήτων, η τελευταία ομάδα στη λίστα έχει την προτεραιότητα. Οι ομάδες ενοτήτων που παρέχονται με το JHBuild ενημερώνονται για να ταιριάζουν με την τρέχουσα έκδοση ανάπτυξης του GNOME.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-modulesets-dir">
          <term><varname>modulesets_dir</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει τον κατάλογο που περιέχει τα χρησιμοποιούμενες ομάδες ενοτήτων. Προεπιλογή ο κατάλογος <filename>modulesets/</filename> στις πηγές JHBuild.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nice-build">
          <term><varname>nice_build</varname></term>
          <listitem>
            <simpara>Εκτελεί δομήσεις με προτεραιότητα <constant>SCHED_IDLE</constant> στο Λίνουξ, <command>nice</command> σε άλλα Γιούνιξ. Αυτό μπορεί να βελτιώσει δραματικά την αλληλεπίδραση της επιφάνειας εργασίας για παράλληλες δομήσεις, ενώ έχει μόνο μια αμελητέα επίδραση στην απόδοση δόμησης.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nobuild">
          <term><varname>nobuild</varname></term>
          <listitem>
            <simpara>Μια τιμή Μπουλ, αν οριστεί σε <constant>αληθή</constant> το JHBuild δεν θα δομήσει ενότητες, αλλά απλά θα μεταφορτώσει και θα αποσυμπιέσει τις πηγές. Η προεπιλεγμένη τιμή είναι <constant>ψευδής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nonetwork">
          <term><varname>nonetwork</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που ορίζει αν θα προσπελάζετε το δίκτυο. Αυτό επηρεάζει τον έλεγχο εξόδου ή ενημέρωσης των ενοτήτων CVS, μεταφόρτωσης tarballs και ενημέρωσης ομάδων ενοτήτων. Η ρύθμιση αυτού σε <constant>αληθής</constant> είναι ισοδύναμη με το πέρασμα της επιλογής <option>--no-network</option>. Προεπιλογή το <constant>ψευδής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nonotify">
          <term><varname>nonotify</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που ορίζει αν θα εκπέμπονται ειδοποιήσεις χρησιμοποιώντας τον δαίμονα ειδοποιήσεων. Αν οριστεί σε <constant>ψευδής</constant>, οι ειδοποιήσεις εκπέμπονται. Προεπιλογή το <constant>αληθής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nopoison">
          <term><varname>nopoison</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή, αν οριστεί σε <constant>αληθής</constant> το JHBuild προσπαθεί να δομήσει τις ενότητες ακόμα κι αν μία ή περισσότερες από τις εξαρτήσεις της ενότητας αποτύχει να δομήσει. Αυτή η επιλογή είναι ισοδύναμη με το όρισμα <option>--no-poison</option>. Η προεπιλεγμένη τιμή είναι <constant>ψευδής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-notrayicon">
          <term><varname>notrayicon</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που ορίζει αν θα εμφανίζεται ένα εικονίδιο στην περιοχή συστήματος χρησιμοποιώντας το Zenity. Αν οριστεί σε <constant>ψευδής</constant>, οι ειδοποιήσεις εκπέμπονται. Προεπιλογή το <constant>αληθής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-noxvfb">
          <term><varname>noxvfb</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή, αν οριστεί σε <constant>αληθής</constant> το JHBuild θα εκτελέσει οποιεσδήποτε γραφικές δοκιμές στον πραγματικό εξυπηρετητή Χ, αντί να χρησιμοποιήσει το <command>Xvfb</command>. Αυτή η επιλογή είναι ισοδύναμη με το πέρασμα του <option>--no-xvfb</option>. Η προεπιλεγμένη τιμή είναι <constant>ψευδής</constant></simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-partial-build">
          <term><varname>partial_build</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή, αν οριστεί σε <constant>αληθή</constant> το JHBuild δεν θα δομήσει ενότητες εξάρτησης αν τα αντίστοιχα πακέτα του συστήματος είναι εγκατεστημένα και επαρκούς έκδοσης. Η προεπιλογή το <constant>αληθής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-prefix">
          <term><varname>prefix</varname></term>
          <listitem>
            <simpara>A string specifying the prefix to install modules to.
              <varname>prefix</varname> must be an absolute path. This directory
              must be writable. Defaults to <literal>'~/jhbuild/install/'</literal>.
            </simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-pretty-print">
          <term><varname>pretty_print</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που ορίζει αν θα η έξοδος της υποδιεργασίας θα εμφανιστεί σε επιμελημένη μορφή. Μόνο η έξοδος CVS υποστηρίζει επιμελημένη εκτύπωση. Απενεργοποιήστε αν η επιμελημένη εκτύπωση προκαλεί προβλήματα. Προεπιλογή σε <literal>αληθής</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-print-command-pattern">
          <term><varname>print_command_pattern</varname></term>
          <listitem>
            <simpara>Μια εμφανιζόμενη συμβολοσειρά πριν το JHBuild να εκτελέσει μια εντολή. Το <varname>%(command)s</varname> στη συμβολοσειρά θα αντικατασταθεί με την σχετική εντολή εκτέλεσης. <varname>%(cwd)s</varname> στη συμβολοσειρά θα αντικατασταθεί με τον τρέχοντα κατάλογο εργασίας. Προεπιλογή το <literal>'%(command)s'</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-progress-bar">
          <term><varname>progress_bar</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που ορίζει αν θα εμφανίζεται μια γραμμή προόδου κατά τη διάρκεια της <link linkend="cfg-quiet-mode">σιωπηρής κατάστασης</link>. Προεπιλογή το <literal>αληθής</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-quiet-mode">
          <term><varname>quiet_mode</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή, αν οριστεί σε <constant>αληθή</constant> απενεργοποιεί την έξοδο των εκτελούμενων εντολών. Προεπιλογή το <literal>ψευδής</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-repos">
          <term><varname>repos</varname></term>
          <listitem>
            <simpara>Ένα λεξικό που ορίζει μια εναλλακτική τοποθεσία αποθετηρίου για ένα συγκεκριμένο αποθετήριο. Αυτή η μεταβλητή παραμετροποίησης είναι χρήσιμη σε έναν προγραμματιστή ενοτήτων. Από προεπιλογή, το JHBuild θα κατεβάσει τον κώδικα από αποθετήρια χρησιμοποιώντας μια ανώνυμη τοποθεσία αποθετηρίου. Τα κλειδιά του λεξικού είναι σύντομα ονόματα αποθετηρίων και οι τιμές τους είναι συμβολοσειρές εναλλακτικών τοποθεσιών αποθετηρίων. Για παράδειγμα:</simpara>

<programlisting>repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'</programlisting>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-skip">
          <term><varname>skip</varname></term>
          <listitem>
            <simpara>A list of modules to skip. This <option>--skip</option>
              command line option extends the list. This list is empty by
              default. If the list contains the special value <literal>'*'</literal>,
              JHBuild will skip all modules not explicitly listed in
              the <varname>modules</varname> variable.  This may be useful if
              you want to build modules without their implicit dependencies.
             </simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-sticky-date">
          <term><varname>sticky_date</varname></term>
          <listitem>
            <simpara>Εάν οριστεί μια συμβολοσειρά και αν υποστηρίζεται από την υποκείμενη έκδοση του συστήματος ελέγχου, το JHBuild θα ενημερώσει το πηγαίο δένδρο στη καθορισμένη ημερομηνία πριν τη δόμηση. Απαιτείται μια μορφή ημερομηνίας ISO, π.χ. <literal>'<replaceable>yyyy</replaceable>-<replaceable>mm</replaceable>-<replaceable>dd</replaceable>'</literal>. Προεπιλογή σε <constant>Καμία</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-svn-program">
          <term><varname>svn_program</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει ποιο πρόγραμμα θα χρησιμοποιηθεί για υποστήριξη subversion. Αυτό μπορεί να είναι <literal>svn</literal>, <literal>git-svn</literal> ή <literal>bzr</literal>. Προεπιλογή το <literal>svn</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-tarballdir">
          <term><varname>tarballdir</varname></term>
          <listitem>
            <simpara>A string if set, tarballs will be downloaded to the
              specified directory instead of <varname>checkoutroot</varname>.
              This is useful if you have multiple JHBuild environments or
              regularly clear out <varname>checkoutroot</varname> and want to
              reduce bandwidth usage.</simpara>  Defaults to
              <literal>'~/jhbuild/downloads'</literal>.
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-tinderbox-outputdir">
          <term><varname>tinderbox_outputdir</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει τον κατάλογο αποθήκευσης της εξόδου <command>jhbuild tinderbox</command>. Αυτή η συμβολοσειρά μπορεί να αντικατασταθεί από την επιλογή <option>--output</option>. Προεπιλογή το <constant>Καμία</constant>, έτσι είτε η επιλογή γραμμής εντολών πρέπει να χρησιμοποιηθεί ή αυτή η μεταβλητή πρέπει να οριστεί στο αρχείο ρυθμίσεων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-trycheckout">
          <term><varname>trycheckout</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή, αν οριστεί σε <constant>αληθή</constant> το JHBuild θα προσπαθήσει αυτόματα να επιλύσει τις αποτυχίες 1) εκτελώντας το <command>autogen.sh</command> ξανά και 2) ελέγχοντας την έξοδο μιας νεότερης έκδοσης μιας ενότητας από τον έλεγχο της έκδοσης. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής <option>--try-checkout</option>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-use-lib64">
          <term><varname>use_lib64</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που καθορίζει αν θα εγκατασταθούν βιβλιοθήκες στους καταλόγους <filename>lib64</filename>. Αν οριστεί, το <literal>--libdir=\${exec_prefix}/lib64</literal> θα περαστεί στη διαμόρφωση. Προεπιλογή το <constant>αληθής</constant> αν τρέχει σε <literal>x86_64</literal>, <literal>ppc64</literal> ή <literal>s390x</literal> σε Λίνουξ και <constant>ψευδής</constant> σε άλλα συστήματα.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-use-local-modulesets">
          <term><varname>use_local_modulesets</varname></term>
          <listitem>
            <simpara>Μια λογική τιμή που καθορίζει τη χρήση ομάδων ενοτήτων που ελέγχθηκαν μαζί με τον πηγαίο κώδικα του JHBuild· αντί για μεταφόρτωση τους απευθείας από το σύστημα ελέγχου έκδοσης του GNOME. Προεπιλογή το <constant>ψευδής</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-xvfbargs">
          <term><varname>xvfbargs</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που εμφανίζει τα ορίσματα που θα περαστούν στο <command>Xvfb</command> εάν εκτελούνται γραφικές δοκιμές.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-conditions">
          <term>
            <varname>conditions</varname>
          </term>
          <listitem>
            <simpara>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 <literal>conditions.add()</literal> and
              <literal>conditions.discard()</literal> to modify the list if you want to make changes.</simpara>
            <simpara>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.</simpara>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>

    <section id="config-reference-other">
      <title>Άλλες δομές αρχείου ρυθμίσεων</title>

      <para>Πέρα από τις παραπάνω μεταβλητές, υπάρχουν άλλες ρυθμίσεις που μπορούν να οριστούν στο αρχείο ρυθμίσεων:</para>

      <variablelist>
        <varlistentry id="cfg-os-environ">
          <term><varname>os.environ</varname></term>
          <listitem>
            <para>Ένα λεξικό που αναπαριστά το περιβάλλον. Αυτό το περιβάλλον περνιέται στις διεργασίες που το JHBuild γεννά.</para>

            <para>Μερικές ισχυρές μεταβλητές περιβάλλοντος περιλαμβάνουν <envar>CPPFLAGS</envar>, <envar>CFLAGS</envar>, <envar>INSTALL</envar> και <envar>LDFLAGS</envar>. Για παράδειγμα:</para>

<programlisting>os.environ['CFLAGS'] = '-O0 -g'</programlisting>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><function>addpath</function>(<parameter>envvar</parameter>, <parameter>pathname</parameter>)</term>
          <listitem>
            <para>Αυτό θα προσθέσει έναν κατάλογο στη μεταβλητή περιβάλλοντος <envar>PATH</envar>. Η <function>addpath</function> θα χειριστεί σωστά την περίπτωση όταν η μεταβλητή περιβάλλοντος είναι αρχικά κενή (έχοντας μια αδέσποτη διπλή τελεία στην αρχή ή στο τέλος μιας μεταβλητής περιβάλλοντος μπορεί να έχει αναπάντεχες συνέπειες).</para>

            <para>Η <function>addpath</function> χειρίζεται ειδικά τη μεταβλητή περιβάλλοντος <envar>ACLOCAL_FLAGS</envar>, που περιμένει λίστες διαδρομών στη μορφή <literal>-I <replaceable>όνομα διαδρομής</replaceable></literal>.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term><function>prependpath</function>(<parameter>envvar</parameter>, <parameter>pathname</parameter>)</term>
          <listitem>
            <para>Μετά την επεξεργασία του αρχείου ρυθμίσεων, το JHBuild θα αλλάξει μερικές διαδρομές με βάση τις μεταβλητές όπως <varname>prefix</varname> (π.χ. προσθέτοντας <literal>$prefix/bin</literal> στην αρχή του <envar>PATH</envar>).</para>

            <para>Η συνάρτηση <function>prependpath</function> δουλεύει όπως η <function>addpath</function>, εκτός από το ότι η μεταβλητή περιβάλλοντος τροποποιείται αφού το JHBuild έχει κάνει τις αλλαγές του στο περιβάλλον.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </section>
  </section>

  <section id="moduleset-syntax">
    <title>Σύνταξη αρχείου ορισμού ενότητας</title>

    <para>Το JHBuild χρησιμοποιεί αρχεία XML για να περιγράψει τις εξαρτήσεις μεταξύ ενοτήτων. Ένα σχήμα RELAX-NG και ένας ορισμός τύπου εγγράφου περιλαμβάνονται με το JHBuild στον κατάλογο <filename>modulesets/</filename>. Το σχήμα RELAX-NG μπορεί να χρησιμοποιηθεί για επεξεργασία αρχείων ομάδας ενοτήτων χρησιμοποιώντας το <literal>nxml-mode</literal> στο Emacs.</para>

    <para>Το στοιχείο κορυφαίου επιπέδου σε ένα αρχείο ομάδας ενοτήτων είναι το στοιχείο <sgmltag class="element">moduleset</sgmltag>. Καμία ονοματοθεσία XML δεν χρησιμοποιείται. Τα στοιχεία κάτω από το κορυφαίο επίπεδο έρχονται σε τρεις τύπους: πηγές ενότητας, περιλαμβανομένων των ορισμών προτάσεων και ενοτήτων.</para>

    <para>Content in the moduleset file can be conditionally included by use of the &lt;if&gt; tag to surround the
      conditional content.  It is currently only possible to predicate the inclusion on whether a particular
      condition flag is set or not, using &lt;if condition-set='cond'&gt; or &lt;if condition-unset='cond'&gt;.
      Conditions are set by default on a per-OS basis but can be influenced by way of the
      <varname>conditions</varname> variable in jhbuildrc or the <command>--conditions=</command> commandline
      argument.</para>

    <section id="moduleset-syntax-sources">
      <title>Πηγές ενότητας</title>

      <para>Αντί για λίστες της πλήρους θέσης κάθε ενότητας, ένας αριθμός από "πηγές ενότητες" καταχωρίζονται στην ομάδα ενοτήτων και έπειτα αναφέρονται κατ' όνομα στους ορισμούς ενοτήτων. Επίσης μειώνουν την ποσότητα των περιττών πληροφοριών στην ομάδα ενοτήτων, διευκολύνοντας έναν χρήστη να ορίσει μια εναλλακτική πηγή για αυτές τις ενότητες (για CVS και Subversion, είναι συνηθισμένο οι προγραμματιστές και οι χρήστες να χρησιμοποιούν διαφορετικές μεθόδους πρόσβασης αποθετηρίων).</para>

      <para>Το στοιχείο <sgmltag class="element">repository</sgmltag> χρησιμοποιείται για να περιγράψει όλους τους τύπους του αποθετηρίου. Το στοιχείο <sgmltag class="element">branch</sgmltag> χρησιμοποιείται μέσα στον ορισμό ενότητας για να ορίσει πρόσθετες ρυθμίσεις.</para>

<programlisting>
&lt;repository name="<replaceable>name</replaceable>"
  type="<replaceable>type</replaceable>"
  [ default="<replaceable>default</replaceable>" ]
  [ password="<replaceable>password</replaceable>" ]
  [ cvsroot="<replaceable>cvsroot</replaceable>" ]
  [ archive="<replaceable>archive</replaceable>" ]
  [ href="<replaceable>href</replaceable>" ]
  [ server="<replaceable>server</replaceable>" ]
  [ database="<replaceable>database</replaceable>" ]
  [ defbranch="<replaceable>defbranch</replaceable>" ]
  [ trunk-template="<replaceable>trunk-template</replaceable>" ]
  [ branches-template="<replaceable>branches-template</replaceable>" ]
  [ tags-template="<replaceable>tags-template</replaceable>" ]
  [ developer-href-example="<replaceable>developer-href-example</replaceable>" ] /&gt;
</programlisting>

      <para>Το γνώρισμα <sgmltag class="attribute">name</sgmltag> είναι ένας μοναδικός ταυτοποιητής για το αποθετήριο.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">default</sgmltag> καθορίζει αν αυτό το αποθετήριο είναι η προεπιλεγμένη πηγή για αυτήν την ομάδα ενοτήτων.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">type</sgmltag> καθορίζει τον τύπο του αποθετηρίου. Μπορεί να είναι ένα από τα: <literal>bzr</literal>, <literal>cvs</literal>, <literal>darcs</literal>, <literal>fossil</literal>, <literal>git</literal>, <literal>hg</literal>, <literal>mnt</literal>, <literal>svn</literal>, <literal>tarball</literal>. Άλλα γνωρίσματα εξαρτώνται από τον <sgmltag class="attribute">type</sgmltag>, καθώς και από τον χρησιμοποιούμενο <sgmltag class="element">branch</sgmltag> μέσα στους ορισμούς της ενότητας. Αυτά περιγράφονται παρακάτω στις υποενότητες τύπου αποθετηρίου.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">developer-href-example</sgmltag> χρησιμοποιείται για να ορίσει τη μορφή του URL για το χρησιμοποιούμενο αποθετήριο από τους προγραμματιστές. Αυτί είναι μόνο πληροφοριακό.</para>

      <para>Το στοιχείο <sgmltag class="element">branch</sgmltag> χρησιμοποιείται μέσα στους ορισμούς ενοτήτων.</para>

<programlisting>
&lt;branch
  [ repo="<replaceable>repository</replaceable>" ]
  [ module="<replaceable>module name</replaceable>" ]
  [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
  [ revision="<replaceable>revision</replaceable>" ]
  [ tag="<replaceable>tag</replaceable>" ]
  [ update-new-dirs="<replaceable>update-new-dirs</replaceable>" ]
  [ override-checkoutdir="<replaceable>override-checkoutdir</replaceable>" ]
  [ subdir="<replaceable>subdir</replaceable>" ]
  [ branch="<replaceable>branch</replaceable>" ]
  [ version="<replaceable>version</replaceable>" ]
  [ size="<replaceable>size</replaceable>" ]
  [ source-subdir="<replaceable>source-subdir</replaceable>" ]
  [ hash="<replaceable>hash</replaceable>" ]/&gt;
</programlisting>

      <para>Όλα τα γνωρίσματα έχουν λογικές προεπιλογές και εξαρτώνται από την ενότητα και τους ορισμούς αποθετηρίου. Συνηθισμένα γνωρίσματα περιγράφονται εδώ.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">repo</sgmltag> χρησιμοποιείται για να ορίσει μη προεπιλεγμένο όνομα αποθετηρίου.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">module</sgmltag> χρησιμοποιείται για να ορίσει όνομα ενότητας για έλεγχο εξόδου από το αποθετήριο. Προεπιλογή το αναγνωριστικό ενότητας.</para>

      <para>Το γνώρισμα <sgmltag class="attribute">checkoutdir</sgmltag> χρησιμοποιείται για να ορίσει το όνομα καταλόγου του ελέγχου εξόδου. Προεπιλογή το αναγνωριστικό ενότητας.</para>

      <para>Άλλα γνωρίσματα περιγράφονται παρακάτω</para>

      <section id="moduleset-syntax-sources-bzr">
        <title>Bazaar</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Bazaar. Συνιστάται να έχετε Bazaar 1.16 ή μεγαλύτερο.</para>

<programlisting>
&lt;repository type="bzr" name="launchpad.net"
      href="lp:"/&gt;
        </programlisting>

        <para>Πρόσθετα γνωρίσματα είναι: <sgmltag class="attribute">trunk-template</sgmltag> (προεπιλογή το <literal>"%(module)s"</literal>) και <sgmltag class="attribute">branches-template</sgmltag> (προεπιλογή το <literal>"%(module)s/%(branch)s</literal>"). Αυτά τα γνωρίσματα χρησιμοποιούνται για να ορίσουν πρότυπα για κατασκευή URL. Ένα στοιχείο <sgmltag class="element">branch</sgmltag> στους ορισμούς ενότητας μπορεί να ορίσει γνωρίσματα <sgmltag class="attribute">branch</sgmltag> και <sgmltag class="attribute">user</sgmltag>. Αυτές οι τιμές θα στα πρότυπα. Αν ένα από αυτά ορίζεται χρησιμοποιείται το <sgmltag class="attribute">branches-template</sgmltag>, αλλιώς χρησιμοποιείται το <sgmltag class="attribute">trunk-template</sgmltag>. Έτσι μπορείτε να αντικαταστήσετε το αποθετήριο για να δομήσετε ενότητες από τον προσωπικό σας κλάδο ή να δομήσετε πολλές ενότητες από ένα αποθετήριο με άτυπη διάταξη.</para>

        <para>Μια πρόσθεση στοιχείου <sgmltag class="element">branch</sgmltag> δέχεται το γνώρισμα <sgmltag class="attribute">revspec</sgmltag> να αγκυρωθεί σε μια συγκεκριμένη αναθεώρηση. Οποιοδήποτε έγκυρο <literal>bzr revspec</literal> γίνεται δεκτό, για παράδειγμα <literal>date:yesterday, -5, tag:0.1</literal> για να πάρετε την πρώτη αναθεώρηση από χτες, το 5 υποβάλλει πίσω από την άκρη ή ετικέτα "0.1". Δείτε <literal>bzr help revisionspec</literal> για όλες τις δυνατές τιμές.</para>

        <para>Παράδειγμα αποθετηρίου με ορισμένα γνωρίσματα είναι <sgmltag class="attribute">template</sgmltag>:</para>

<programlisting>
&lt;repository type="bzr" name="launchpad.net"
      href="lp:"
      trunk-template="~bzr-pqm/%(module)s/bzr.dev"
      branches-template="~bzr-pqm/%(module)s/%(branch)s"/&gt;
        </programlisting>

        <para>Παράδειγμα στοιχείων <sgmltag class="element">branch</sgmltag> για το παραπάνω αποθετήριο:</para>

<programlisting>
&lt;branch repo="launchpad.net"
      module="bzr"
      checkoutdir="bzr-next"/&gt;
        </programlisting>

<programlisting>
&lt;branch repo="launchpad.net"
      module="bzr"
      branch="2.2"
      checkoutdir="bzr-beta"/&gt;
        </programlisting>
      </section>

      <section id="moduleset-syntax-sources-cvs">
        <title>CVS</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο CVS.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">password</sgmltag> χρησιμοποιείται για να ορίσει τον κωδικό του αποθετηρίου.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">cvsroot</sgmltag> χρησιμοποιείται για να ορίσει το ριζικό του αποθετηρίου.</para>

<programlisting>
&lt;repository type="cvs" name="tango.freedesktop.org"
    cvsroot=":pserver:anoncvs@anoncvs.freedesktop.org:/cvs/tango"
    password=""/&gt;
        </programlisting>

<!-- TODO describe these attributes -->

        <para>Πρόσθετα γνωρίσματα είναι: <sgmltag class="attribute">revision</sgmltag>, <sgmltag class="attribute">update-new-dirs</sgmltag> και <sgmltag class="attribute">override-checkoutdir</sgmltag>.</para>
      </section>

      <section id="moduleset-syntax-sources-darcs">
        <title>Darcs</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Darcs.</para>

<programlisting>
&lt;repository type="darcs" name="telepathy.freedesktop.org"
      href="http://projects.collabora.co.uk/darcs/telepathy/"/&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-sources-git">
        <title>Git</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Git.</para>

<programlisting>
&lt;repository type="git" name="git.freedesktop.org"
    href="git://anongit.freedesktop.org/git/"/&gt;
        </programlisting>

        <para>Επιτρέπει τα ακόλουθα γνωρίσματα στο στοιχείο <sgmltag class="element">branch</sgmltag>:</para>

        <para>Το γνώρισμα <sgmltag class="attribute">revision</sgmltag> χρησιμοποιείται για να ορίσει έναν τοπικό ή απομακρυσμένης ανίχνευσης κλάδο για εναλλαγή στη φάση ενημέρωσης. Προεπιλογή το 'master'. Είναι δυνατό να αντικαταστήσετε αυτό το γνώρισμα με τη μεταβλητή ρύθμισης <varname>branches</varname>. Η εναλλαγή θα εκτελεστεί μόνο αν ο τρέχον κλάδος ανιχνεύει έναν απομακρυσμένο κλάδο, για να μην διαταράξει τη δική σας εργασία.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">tag</sgmltag> χρησιμοποιείται για να ορίσει μια αναθεώρηση ελέγχου εξόδου ανεπιφύλακτα στη φάση της ενημέρωσης. Υπερισχύει του γνωρίσματος <sgmltag class="attribute">revision</sgmltag>.</para>

<!-- TODO I can't say much about the subdir attribute. In the
        end it will just be appended to checkoutdir.
        https://bugzilla.gnome.org/show_bug.cgi?id=342846
        -->

<programlisting>
&lt;branch repo="git.freedesktop.org" module="swfdec/swfdec"
        checkoutdir="swfdec"
        revision="<replaceable>local-or-remote-branch</replaceable>"
        tag="<replaceable>tree-ish</replaceable>"/&gt;
        </programlisting>
      </section>

      <section id="moduleset-syntax-sources-hg">
        <title>Mercurial</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Mercurial.</para>

<programlisting>
&lt;repository type="hg" name="hg.gtk-vnc"
    href="http://gtk-vnc.codemonkey.ws/hg/" /&gt;
</programlisting>

<programlisting>
&lt;branch repo="hg.gtk-vnc" module="outgoing.hg" checkoutdir="gtk-vnc"/&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-sources-mtn">
        <title>Monotone</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Monotone.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">server</sgmltag> χρησιμοποιείται για να ορίσει τον εξυπηρετητή του αποθετηρίου.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">database</sgmltag> χρησιμοποιείται για να ορίσει τη χρησιμοποιούμενη βάση δεδομένων για το αποθετήριο.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">defbranch</sgmltag> χρησιμοποιείται για να ορίσει τον κλάδο του χρησιμοποιούμενου αποθετηρίου.</para>

<programlisting>
&lt;repository type="mtn" name="pidgin.im"
    server="pidgin.im" database="pidgin.im.mtn"
    defbranch="im.pidgin.pidgin"/&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-sources-svn">
        <title>Subversion</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο Subversion.</para>

<programlisting>
&lt;repository type="svn" name="svn.gnome.org" default="yes"
    href="http://svn.gnome.org/svn/"/&gt;
        </programlisting>

<!-- So how do I checkut out branch at a specific revision? -->

        <para>Επιτρέπει μια <sgmltag class="attribute">revision</sgmltag> στο στοιχείο <sgmltag class="element">branch</sgmltag>. Αυτό το γνώρισμα ορίζει τον κλάδο για έλεγχο εξόδου ή, αν είναι ένας αριθμός, μια συγκεκριμένη αναθεώρηση για έλεγχο εξόδου.</para>

<programlisting>
&lt;branch revision="gnome-2-20"/&gt;
        </programlisting>

        <para>Είναι δυνατό να οριστεί προσαρμοσμένη διάταξη <literal>svn</literal> χρησιμοποιώντας το <sgmltag class="attribute">trunk-template</sgmltag> (προεπιλογή το "%(module)s/trunk"), <sgmltag class="attribute">branches-template</sgmltag> (προεπιλογή το "%(module)s/branches/%(branch)s") και <sgmltag class="attribute">tags-template</sgmltag> (προεπιλογή το "%(module)s/tags/%(tag)s")</para>
      </section>

      <section id="moduleset-syntax-sources-system">
        <title>Σύστημα</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα ψεύτικο αποθετήριο συστήματος. Απαιτείται ένα αποθετήριο συστήματος για να δημιουργηθεί το <link linkend="moduleset-syntax-defs-systemmodule"><sgmltag class="element">systemmodules</sgmltag></link>.</para>

<programlisting>
&lt;repository type="system" name="system"/&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-sources-tarball">
        <title>Tarballs</title>

        <para>Αυτός ο τύπος αποθετηρίου χρησιμοποιείται για να ορίσει ένα αποθετήριο tarball.</para>

<programlisting>
&lt;repository type="tarball" name="dbus/dbus-python"
    href="http://dbus.freedesktop.org/releases/dbus-python/"/&gt;
</programlisting>

        <para>Επιτρέπει τα ακόλουθα γνωρίσματα στο στοιχείο <sgmltag class="element">branch</sgmltag>:</para>

        <para>Το γνώρισμα <sgmltag class="attribute">module</sgmltag> καθορίζει το αρχείο για μεταφόρτωση και μεταγλώττιση, το γνώρισμα <sgmltag class="attribute">version</sgmltag> καθορίζει την έκδοση της ενότητας.</para>

        <para>Τα γνωρίσματα <sgmltag class="attribute">size</sgmltag> και <sgmltag class="attribute">hash</sgmltag>, καθώς και το καταργημένο <sgmltag class="attribute">md5sum</sgmltag> είναι προαιρετικά. Αν αυτά τα γνωρίσματα είναι παρόντα, χρησιμοποιούνται για να ελέγξουν ότι το πηγαίο πακέτο μεταφορτώθηκε σωστά.</para>

        <para>Οποιοσδήποτε αριθμός στοιχείων <sgmltag class="element">patch</sgmltag> μπορεί να εμφωλευτεί μέσα στο στοιχείο <sgmltag class="element">branch</sgmltag>. Αυτά τα μπαλώματα εφαρμόζονται, στο πηγαίο δένδρο μετά την αποσυμπίεση. Το γνώρισμα <sgmltag class="attribute">file</sgmltag> δίνει το όνομα αρχείου στο μπάλωμα και το γνώρισμα <sgmltag class="attribute">strip</sgmltag> λέει πόσα επίπεδα καταλόγων να αφαιρεθούν όταν εφαρμόζεται το μπάλωμα.</para>

        <para>Για ομάδες ενοτήτων που στέλνονται με το JHBuild, τα αρχεία μπαλώματος βρίσκονται στον κατάλογο <filename>jhbuild/patches/</filename>· για ομάδες ενοτήτων που αναφέρονται κατά URI, τα αρχεία μπαλώματος εμφανίζονται στον ίδιο κατάλογο όπως το αρχείο ομάδας ενοτήτων ή στον υποκατάλογο <filename>patches/</filename>. Είναι επίσης δυνατό για το γνώρισμα <sgmltag class="attribute">file</sgmltag> να ορίσετε ένα URI, οπότε θα μεταφορτωθεί από αυτή τη θέση.</para>

<programlisting>
&lt;branch module="dbus-python-0.80.2.tar.gz" version="0.80.2"
    repo="dbus/dbus-python"
    hash="md5:2807bc85215c995bd595e01edd9d2077" size="453499"&gt;
  &lt;patch file="dbus-glib-build.patch" strip="1" /&gt;
&lt;/branch&gt;
</programlisting>

        <para>Ένα στοιχείο tarball <sgmltag class="element">branch</sgmltag> μπορεί επίσης να περιέχει στοιχεία <sgmltag class="element">quilt</sgmltag> που ορίζουν ένθετους <sgmltag class="element">branch</sgmltag> προς εισαγωγή.</para>
      </section>
    </section>

    <section id="moduleset-syntax-includes">
      <title>Συμπεριλαμβάνοντας άλλες ομάδες ενοτήτων</title>

      <para>Το JHBuild επιτρέπει σε μία ομάδα ενοτήτων να συμπεριλάβει τα περιεχόμενα μιας άλλης ομάδας κατά αναφορά χρησιμοποιώντας το στοιχείο <sgmltag class="element">include</sgmltag>.</para>

<programlisting>
&lt;include href="<replaceable>uri</replaceable>"/&gt;
</programlisting>

      <para>Το <sgmltag class="attribute">href</sgmltag> είναι μια αναφορά URI στην ομάδα ενοτήτων που θα συμπεριληφθεί, σχετικά με το αρχείο που περιέχει το στοιχείο <sgmltag class="element">include</sgmltag>.</para>

      <para>Μόνο ορισμοί ενότητας εισάγονται από την αναφερόμενη ομάδα ενοτήτων - πηγές της ενότητας δεν εισάγονται. Πολλαπλά επίπεδα ενσωματώσεων επιτρέπονται, αλλά η συμπερίληψη βρόχων δεν επιτρέπεται (δεν υπάρχει κανένας κώδικας που να χειρίζεται βρόχους προς το παρόν).</para>
    </section>

    <section id="moduleset-syntax-defs">
      <title>Ορισμοί ενότητας</title>

      <para>Υπάρχουν ποικίλοι τύποι ορισμών ενότητας που μπορούν να χρησιμοποιηθούν σε ένα αρχείο ομάδας ενοτήτων και η λίστα μπορεί εύκολα να επεκταθεί. Μόνο οι πιο συνηθισμένοι τύποι θα αναφερθούν εδώ.</para>

      <para>Αποτελούνται όλοι βασικά από ένα στοιχείο <sgmltag class="element">branch</sgmltag> που περιγράφει πώς να πάρετε την ενότητα και στοιχεία <sgmltag class="element">dependencies</sgmltag>, <sgmltag class="element">suggests</sgmltag> και <sgmltag class="element">after</sgmltag> που δηλώνουν τις εξαρτήσεις της ενότητας.</para>

      <para>Οποιεσδήποτε λίστες ενοτήτων στο στοιχείο <sgmltag class="element">dependencies</sgmltag> θα προστεθούν στη λίστα ενοτήτων για <command>jhbuild build</command> αν δεν συμπεριλαμβάνονται ήδη και διασφαλίζουν ότι οι εξαρτημένες ενότητες δομούνται πρώτες.</para>

      <para>Μετά τη δημιουργία της λίστας ενοτήτων, οι ενότητες της λίστας στο στοιχείο <sgmltag class="element">suggests</sgmltag> θα χρησιμοποιηθούν για παραπέρα ταξινόμηση της λίστας ενοτήτων (αν και δεν θα τραβήξουν πρόσθετες ενότητες). Αυτό προορίζεται για περιπτώσεις όπου μια ενότητα έχει μια προαιρετική εξάρτηση σε άλλη ενότητα.</para>

      <section id="moduleset-syntax-defs-autotools">
        <title>autotools</title>

        <para>Το στοιχείο <sgmltag class="element">autotools</sgmltag> χρησιμοποιείται για τον ορισμό μιας ενότητας που μεταγλωττίζεται χρησιμοποιώντας το σύστημα δόμησης GNU Autotools.</para>

<programlisting>
&lt;autotools id="<replaceable>id</replaceable>"
	      [ autogenargs="<replaceable>autogenargs</replaceable>" ]
	      [ makeargs="<replaceable>makeargs</replaceable>" ]
	      [ makeinstallargs="<replaceable>makeinstallargs</replaceable>" ]
	      [ autogen-sh="<replaceable>autogen-sh</replaceable>" ]
	      [ makefile="<replaceable>makefile</replaceable>" ]
	      [ skip-autogen="<replaceable>skip-autogen</replaceable>" ]
	      [ skip-install="<replaceable>skip-install</replaceable>" ]
	      [ autogen-template="<replaceable>autogen-template</replaceable>" ]
	      [ check-target="<replaceable>check-target</replaceable>" ]
	      [ supports-non-srcdir-builds="<replaceable>supports-non-srcdir-builds</replaceable>" ]&gt;

  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;

&lt;/autotools&gt;
</programlisting>

        <para>Τα γνωρίσματα <sgmltag class="attribute">autogenargs</sgmltag> και <sgmltag class="attribute">makeargs</sgmltag> and <sgmltag class="attribute">makeinstallargs</sgmltag> χρησιμοποιούνται για να ορίσουν πρόσθετα ορίσματα που θα περάσουν στα <command>autogen.sh</command>, <command>make</command> και <command>make install</command> αντίστοιχα.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">autogen-sh</sgmltag> καθορίζει το όνομα του σεναρίου autogen.sh που θα εκτελεστεί. Η τιμή <literal>autoreconf</literal> μπορεί να χρησιμοποιηθεί αν η ενότητά σας δεν έχει κανένα ισοδύναμο σενάριο <command>autogen.sh</command>. Σε αυτήν την περίπτωση, το JHBuild θα εκτελέσει <command>autoreconf -fi</command>, ακολουθούμενο από το κατάλληλο <command>configure</command>. Το <sgmltag class="attribute">skip-autogen</sgmltag> επιλέγει αν θα εκτελέσει autogen.sh ή όχι, είναι μια τιμή Μπουλ με πρόσθετη τιμή <literal>never</literal> που λέει στο JHBuild να μην παραλείψει ποτέ την εκτέλεση της <command>autogen.sh</command>. Το <sgmltag class="attribute">skip-install</sgmltag> είναι ένα γνώρισμα τιμής Μπουλ που ορίζει αν θα παραληφθεί η εντολή <command>make install</command> στην ενότητα. Το <sgmltag class="attribute">makefile</sgmltag> καθορίζει το όνομα αρχείου του χρησιμοποιούμενου makefile.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">supports-non-srcdir-builds</sgmltag> χρησιμοποιείται για να σημειώσει ενότητες που δεν μπορούν να δομηθούν καθαρά χρησιμοποιώντας έναν ξεχωριστό κατάλογο πηγής.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">autogen-template</sgmltag> μπορεί να χρησιμοποιηθεί αν χρειάζεστε λεπτότερο έλεγχο στη γραμμή εντολών autogen. Είναι μια συμβολοσειρά μορφής python, που θα αντικατασταθεί με τις ακόλουθες μεταβλητές: <varname>srcdir</varname>, <varname>autogen-sh</varname>, <varname>prefix</varname>, <varname>libdir</varname> και <varname>autogenargs</varname>. Για παράδειγμα, εδώ είναι το προεπιλεγμένο autogen-template:</para>

<programlisting>
%(srcdir)s/%(autogen-sh)s --prefix %(prefix)s --libdir %(libdir)s %(autogenargs)s
</programlisting>

        <para>Το γνώρισμα <sgmltag class="attribute">check-target</sgmltag> πρέπει να καθοριστεί (με ψευδής ως τιμή) για ενότητες που δεν έχουν προορισμό <command>make check</command>.</para>
      </section>

      <section id="moduleset-syntax-defs-cmake">
        <title>cmake</title>

        <para>Το στοιχείο <sgmltag class="element">cmake</sgmltag> χρησιμοποιείται για τον ορισμό μιας ενότητας που δομείται χρησιμοποιώντας το σύστημα δόμησης CMake.</para>

<programlisting>
&lt;cmake id="<replaceable>modulename</replaceable>"&gt;
  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;
&lt;/cmake&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-distutils">
        <title>distutils</title>

        <para>Το στοιχείο <sgmltag class="element">distutils</sgmltag> χρησιμοποιείται για τον ορισμό μιας ενότητας που δομείται χρησιμοποιώντας τα distutils του python.</para>

<programlisting>
&lt;distutils id="<replaceable>modulename</replaceable>"
            [ supports-non-srcdir-builds="<replaceable>yes|no</replaceable>" ]&gt;
  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;
&lt;/distutils&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-linux">
        <title>linux</title>

        <para>Το στοιχείο <sgmltag class="element">linux</sgmltag> ορίζει μια ενότητα που χρησιμοποιείται για δόμηση ενός πυρήνα Λίνουξ. Επιπλέον, μια ξεχωριστή διαμόρφωση πυρήνα μπορεί να επιλεγεί χρησιμοποιώντας το υποστοιχείο <sgmltag class="element">kconfig</sgmltag>.</para>

<programlisting>
&lt;linux id="<replaceable>id</replaceable>"
	  [ makeargs="<replaceable>makeargs</replaceable>" ]&gt;

  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;

  &lt;kconfig [ repo="<replaceable>repo</replaceable>" ]
	    version="<replaceable>version</replaceable>"
	    [ module="<replaceable>module</replaceable>" ]
	    [ config="<replaceable>config</replaceable>" ] /&gt;

&lt;/linux&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-perl">
        <title>perl</title>

        <para>Το στοιχείο <sgmltag class="element">perl</sgmltag> χρησιμοποιείται για δόμηση ενοτήτων perl.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">makeargs</sgmltag> χρησιμοποιείται για ορισμό πρόσθετων ορισμάτων που θα περάσουν στο <command>make</command>.</para>

<programlisting>
&lt;perl id="<replaceable>modulename</replaceable>"
	 [ makeargs="<replaceable>makeargs</replaceable>" ]&gt;

  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;

&lt;/perl&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-systemmodule">
        <title>systemmodule</title>

        <para>Το στοιχείο <sgmltag class="element">systemmodule</sgmltag> χρησιμοποιείται για ορισμό ενοτήτων που πρέπει να παρέχονται από το σύστημα. Η ενότητα πρέπει να εγκατασταθεί από το σύστημα διαχείρισης του πακέτου διανομής.</para>

<programlisting>
&lt;systemmodule id="<replaceable>modulename</replaceable>"&gt;
  &lt;pkg-config&gt;<replaceable>pkg-config</replaceable>.pc&lt;/pkg-config&gt;

  &lt;branch repo="<replaceable>system</replaceable>" version="<replaceable>version</replaceable>" /&gt;
&lt;/systemmodule&gt;
</programlisting>

        <para>Αν η ενότητα συστήματος δεν παρέχει ένα αρχείο pkg-config, η ετικέτα <sgmltag class="element">systemdependencies</sgmltag> μπορεί να χρησιμοποιηθεί για ταυτοποίηση των εξαρτήσεων. Δύο τιμές υποστηρίζονται από το γνώρισμα <sgmltag class="attribute">type</sgmltag> της ετικέτας <sgmltag class="element">dep</sgmltag>:</para>

        <orderedlist>
          <listitem>
            <simpara>Η τιμή <sgmltag class="attvalue">path</sgmltag>. Η διαδρομή αναζητείται για το όνομα προγράμματος που ταιριάζει.</simpara>
          </listitem>
          <listitem>
            <simpara>Η τιμή <sgmltag class="attvalue">c_include</sgmltag>. Η διαδρομή συμπερίληψης της C αναζητείται για το σύμφωνο όνομα κεφαλίδας. Το <sgmltag class="attribute">name</sgmltag> μπορεί να περιλαμβάνει έναν υποκατάλογο. Η διαδρομή αναζήτησης συμπερίληψης της C μπορεί να τροποποιηθεί ορίζοντας το <varname>CPPFLAGS</varname> στις μεταβλητές διαμόρφωσης <varname>cflags</varname> ή <link linkend="cfg-module-autogenargs"><varname>module_autogenargs</varname></link>.</simpara>
          </listitem>
        </orderedlist>

<programlisting>
&lt;systemmodule id="<replaceable>modulename</replaceable>"&gt;
  &lt;branch repo="<replaceable>system</replaceable>" version="<replaceable>version</replaceable>" /&gt;
  &lt;systemdependencies&gt;
    &lt;dep type="path" name="<replaceable>executable-name</replaceable>" /&gt;
  &lt;/systemdependencies&gt;
&lt;/systemmodule&gt;

&lt;systemmodule id="<replaceable>modulename</replaceable>"&gt;
  &lt;branch repo="<replaceable>system</replaceable>" version="<replaceable>version</replaceable>" /&gt;
  &lt;systemdependencies&gt;
    &lt;dep type="c_include" name="<replaceable>header-name</replaceable>" /&gt;
  &lt;/systemdependencies&gt;
&lt;/systemmodule&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-waf">
        <title>waf</title>

        <para>Το στοιχείο <sgmltag class="element">waf</sgmltag> χρησιμοποιείται για τον ορισμό μιας ενότητας που δομείται χρησιμοποιώντας το σύστημα δόμησης Waf.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">waf-command</sgmltag> χρησιμοποιείται για τον ορισμό του σεναρίου εντολής waf που θα χρησιμοποιηθεί· προεπιλογή το <command>waf</command>.</para>

        <para>Το γνώρισμα <sgmltag class="attribute">python-command</sgmltag> χρησιμοποιείται για ορισμό του εκτελέσιμου Python που θα χρησιμοποιηθεί· προεπιλογή το <command>python</command>. Αυτό είναι χρήσιμο για δόμηση ενοτήτων στην έκδοση 3 του Python.</para>

<programlisting>
&lt;waf id="<replaceable>modulename</replaceable>"&gt;
	 [ python-command="<replaceable>python-command</replaceable>" ]
	 [ waf-command="<replaceable>waf-command</replaceable>" ]&gt;
  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;
&lt;/waf&gt;
</programlisting>
      </section>

      <section id="moduleset-syntax-defs-testmodule">
        <title>testmodule</title>

        <para>Το στοιχείο <sgmltag class="element">testmodule</sgmltag> χρησιμοποιείται για δημιουργία μιας ενότητας που τρέχει μια σειρά δοκιμών χρησιμοποιώντας LDTP ή Dogtail.</para>

<programlisting>
&lt;testmodule id="<replaceable>id</replaceable>"
	       type="<replaceable>type</replaceable>"&gt;

  &lt;branch [ ... ] &gt;
    [...]
  &lt;/branch&gt;

  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;after&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/after&gt;

  &lt;testedmodules&gt;
    &lt;tested package="<replaceable>package</replaceable>" /&gt;
  &lt;/testedmodules&gt;

&lt;/testmodule&gt;
</programlisting>

        <para>Το γνώρισμα <sgmltag class="attribute">type</sgmltag> δίνει τον τύπο των δοκιμών που θα εκτελεστεί στην ενότητα. Το 'dogtail' χρησιμοποιεί python για να καλέσει όλα τα αρχεία .py. Το 'ldtp' καλεί 'ldtprunner run.xml'.</para>

        <para>Εκτός και έχει οριστεί η επιλογή σύνθεσης noxvfb, ένας εξυπηρετητής Xvfb ξεκινά να εκτελέσει τις δοκιμές σε</para>
      </section>

      <section id="moduleset-syntax-defs-metamodule">
        <title>μεταενότητα</title>

        <para>Το στοιχείο <sgmltag class="element">metamodule</sgmltag> ορίζει μια ενότητα που δεν κάνει τίποτα στην πραγματικότητα. Ο μόνος σκοπός μιας ενότητας αυτού του τύπου είναι οι εξαρτήσεις του.</para>

        <para>Για παράδειγμα, το meta-gnome-desktop εξαρτάται από όλα τα βασικά συστατικά της επιφάνειας εργασίας GNOME, συνεπώς λέγοντας στο JHBuild να το εγκαταστήσει εγκαθιστά στην πραγματικότητα την πλήρη επιφάνεια εργασίας.</para>

<programlisting>
&lt;metamodule id="<replaceable>modulename</replaceable>"&gt;
  &lt;dependencies&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/dependencies&gt;
  &lt;suggests&gt;
    &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
    ...
  &lt;/suggests&gt;
&lt;/metamodule&gt;
</programlisting>

        <para>Το γνώρισμα <sgmltag class="attribute">id</sgmltag> δίνει το όνομα της ενότητας. Τα θυγατρικά στοιχεία χειρίζονται όπως τα <link linkend="moduleset-syntax-defs-autotools"><sgmltag class="element">autotools</sgmltag></link>.</para>
      </section>
    </section>

    <section id="moduleset-deprecated-elements">
      <title>Ξεπερασμένα στοιχεία</title>

      <section id="moduleset-deprecated-elements-syntax-sources">
        <title>Πηγές ενότητας</title>

        <section id="moduleset-syntax-sources-cvsroot">
          <title>cvsroot</title>

          <para>Το στοιχείο <sgmltag class="element">cvsroot</sgmltag> είναι τώρα παρωχημένο - το στοιχείο <sgmltag class="element">repository</sgmltag> πρέπει να χρησιμοποιηθεί στη θέση του.</para>

          <para>Το στοιχείο <sgmltag class="element">cvsroot</sgmltag> χρησιμοποιείται για να περιγράψει ένα αποθετήριο CVS.</para>

<programlisting>
  &lt;cvsroot name="<replaceable>rootname</replaceable>"
           [ default="<replaceable>yes|no</replaceable>" ]
           root="<replaceable>anon-cvsroot</replaceable>"
           password="<replaceable>anon-password</replaceable>"/&gt;
</programlisting>

          <para>Το γνώρισμα <sgmltag class="attribute">name</sgmltag> πρέπει να είναι ένας μοναδικός ταυτοποιητής για το αποθετήριο CVS.</para>

          <para>Το γνώρισμα <sgmltag class="attribute">default</sgmltag> λέει αν αυτό είναι η προεπιλεγμένη πηγή ενότητας για αυτό το αρχείο της ομάδας ενοτήτων.</para>

          <para>Το γνώρισμα <sgmltag class="attribute">root</sgmltag> δίνει τη λίστα των χρησιμοποιούμενων ριζικών CVS για ανώνυμη πρόσβαση σε αυτό το αποθετήριο και το γνώρισμα <sgmltag class="attribute">password</sgmltag> δίνει τον χρησιμοποιούμενο κωδικό πρόσβασης για ανώνυμη πρόσβαση.</para>
        </section>

        <section id="moduleset-syntax-sources-svnroot">
          <title>svnroot</title>

          <para>Το στοιχείο <sgmltag class="element">svnroot</sgmltag> είναι τώρα παρωχημένο - το στοιχείο <sgmltag class="element">repository</sgmltag> πρέπει να χρησιμοποιηθεί στη θέση του.</para>

          <para>Το στοιχείο <sgmltag class="element">svnroot</sgmltag> χρησιμοποιείται για να περιγράψει ένα αποθετήριο Subversion.</para>

<programlisting>
  &lt;svnroot name="<replaceable>rootname</replaceable>"
           [ default="<replaceable>yes|no</replaceable>" ]
           href="<replaceable>anon-svnroot</replaceable>"/&gt;
</programlisting>

          <para>Το γνώρισμα <sgmltag class="attribute">name</sgmltag> πρέπει να είναι ένας μοναδικός ταυτοποιητής για το αποθετήριο Subversion.</para>

          <para>Το γνώρισμα <sgmltag class="attribute">default</sgmltag> λέει αν αυτό είναι η προεπιλεγμένη πηγή ενότητας για αυτό το αρχείο της ομάδας ενοτήτων.</para>

          <para>Το γνώρισμα <sgmltag class="attribute">href</sgmltag> δίνει τη λίστα της βάσης URL για το αποθετήριο. Αυτό θα είναι προφανώς είτε ένα <literal>http</literal>, <literal>https</literal> ή <literal>svn</literal> URL.</para>
        </section>
      </section>

<!-- end of deprecated module sources -->

      <section>
        <title>Παρωχημένοι τύποι ενοτήτων</title>

        <warning>
          <para>Αυτή η ενότητα περιγράφει παρωχημένα στοιχεία, που μπορεί να χρησιμοποιούνται ακόμα σε υπάρχουσες ομάδες ενοτήτων αλλά υποδεικνύεται να μην χρησιμοποιούνται πια.</para>
        </warning>

        <section id="moduleset-syntax-defs-tarball">
          <title>tarball</title>

          <important>
            <para>Αυτό το παρωχημένο στοιχείο είναι απλά ένα λεπτό περίβλημα γύρω και από τον τύπο ενότητας <sgmltag class="element">autotools</sgmltag> και τον τύπο αποθετηρίου <sgmltag class="element">tarball</sgmltag>.</para>
          </important>

          <para>The <sgmltag class="element">tarball</sgmltag> element is used to define a module that is to be built from a tarball.</para>

<programlisting>
  &lt;tarball id="<replaceable>modulename</replaceable>"
              [ version="<replaceable>version</replaceable>" ]
              [ checkourdir="<replaceable>checkoutdir</replaceable>" ]
              [ autogenargs="<replaceable>autogenargs</replaceable>" ]
              [ makeargs="<replaceable>makeargs</replaceable>" ]
              [ autogen-sh="<replaceable>autogen-sh</replaceable>" ]
              [ supports-non-srcdir-builds="<replaceable>yes|no</replaceable>" ]&gt;
    &lt;source href="<replaceable>source-url</replaceable>"
            [ size="<replaceable>source-size</replaceable>" ]
            [ hash="<replaceable>source-algo:source-hash</replaceable>" ]
            [ md5sum="<replaceable>source-md5sum</replaceable>" ]/&gt;
    &lt;patches&gt;
      &lt;patch file="<replaceable>filename</replaceable>" strip="<replaceable>level</replaceable>"/&gt;
      ...
    &lt;/patches&gt;
    &lt;dependencies&gt;
      &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
      ...
    &lt;/dependencies&gt;
    &lt;suggests&gt;
      &lt;dep package="<replaceable>modulename</replaceable>"/&gt;
      ...
    &lt;/suggests&gt;
  &lt;/tarball&gt;
</programlisting>

          <para>Τα γνωρίσματα <sgmltag class="attribute">id</sgmltag> και <sgmltag class="attribute">version</sgmltag> χρησιμοποιούνται για ταυτοποίηση της ενότητας.</para>

          <para>Το στοιχείο <sgmltag class="element">source</sgmltag> καθορίζει το αρχείο για μεταφόρτωση και μεταγλώττιση. Το γνώρισμα <sgmltag class="attribute">href</sgmltag> είναι υποχρεωτικό, ενώ τα γνωρίσματα <sgmltag class="attribute">size</sgmltag> και <sgmltag class="attribute">hash</sgmltag>, καθώς και το καταργημένο <sgmltag class="attribute">md5sum</sgmltag> είναι προαιρετικά. Εάν αυτά τα δύο τελευταία γνωρίσματα είναι παρόντα, χρησιμοποιούνται να ελέγξουν αν το πηγαίο πακέτο μεταφορτώθηκε σωστά.</para>

          <para>Το στοιχείο <sgmltag class="element">patches</sgmltag> χρησιμοποιείται για να ορίσει ένα ή περισσότερα μπαλώματα που εφαρμόζονται στο πηγαίο δένδρο μετά την αποσυμπίεση, το γνώρισμα <sgmltag class="attribute">file</sgmltag> δίνει το όνομα αρχείου του μπαλώματος και το γνώρισμα <sgmltag class="attribute">strip</sgmltag> λέει πόσα επίπεδα καταλόγων να αφαιρεθούν όταν εφαρμόζεται το μπάλωμα.</para>

          <para>Για ομάδες ενοτήτων που στέλνονται με το JHBuild, τα αρχεία μπαλώματος βρίσκονται στον κατάλογο <filename>jhbuild/patches/</filename>· για ομάδες ενοτήτων που αναφέρονται κατά URI, τα αρχεία μπαλώματος εμφανίζονται στον ίδιο κατάλογο όπως το αρχείο ομάδας ενοτήτων ή στον υποκατάλογο <filename>patches/</filename>. Είναι επίσης δυνατό για το γνώρισμα <sgmltag class="attribute">file</sgmltag> να ορίσετε ένα URI, οπότε θα μεταφορτωθεί από αυτή τη θέση.</para>

          <para>Τα άλλα γνωρίσματα και τα στοιχεία <sgmltag class="element">dependencies</sgmltag>, <sgmltag class="element">suggests</sgmltag> και <sgmltag class="element">after</sgmltag> επεξεργάζονται όπως τα <link linkend="moduleset-syntax-defs-autotools">autotools</link>.</para>
        </section>
      </section>

<!-- end of deprecated module types -->
    </section>

<!-- end of deprecated elements -->
  </section>
</article>
