<?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>Ελληνική μεταφραστική ομάδα GNOME</firstname>
      </personname>
      <email>team@lists.gnome.gr</email>
    </othercredit>
    <copyright>
      
        <year>2009 - 2014</year>
      
      <holder>Ελληνική μεταφραστική ομάδα GNOME</holder>
    </copyright>
  
    <othercredit class="translator">
      <personname>
        <firstname>Τουρνάρης Παύλος-Πέτρος</firstname>
      </personname>
      <email>p.tournaris@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2009</year>
      
      <holder>Τουρνάρης Παύλος-Πέτρος</holder>
    </copyright>
  
    <othercredit class="translator">
      <personname>
        <firstname>Μάριος Ζηντίλης</firstname>
      </personname>
      <email>m.zindilis@dmajor.org</email>
    </othercredit>
    <copyright>
      
        <year>2010</year>
      
      <holder>Μάριος Ζηντίλης</holder>
    </copyright>
  
    <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>
  
    <othercredit class="translator">
      <personname>
        <firstname>Μαρία Θουκυδίδου</firstname>
      </personname>
      <email>marablack3@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2014</year>
      
      <holder>Μαρία Θουκυδίδου</holder>
    </copyright>
  
    <othercredit class="translator">
      <personname>
        <firstname>Μαρία Μαυρίδου</firstname>
      </personname>
      <email>mavridou@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2014</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 can build modules from a variety of sources, including
      <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>
      repositories, as well as Tar and Zip archives hosted on web or FTP sites.
      JHBuild can build modules using a variety of build systems, including
      Autotools, CMake, Meson, WAF, Python Distutils and 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>Ο συνιστώμενος τρόπος για τη λήψη του JHBuild είναι με το σύστημα ελέγχου εκδόσεων (VCS) <command>git</command>. Αυτό μπορεί να επιτευχθεί με την εντολή που ακολουθεί. Συνιστάται να εκτελέσετε την εντολή από ένα νέο φάκελο, όπου θα εγκατασταθεί όλος ο πηγαίος κώδικας, για παράδειγμα <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>Αν τα πιο πάνω βήματα ολοκληρωθούν επιτυχώς, ένα μικρό script κελύφους θα εγκατασταθεί στο <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>Οι δειγματικές ρυθμίσεις θα κάνουν το JHBuild να δομήσει τα αρθρώματα <application>meta-gnome-core</application> και <application>meta-gnome-apps-tested</application> και τις εξαρτήσεις του από την ομάδα αρθρωμάτων <systemitem>gnome-apps</systemitem>. Το JHBuild θα ξεπακετάρει τα πηγαία δένδρα στο <filename>~/jhbuild/checkout/</filename> και θα εγκαταστήσει όλα τα αρχεία σε υποκαταλόγους του <filename>~/jhbuild/install/</filename>. Οι δύο αυτοί κατάλογοι πρέπει να είναι εγγράψιμοι.</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 θα κατεβάσει τον κώδικα από αποθετήρια χρησιμοποιώντας μια ανώνυμη τοποθεσία αποθετηρίου. Τα κλειδιά του λεξικού είναι σύντομα ονόματα αποθετηρίων και οι αξίες τους είναι strings εναλλακτικών τοποθεσιών αποθετηρίων. Για παράδειγμα:</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. If <link linkend="cfg-buildroot">
              <varname>buildroot</varname></link> is set to
              <constant>None</constant>, 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>Μια συμβολοσειρά καθορίζει το πρόθεμα στο οποίο θα εγκατασταθούν τα αρθρώματα. Το <varname>prefix</varname> πρέπει να είναι απόλυτη διαδρομή. Αυτός ο κατάλογος πρέπει να είναι εγγράψιμος. Η προεπιλογή είναι <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> για διαφορετικές διανομές διατηρείται στην ιστοσελίδα wiki του 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>. Για παράδειγμα, για να δομήσετε το 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, και τη σειρά με την οποία θα δομηθούν, χρησιμοποιήστε την εντολή <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 libraries.</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> για διαφορετικές διανομές συντηρείται στην ιστοσελίδα wiki του 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>run</command>:</para>

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

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

      <para>Create a new user account to run the JHBuild GNOME. Running
        JHBuild GNOME using a different user account is recommended to avoid
        problems caused by user settings stored in the home directory. This
        manual refers to the new account as
        <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>Ενεργοποίηση υπηρεσιών συστήματος. Το JHBuild GNOME θα χρησιμοποιήσει το σύστημα <filename>/usr/bin</filename> της υπηρεσίας <application>D-Bus</application> και τις υπηρεσίες συστήματος μέσα στο <filename>/usr/share/dbus-1/system-services/</filename>. Το JHBuild GNOME θα χρησιμοποιήσει τη συνεδρία JHBuild της υπηρεσίας <application>D-Bus</application> και τις υπηρεσίες μέσα στο <filename><replaceable>~/jhbuild/install/</replaceable>/share/dbus-1/services/</filename>. Αντικαταστήστε το <filename>~/jhbuild/install</filename> με την εγκατάσταση του GNOME <varname>prefix</varname> στην παρακάτω εντολή:</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>Δημιουργήστε μία δέσμη ενεργειών εκκίνησης του GNOME στο <filename>/usr/bin/gnome-jhbuild-session</filename> με το εξης, αντικαθιστώντας το <filename>~/jhbuild/install</filename> με την εγκατάσταση GNOME <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 id="static-analysis">
      <title>Static Analysis</title>

      <para>JHBuild supports running static analysis tools on the code in
        modules as they’re built. To enable this, set the
        <varname>static_analyzer</varname> configuration variable
        to <constant>True</constant> in
        the <filename>.jhbuildrc</filename> configuration file.</para>

      <para>If enabled, every time a module is built using JHBuild, the build
        process will be wrapped in a static analyzer, which will generate a
        report of any problems it finds with the code. These reports are saved
        as HTML files in subdirectories of
        <filename>/tmp/jhbuild_static_analyzer</filename> (by default; the path
        can be changed using the <varname>static_analyzer_outputdir</varname>
        configuration variable).</para>

      <para>Static analysis currently only works for modules which use autotools
        as their build system. It requires the <command>scan-build</command>
        program to be installed, although the command it uses can be changed by
        modifying the <varname>static_analyzer_template</varname> configuration
        variable.</para>
    </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</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>Χρησιμοποιήστε μια ομάδα αρθρωμάτων άλλη από την ομάδα αρθρωμάτων που εμφανίζεται στο αρχείο ρυθμίσεων. Αυτή η επιλογή μπορεί να είναι μια σχετική διαδρομή αν η ομάδα αρθρωμάτων είναι τοποθετημένη στον φάκελο ομάδας αρθρωμάτων JHBuild, ή σε μια απόλυτη διαδρομή αν είναι τοποθετημένο αλλού.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--no-interact</option></term>
        <listitem>
          <simpara>Να μην προτρέπεται στην χρήστη καμία εισαγωγή. Αυτή η επιλογή είναι χρήσιμη εάν αφήνετε μια αφύλακτη δόμηση, για να βεβαιωθείτε ότι η δόμηση δεν διακόπηκε.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>--exit-on-error</option>
        </term>
        <listitem>
          <simpara>Exit immediately if a module fails to build. This option is
            primarily useful in noninteractive mode, in order to ensure jhbuild
            does not continue to build any additional modules.</simpara>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term><option>--conditions</option></term>
        <listitem>
          <simpara>Τροποιήστε τις σημαίες κατάστασης ώστε να είναι διαφορετικές από εκείνες που καθορίζονται με βάση το λειτουργικό σύστημα και από εκείνες που ορίζονται στο jhbuildrc. Οι τροποποιήσεις ορίζονται ως <literal>-wayland</literal> ή ως <literal>+docs</literal> ούτως ώστε να απομακρύνονται ή να προστίθενται καταστάσεις. Πολλαπλές τροποποιήσεις μπορούν να διαχωρίζονται με ένα κόμμα, όπως <command>--conditions=+docs,-wayland</command> ή μπορείτε να τις ξεχωρίσετε με τη βοήθεια πολλαπλών <command>--conditions</command> ορισμάτων.</simpara>
        </listitem>
      </varlistentry>
    </variablelist>

    <para>Additionally, JHBuild checks the presence, and value, of the
      following environment variables:</para>

    <variablelist>
      <varlistentry>
        <term><envar>JHBUILD_RUN_AS_ROOT</envar></term>
        <listitem>
          <simpara>By default, JHBuild does not run when using the root user,
            to avoid destructive operations that may affect the whole system.
            In certain cases, though, it's acceptable to run JHBuild as root;
            for instance, inside a container, or in a continuous integration
            environment. Exporting the <envar>JHBUILD_RUN_AS_ROOT</envar> will
            disable the user id check at startup.</simpara>
        </listitem>
      </varlistentry>
    </variablelist>

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

    <section id="command-reference-autobuild">
      <title>autobuild</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>Αυτή η επιλογή καθορίζει τη διεύθυνση του 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>bootstrap</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>build</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">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>This option will delete any uncommitted changes.
              </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">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">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>gui</title>

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

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

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

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

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

      <cmdsynopsis><command>jhbuild info</command>
          <arg choice="opt">--installed</arg>
          <arg choice="opt" rep="repeat">module</arg>
      </cmdsynopsis>

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

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

      <para>If the <option>--installed</option> option is specified, the output will
        be filtered to include only installed packages. This resulting output only
        contains modules that were actually built and installed by jhbuild. The output
        does not include system dependencies.
      </para>

      <note>
        <simpara>
          If the <option>--installed</option> option is specified together with one or more module names,
          then only the installed modules (not including system dependencies) are printed out.
          If at least one module is not installed, then the command will exit with a return value of 1.
        </simpara>
      </note>
    </section>

    <section id="command-reference-list">
      <title>list</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">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>run</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, αυτή η εντολή μπορεί να είναι χρήσιμη σε scripts εκκίνησης Χ.</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>sanitycheck</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>shell</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> θα οριστεί ‎"true" όταν αυτό το κέλυφος είναι ενεργό. Μπορείτε να χρησιμοποιήσετε την παρουσία αυτής της μεταβλητής για να προσαρμόσετε την προτροπή του κελύφους για να δείξετε ότι είσαστε πραγματικά στο κέλυφος που ελέγχεται από το 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>sysdeps</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>False</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>uninstall</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>update</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>Οι μεταβλητές ρύθμισης boolean ορίζονται χρησιμοποιώντας σύνταξη όπως εμφανίζεται στο παρακάτω παράδειγμα:</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>Μια μεταβλητή boolean αν οριστεί σε <constant>True</constant>, εκτελεί πάντα μια <command>autogen.sh</command>. Αυτό είναι το ισοδύναμο με το πέρασμα της επιλογής <option>--autogen</option> στο JHBuild. Προεπιλογή το <constant>False</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 of module branch. E.g.
                  <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>A string specifying the parent directory to place build
              trees. Defaults to <filename>~/.cache/jhbuild/build</filename>.
              Setting the value to <constant>None</constant> causes builds
              to be performed within the source trees.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-buildscript">
          <term><varname>buildscript</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που καθορίζει ποιο σενάριο δόμησης θα χρησιμοποιηθεί. Η συνιστώμενη ρύθμιση είναι η προεπιλογή, <literal>terminal</literal>. Ειδικά, μην ορίζετε σε <literal>gtk</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-build-policy">
          <term><varname>build_policy</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που ορίζει ποια αρθρώματα θα δομηθούν. Οι τρεις δυνατές επιλογές είναι <literal>all</literal>, για τη δόμηση όλων των ζητούμενων αρθρωμάτων, <literal>updated</literal> για τα αρθρώματα μόνο που έχουν αλλάξει, ή <literal>εupdated-deps</literal> για δόμηση των αρθρωμάτων που έχουν αλλάξει ή που έχουν εξαρτήσεις που έχουν αλλάξει. Προεπιλογή το <literal>updated-deps</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>update</literal>. Αυτό μπορεί να οριστεί ανά άρθρωμα χρησιμοποιώντας το <varname>module_checkout_mode</varname>. Δυνατές τιμές είναι <literal>update</literal> (ενημέρωση καταλόγου αντιγράφου εργασίας), <literal>clobber</literal> (διαγραφή καταλόγου πριν τον έλεγχο εξόδου των πηγών), <literal>export</literal> (διαγραφή καταλόγου, έπειτα δημιουργία ενός αντιγράφου χωρίς έκδοση των πηγών) και <literal>copy</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-disable-Werror">
          <term><varname>disable_Werror</varname></term>
          <listitem>
            <simpara>
              A boolean value (default <literal>True</literal>) which controls if
              <literal>--disable-Werror</literal> will be passed to automake builds.  Many packages use this
              flag as a way to disable fatal compiler warnings.  The value of <literal>True</literal> is
              selected as a reasonable default for those using jhbuild as a means to get an up-to-date version of
              software packages without being side-tracked by build failures in other people's modules.
              Setting this value to <literal>False</literal> may make sense for those using jhbuild as part of
              a continuous integration or testing system.
            </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="exit-on-error">
          <term>
            <varname>exit_on_error</varname>
          </term>
          <listitem>
            <simpara>A boolean value specifying whether to exit immediately when a
              module fails to build. This is primarily useful in noninteractive
              mode, in order to prevent additional modules from building after
              one fails. Setting this value to <constant>True</constant> is
              equivalent to passing the <option>--exit-on-error</option> option.
              Defaults to <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-extra-prefixes">
          <term><varname>extra_prefixes</varname></term>
          <listitem>
            <simpara>A list of strings specifying, in precedence order, the list
              of extra prefixes.  JHBuild sets many environment variables (such
              as <envar>LD_LIBRARY_PATH</envar>, <envar>PKG_CONFIG_PATH</envar>
              and <envar>XDG_DATA_DIRS</envar>) based on the
              <varname>prefix</varname> variable.  Adding directories to
              <varname>extra_prefixes</varname> will cause these prefixes to be
              included as well, at a lower precedence than the JHBuild
              <varname>prefix</varname>, but at a higher precedence than system
              directories.  This variable is empty by default except on systems
              that install software in <filename>/usr/local</filename>, in which
              case it contains this directory.
            </simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-help-website">
          <term><varname>help_website</varname></term>
          <listitem>
            <simpara>Μια πλειάδα που καθορίζει ένα όνομα ιστοτόπου βοήθειας και την διεύθυνση. Ο ιστότοπος εμφανίζεται στο tinderbox html για αποτυχημένα αρθρώματα. Το <varname>%(module)s</varname> στην διεύθυνση θα αντικατασταθεί με το όνομα του αρθρώματος. Για απενεργοποίησή του, ορίστε το <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>A string specifying a program to use as replacement for
              <literal>/usr/bin/install</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-ignore-suggests">
          <term><varname>ignore_suggests</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean καθορίζει εάν θα αγνοηθούν χαλαρές εξαρτήσεις όταν υπολογίζει το δένδρο εξάρτησης. Η προεπιλογή είναι <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-interact">
          <term><varname>interact</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που ορίζει αν θα αλληλεπιδράσει με τον χρήστη. Ορίζοντας αυτήν την τιμή σε <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>Μια τιμή boolean που καθορίζει αν θα εκτελεστεί το <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>Μια τιμή boolean που καθορίζει αν οι αποτυχίες κατά την εκτέλεση του <command>make check</command> πρέπει να είναι μόνο συμβουλευτικές και να μην προκαλούν αποτυχία δόμησης. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makeclean">
          <term><varname>makeclean</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει αν θα εκτελεστεί το <command>make clean</command> πριν το <command>make</command>. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-makedist">
          <term><varname>makedist</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει αν θα εκτελεστεί το <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>Μια τιμή boolean που καθορίζει αν θα εκτελεστεί το <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>Ένα λεξικό που αντιστοιχίζει τα ονόματα των αρθρωμάτων σε τιμές boolean καθορίζοντας αν θα εκτελεστεί το <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>Ένα λεξικό που αντιστοιχίζει τα ονόματα αρθρωμάτων σε τιμές boolean. Αν ένα άρθρωμα οριστεί σε <constant>True</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-module-static-analyzer">
          <term>
            <varname>module_static_analyzer</varname>
          </term>
          <listitem>
            <simpara>Dictionary mapping module names to boolean values
              indicating whether static analysis should be performed while
              building that module. This allows the global
              <varname>static_analyzer</varname> configuration option to be
              overridden.</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> στο Linux, <command>nice</command> σε άλλα Unix. Αυτό μπορεί να βελτιώσει δραματικά την αλληλεπίδραση της επιφάνειας εργασίας για παράλληλες δομήσεις, ενώ έχει μόνο μια αμελητέα επίδραση στην απόδοση δόμησης.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nobuild">
          <term><varname>nobuild</varname></term>
          <listitem>
            <simpara>A boolean value, if set to <constant>True</constant>
              JHBuild will not build modules, but just download and unpack the
              sources. The default value is <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nonetwork">
          <term><varname>nonetwork</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει αν θα προσπελάσετε το δίκτυο. Αυτό επηρεάζει τον έλεγχο εξόδου ή ενημέρωσης των αρθρωμάτων CVS, λήψης tarballs και ενημέρωσης ομάδων αρθρωμάτων. Η ρύθμιση αυτού σε <constant>True</constant> είναι ισοδύναμη με το πέρασμα της επιλογής <option>--no-network</option>. Προεπιλογή το <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nonotify">
          <term><varname>nonotify</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει αν θα αναδύονται ειδοποιήσεις χρησιμοποιώντας την υπηρεσία ειδοποιήσεων. Αν οριστεί σε <constant>False</constant>, οι ειδοποιήσεις αναδύονται. Προεπιλογή το <constant>True</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-nopoison">
          <term><varname>nopoison</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean, αν καθοριστεί σε <constant>True</constant> το JHBuild προσπαθεί να δομήσει τα αρθρώματα ακόμα κι αν μία ή περισσότερες από τις εξαρτήσεις του αρθρώματος αποτύχει να δομήσει. Αυτή η επιλογή είναι ισοδύναμη με το όρισμα <option>--no-poison</option>. Η προεπιλεγμένη τιμή είναι <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-notrayicon">
          <term><varname>notrayicon</varname></term>
          <listitem>
            <simpara>A boolean value specifying whether to show an icon in the
              system tray using Zenity. If set to <constant>False</constant>,
              an icon is shown. Defaults to <constant>True</constant>.
            </simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-noxvfb">
          <term><varname>noxvfb</varname></term>
          <listitem>
            <simpara>A boolean value, if set to <constant>True</constant>
              JHBuild will run any graphical tests on the real X server, rather
              than using <command>Xvfb</command>. This option is equivalent to
              passing <option>--no-xvfb</option>. The default value is
              <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-partial-build">
          <term><varname>partial_build</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean, αν καθοριστεί σε <constant>True</constant> το JHBuild δεν θα δομήσει αρθρώματα εξάρτησης αν τα αντίστοιχα πακέτα του συστήματος είναι εγκατεστημένα και επαρκούς έκδοσης. Προεπιλογή το <constant>True</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-prefix">
          <term><varname>prefix</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά καθορίζει το πρόθεμα στο οποίο θα εγκατασταθούν τα αρθρώματα. Το <varname>prefix</varname> πρέπει να είναι απόλυτη διαδρομή. Αυτός ο κατάλογος πρέπει να είναι εγγράψιμος. Η προεπιλογή είναι <literal>~/jhbuild/install/'</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-pretty-print">
          <term><varname>pretty_print</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει αν η έξοδος της υποδιεργασίας θα εμφανιστεί σε επιμελημένη μορφή. Μόνο η έξοδος CVS υποστηρίζει επιμελημένη εκτύπωση. Απενεργοποιήστε αν η επιμελημένη εκτύπωση προκαλεί προβλήματα. Προεπιλογή σε <literal>True</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>Μια τιμή boolean που καθορίζει αν θα εμφανίζεται μια γραμμή προόδου κατά τη διάρκεια της <link linkend="cfg-quiet-mode">quiet mode</link>. Προεπιλογή το <literal>True</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-quiet-mode">
          <term><varname>quiet_mode</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean, αν καθοριστεί σε <constant>True</constant> απενεργοποιεί το αποτέλεσμα των εκτελούμενων εντολών. Προεπιλογή το <literal>False</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>Μια λίστα αρθρωμάτων προς παράβλεψη. Αυτή η επιλογή <option>--skip</option> της γραμμής εντολών επεκετείνει τη λίστα. Η λίστα είναι κενή από προεπιλογή. Αν η λίστα περιέχει την ειδική τιμή <literal>'*'</literal>, τότε το JHBuild θα προσπεράσει όλα τα αρθρώματα που δεν συμπεριλαμβάνονται ρητά στη μεταβλητή <varname>modules</varname>. Αυτό μπορεί να είναι χρήσιμο αν θέλετε να δημιουργήσετε αρθρώματα χωρίς τις ρητές εξαρτήσεις τους.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-static-analyzer">
          <term>
            <varname>static_analyzer</varname>
          </term>
          <listitem>
            <simpara>A boolean value: if set to <constant>True</constant>,
              run a static analysis tool on each module as it’s being built.
              Defaults to <constant>False</constant>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-static-analyzer-outputdir">
          <term>
            <varname>static_analyzer_outputdir</varname>
          </term>
          <listitem>
            <simpara>Root directory below which static analysis reports will
              be saved (if <varname>static_analyzer</varname> is
              <constant>True</constant>). Defaults to
              <filename>/tmp/jhbuild_static_analyzer</filename>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-static-analyzer-template">
          <term>
            <varname>static_analyzer_template</varname>
          </term>
          <listitem>
            <simpara>Command template for the static analyzer. This has the
              parameters <varname>outputdir</varname> (the value of the
              <varname>static_analyzer_outputdir</varname> configuration
              variable) and <varname>module</varname> (the name of the module
              currently being built) substituted into it
              <function>printf</function>-style. The resulting command is
              used as a prefix to <command>make</command> when building a
              module. Defaults to <command>scan-build</command>.</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>None</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-system-libdirs">
          <term><varname>system_libdirs</varname></term>
          <listitem>
            <simpara>A list of strings specifying the system library paths.
              This is used when setting the default values of some environment
              variables, such as <envar>PKG_CONFIG_PATH</envar>.</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.  Defaults to
              <literal>'~/.cache/jhbuild/downloads'</literal>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-tinderbox-outputdir">
          <term><varname>tinderbox_outputdir</varname></term>
          <listitem>
            <simpara>Μια συμβολοσειρά που καθορίζει τον κατάλογο αποθήκευσης των αποτελεσμάτων <command>jhbuild tinderbox</command>. Αυτό η συμβολοσειρά μπορεί να αντικατασταθεί από την επιλογή <option>--output</option>. Προεπιλογή το <constant>None</constant>, έτσι είτε η επιλογή γραμμής εντολών πρέπει να χρησιμοποιηθεί ή αυτή η μεταβλητή πρέπει να οριστεί στο αρχείο ρυθμίσεων.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-trycheckout">
          <term><varname>trycheckout</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean, αν οριστεί σε <constant>True</constant> το JHBuild θα προσπαθήσει αυτόματα να επιλύσει τις αποτυχίες 1) εκτελώντας το <command>autogen.sh</command> ξανά και 2) ελέγχοντας την έξοδο μιας νεότερης έκδοσης ενός αρθρώματος από το σύστημα ελέγχου εκδόσεων. Αυτή η ρύθμιση είναι ισοδύναμη με το πέρασμα της επιλογής <option>--try-checkout</option>.</simpara>
          </listitem>
        </varlistentry>
        <varlistentry id="cfg-use-local-modulesets">
          <term><varname>use_local_modulesets</varname></term>
          <listitem>
            <simpara>Μια τιμή boolean που καθορίζει τη χρήση ομάδων αρθρωμάτων που ελέγχθηκαν μαζί με τον πηγαίο κώδικα του JHBuild· αντί για λήψη τους απευθείας από το σύστημα ελέγχου εκδόσεων του GNOME. Προεπιλογή το <constant>False</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>Ένα σύνολο καταστάσεων (συμβολοσειρών) που μπορούν να επηρεάσουν τα αρθρώματα που έχουν δομηθεί και οι επιλογές που χρησιμοποιούνται για τη δόμησή τους. Θα πρέπει να χρησιμοποιήσετε το <literal>conditions.add()</literal> και το <literal>conditions.discard()</literal> για να τροποποιήσετε τη λίστα, αν επιθυμείτε να κάνετε αλλαγές.</simpara>
            <simpara>The original set of conditions is determined on a per-OS basis and can be modified using
              the <option>--conditions=</option> commandline argument.  The changes made by
              <option>--conditions</option> are visible at the time that jhbuildrc is sourced, so you can set
              other variables based on the current value of the set, but <option>--conditions</option> 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>
          </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>Το περιεχόμενο του αρχείου moduleset μπορεί υπό προϋποθέσεις να ενσωματωθεί, χρησιμοποιώντας την ετικέτα &lt;if&gt; για να συμπεριλάβει το υπό προϋποθέσεις περιεχόμενο. Προς το παρόν είναι μόνο δυνατόν γίνει δηλωθεί η συμπερίληψή του ανάλογα με το αν μια συγκεκριμένη κατάσταση σημαίας έχει ρυθμισθεί ή όχι, χρησιμοποιώντας το &lt;if condition-set='cond'&gt; ή το &lt;if condition-unset='cond'&gt;. Οι καταστάσεις ρυθμίζονται από προεπιλογή ανάλογα μα το εκάστοτε Λ.Σ., αλλά μπορεί να επηρεάζονται από τον τρόπο της μεταβλητής <varname>conditions</varname> στο jhbuildrc ή από το όρισμα <command>--conditions=</command> της γραμμής εντολών.</para>

    <section id="moduleset-syntax-sources">
      <title>Πηγές αρθρωμάτων</title>

      <para>Αντί για λίστες της πλήρους θέσης του κάθε αρθρώματος, ένας αριθμός από "module sources" εμφανίζεται στην ομάδα αρθρωμάτων και έπειτα αναφέρονται κατ' όνομα στους ορισμούς αρθρωμάτων. Επίσης μειώνουν την ποσότητα των περιττών πληροφοριών στην ομάδα αρθρωμάτων, διευκολύνοντας έναν χρήστη να ορίσει μια εναλλακτική πηγή για αυτά τα αρθρώματα (για 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> χρησιμοποιείται για να καθορίσει τη μορφή της διεύθυνσης για το χρησιμοποιούμενο αποθετήριο από τους προγραμματιστές. Αυτή είναι μόνο πληροφοριακή.</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>All attributes have sensible defaults and depend on the module and
        repository definitions. Common attributes are described here.</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>Additional attributes are:
          <sgmltag class="attribute">trunk-template</sgmltag> (defaults to
          <literal>"%(module)s"</literal>) and
          <sgmltag class="attribute">branches-template</sgmltag> (defaults to
          <literal>"%(module)s/%(branch)s</literal>"). These attributes are used
          to specify templates for constructing URL. A
          <sgmltag class="element">branch</sgmltag> element in the module
          definitions can specify <sgmltag class="attribute">branch</sgmltag>
          and <sgmltag class="attribute">user</sgmltag> attributes. These values
          will be substituted in the templates. If either of those are defined
          <sgmltag class="attribute">branches-template</sgmltag> is used,
          otherwise <sgmltag class="attribute">trunk-template</sgmltag> is used.
          This way you can override repository to build modules from your
          personal branch or build many modules from a repository with
          non-standard layout.</para>

        <para>An addition <sgmltag class="element">branch</sgmltag> element
          accepts <sgmltag class="attribute">revspec</sgmltag> attribute to
          anchor on a particular revision. Any valid <literal>bzr
          revspec</literal> is accepted, for example <literal>date:yesterday,
          -5, tag:0.1</literal> to get first revision since yesterday, 5 commits
          behind the tip or tag "0.1". See <literal>bzr help
          revisionspec</literal> for all possible values.</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> χρησιμοποιείται για να καθορίσει το root του αποθετηρίου.</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 checkout a 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>The <sgmltag class="attribute">rename-tarball</sgmltag> can be
          used to rename the tarball file when downloading, in case the original
          name conflicts with another module.</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>" ]
	      [ uninstall-before-install="<replaceable>uninstall-before-install</replaceable>" ]
	      [ autogen-template="<replaceable>autogen-template</replaceable>" ]
	      [ check-target="<replaceable>check-target</replaceable>" ]
	      [ supports-non-srcdir-builds="<replaceable>supports-non-srcdir-builds</replaceable>" ]
	      [ force-non-srcdir-builds="<replaceable>force-non-srcdir-builds</replaceable>" ]
	      [ supports-unknown-configure-options="<replaceable>supports-unknown-configure-options</replaceable>" ]
	      [ supports-static-analyzer="<replaceable>supports-static-analyzer</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> και <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 ή όχι, είναι μια τιμή boolean με πρόσθετη τιμή <literal>never</literal> που λέει στο JHBuild να μην παραλείψει ποτέ την εκτέλεση της <command>autogen.sh</command>. Το <sgmltag class="attribute">skip-install</sgmltag> είναι μια ιδιότητα boolean που καθορίζει αν θα παραληφθεί η εντολή <command>make install</command> στο άρθρωμα. Το <sgmltag class="attribute">makefile</sgmltag> καθορίζει το όνομα αρχείου του χρησιμοποιούμενου makefile.</para>

	<para>The <sgmltag class="attribute">uninstall-before-install</sgmltag>
	  specifies any old installed files from the module should before removed
	  before running the install step. This can be used to work around a
	  problem where libtool tries to link one library it is installing
	  against another library it is installing, but because of jhbuild's
	  use of DESTDIR, finds the old installed library instead. The downside
          of specifying this is that it could cause problems if the user is
	  currently running code that relies on installed files from the
	  module.</para>

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

        <para>Η ιδιότητα <sgmltag class="attribute">force-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> πρέπει να καθοριστεί (με την τιμή false) για αρθρώματα που δεν έχουν προορισμό <command>make check</command>.</para>

        <para>The <sgmltag class="attribute">supports-static-analyzer</sgmltag>
          attribute must be specified (with false as value) for modules which
          don’t support being built under a static analysis tool such as
          <command>scan-build</command>.</para>

        <para>The <sgmltag class="attribute">supports-unknown-configure-options</sgmltag>
          attribute is used to mark modules that will error out if an unknown
          option is passed to <filename>configure</filename>. Global configure
          options will not be used for that module.</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>"
            [ skip-install="<replaceable>skip-install</replaceable>" ]
            [ cmakedir="<replaceable>cmakedir</replaceable>" ]
            [ force-non-srcdir-builds="<replaceable>force-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;/cmake&gt;
</programlisting>

        <para>The <sgmltag class="attribute">cmakedir</sgmltag> attribute
          specifies the subdirectory where cmake will run in relation to srcdir.
        </para>

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

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

        <para>The <sgmltag class="element">meson</sgmltag> element is used to
          define a module which is built using the Meson build system.</para>

<programlisting>
  &lt;meson id="<replaceable>modulename</replaceable>"
            [ skip-install="<replaceable>skip-install</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;/meson&gt;
</programlisting>
      </section>

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

        <para>The <sgmltag class="element">distutils</sgmltag> element is used
          to define a module which is built using python's distutils.</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-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> ορίζει ένα άρθρωμα που χρησιμοποιείται για δόμηση ενός πυρήνα Linux. Επιπλέον, μπορεί να επιλεγεί μια ξεχωριστή διαμόρφωση πυρήνα, χρησιμοποιώντας το υποστοιχείο <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>

        <para>If the system module may be installed in different locations
          or installed with different names by different distributions,
          <sgmltag class="element">altdep</sgmltag> tag can be used as
          subelements of <sgmltag class="element">dep</sgmltag> tag to
          specify alternative locations or names.
          <sgmltag class="element">altdep</sgmltag> tag support the same
          attributes as <sgmltag class="element">dep</sgmltag> tag does.</para>

<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;altdep type="path" name="<replaceable>alternative-executable-name-1</replaceable>" /&gt;
      &lt;altdep type="path" name="<replaceable>alternative-executable-name-2</replaceable>" /&gt;
      ...
    &lt;dep&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;altdep type="c_include" name="<replaceable>alternative-header-name-1</replaceable>" /&gt;
      &lt;altdep type="c_include" name="<replaceable>alternative-header-name-2</replaceable>" /&gt;
      ...
    &lt;dep&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>Unless the noxvfb configuration option is set, an Xvfb server is
          started to run the tests in.</para>
      </section>

      <section id="moduleset-syntax-defs-metamodule">
        <title>metamodule</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 root που χρησιμοποιείται για ανώνυμη πρόσβαση σε αυτό το αποθετήριο και η ιδιότητα <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> εμφανίζει την βασική διεύθυνση για το αποθετήριο. Αυτό θα είναι προφανώς είτε μια διεύθυνση <literal>http</literal>, <literal>https</literal> ή ένα <literal>svn</literal>.</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>Το στοιχείο <sgmltag class="element">tarball</sgmltag> χρησιμοποιείται για να ορίσει ποιο άρθρωμα πρέπει να δομηθεί από ένα αρχείο tarball.</para>

<programlisting>
  &lt;tarball id="<replaceable>modulename</replaceable>"
              [ version="<replaceable>version</replaceable>" ]
              [ checkoutdir="<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>
