Whitespace only change. Reindent/reformat the source of the Greek

`cvs-freebsd' article, after the latest changes.
This commit is contained in:
Giorgos Keramidas 2007-09-17 21:09:34 +00:00
parent fdfec9fe4a
commit 1ddd496322
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30801

View file

@ -33,36 +33,37 @@
<abstract>
<para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών (scripts)
με αυτά που χρησιμοποιεί και το &os; project στη δική του
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών
(scripts) με αυτά που χρησιμοποιεί και το &os; project στη δική του
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο
λεπτομερή έλεγχο πρόσβασης στο δέντρο του κώδικα καθώς και
αυτόματη παραγωγή ευανάγνωστων email με λεπτομέρειες για κάθε
αλλαγή στον πηγαίο κώδικα (commit).</para>
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο λεπτομερή έλεγχο
πρόσβασης στο δέντρο του κώδικα καθώς και αυτόματη παραγωγή
ευανάγνωστων email με λεπτομέρειες για κάθε αλλαγή στον πηγαίο κώδικα
(commit).</para>
</abstract>
</articleinfo>
<sect1 id="introduction">
<title>Εισαγωγή</title>
<para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και ανοιχτού κώδικα (open source) χρησιμοποιούν το
<para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και
ανοιχτού κώδικα (open source) χρησιμοποιούν το
<application>CVS</application> σαν σύστημα ελέγχου του κώδικά τους.
Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν
τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα να οδηγήσει
σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία να
προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα
να οδηγήσει σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία
να προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
πρόσβαση.</para>
<para>Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το
<application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν μερικά
αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository πιο εύκολη.
Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν από τον
&a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων
αρχείων δέσμης εντολών.</para>
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν
μερικά αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository
πιο εύκολη. Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν
από τον &a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων αρχείων
δέσμης εντολών.</para>
<para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
@ -73,11 +74,10 @@
<title>Πρώτη Εγκατάσταση</title>
<warning>
<para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη
διαδικασία χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να
είναι βέβαιο ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε
σιγουρευτείτε ότι έχετε πρόσφατα backups, τα οποία εγγυημένα
δουλεύουν!</para>
<para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη διαδικασία
χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να είναι βέβαιο
ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε σιγουρευτείτε
ότι έχετε πρόσφατα backups, τα οποία εγγυημένα δουλεύουν!</para>
</warning>
<sect2>
@ -90,18 +90,18 @@
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>
<para>Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον
φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου συμβαίνουν όλες
οι παραμετροποιήσεις.</para>
φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου
συμβαίνουν όλες οι παραμετροποιήσεις.</para>
</sect2>
<sect2>
<title>Η ομάδα του repository</title>
<para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την ομάδα,
ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό θα
χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό και το
&os;, την ομάδα <literal>ncvs</literal>.</para>
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την
ομάδα, ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό
θα χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό
και το &os;, την ομάδα <literal>ncvs</literal>.</para>
<screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>
@ -109,54 +109,57 @@
με παράμετρο την ομάδα που μόλις προσθέσατε, θέτοντας έτσι την ομάδα
στην οποία ανήκει ο κατάλογος:</para>
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
<para>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository αν
δεν ανήκει στην σωστή ομάδα.</para>
<para>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository
αν δεν ανήκει στην σωστή ομάδα.</para>
</sect2>
<sect2>
<title>Παίρνοντας τον πηγαίο κώδικα</title>
<para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο <filename role="directory">CVSROOT</filename>
από το repository του &os;. Αυτό γίνεται εύκολα, κάνοντας
check out από ένα ανοιχτής πρόσβασης &os; CVS mirror. Δείτε <ulink
url="&url.books.handbook;/anoncvs.html">το
σχετικό κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες
πληροφορίες. Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που βρίσκεται μέσα στον
τρέχοντα κατάλογο.</para>
<para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο
<filename role="directory">CVSROOT</filename> από το repository του
&os;. Αυτό γίνεται εύκολα, κάνοντας check out από ένα ανοιχτής
πρόσβασης &os; CVS mirror.
Δείτε <ulink url="&url.books.handbook;/anoncvs.html">το σχετικό
κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες πληροφορίες.
Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που
βρίσκεται μέσα στον τρέχοντα κατάλογο.</para>
</sect2>
<sect2>
<title>Αντιγράφοντας τα scripts του &os;</title>
<para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
<filename role="directory">CVSROOT</filename> κατάλογο του &os; στο δικό μας repository. Αν είστε
συνηθισμένος με το <application>CVS</application>, ίσως να
σας περάσει από το μυαλό να προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να
γίνει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος.
Ωστόσο, αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει
μια δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα ενημερωθούν τα
απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το κάνετε να τα
αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε αρχείο αφού
έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία του
<literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος είναι
απλά να αντιγράψετε τα scripts.</para>
<filename role="directory">CVSROOT</filename> κατάλογο του &os; στο
δικό μας repository. Αν είστε συνηθισμένος με
το <application>CVS</application>, ίσως να σας περάσει από το μυαλό να
προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να γίνει
ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. Ωστόσο,
αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει μια
δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα
ενημερωθούν τα απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το
κάνετε να τα αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε
αρχείο αφού έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία
του <literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος
είναι απλά να αντιγράψετε τα scripts.</para>
<para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
φαίνεται πολύ ξεκάθαρη&mdash;το τελικό αποτέλέσμα είναι το ίδιο. Απλά
ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και αντιγράψτε τα
&os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα) αντίγραφα:</para>
ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και
αντιγράψτε τα &os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα)
αντίγραφα:</para>
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput>
&prompt.user; <userinput>cd CVSROOT</userinput>
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
&prompt.user; <userinput>cvs add *</userinput></screen>
<para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά με
το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους
<para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά
με το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους
χρειάζεστε αυτούς τους καταλόγους.</para>
</sect2>
@ -171,22 +174,22 @@
<itemizedlist>
<listitem>
<para><filename>access</filename> - το αρχείο αυτό δεν
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις του <application>CVS</application>. Χρησιμοποιείται μόνο
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του
&os; project</link>, για να ελέγχεται η πρόσβαση στο
repository. Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας
ενδιαφέρει να χρησιμοποιήσετε κάτι τέτοιο στη δική σας
εγκατάσταση.</para>
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις
του <application>CVS</application>. Χρησιμοποιείται μόνο
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του &os;
project</link>, για να ελέγχεται η πρόσβαση στο repository.
Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας ενδιαφέρει να
χρησιμοποιήσετε κάτι τέτοιο στη δική σας εγκατάσταση.</para>
</listitem>
<listitem>
<para><filename>avail</filename> - το αρχείο αυτό ελέγχει την
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό, μπορείτε να καθορίσετε
ομάδες χρηστών στους οποίους θέλετε να δώσετε πρόσβαση στο
repository, όπως επίσης και να απαγορέψετε commits σε επίπεδο
καταλόγου ή αρχείου. Θα πρέπει να το προσαρμόσετε ώστε να περιέχει τις ομάδες
χρηστών και τους φακέλους που θα υπάρχουν στο δικό σας
repository.</para>
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό,
μπορείτε να καθορίσετε ομάδες χρηστών στους οποίους θέλετε να
δώσετε πρόσβαση στο repository, όπως επίσης και να απαγορέψετε
commits σε επίπεδο καταλόγου ή αρχείου. Θα πρέπει να το
προσαρμόσετε ώστε να περιέχει τις ομάδες χρηστών και τους φακέλους
που θα υπάρχουν στο δικό σας repository.</para>
</listitem>
<listitem>
@ -200,17 +203,17 @@
<listitem>
<para><filename>cfg_local.pm</filename> - το αρχείο αυτό περιέχει
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα στέλνονται τα
email από κάθε commit, σε ποιους hosts θα επιτρέπεται να γίνονται commit,
κλπ. Περισσότερες πληροφορίες σχετικά με αυτό θα βρείτε
παρακάτω.</para>
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα
στέλνονται τα email από κάθε commit, σε ποιους hosts θα
επιτρέπεται να γίνονται commit, κλπ. Περισσότερες πληροφορίες
σχετικά με αυτό θα βρείτε παρακάτω.</para>
</listitem>
<listitem>
<para><filename>checkoutlist</filename> - το αρχείο αυτό
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
<application>CVS</application> στον κατάλογο αυτό&mdash;όλα
εκτός από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
<application>CVS</application> στον κατάλογο αυτό&mdash;όλα εκτός
από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
<command>cvs init</command>. Θα πρέπει να
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;,
αρχεία.</para>
@ -219,8 +222,8 @@
<listitem>
<para><filename>commit_prep.pl</filename> - το script αυτό εκτελεί
διάφορους ελέγχους πριν από κάθε commit, ανάλογα με τις ρυθμίσεις
που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν θα
χρειαστεί να πειράξετε αυτό το αρχείο.</para>
που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν
θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
</listitem>
<listitem>
@ -249,13 +252,13 @@
repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό μπορείτε να βρείτε
στο εγχειρίδιο του <application>CVS</application>.</para>
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό
μπορείτε να βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
</listitem>
<listitem>
<para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει
την ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
<para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει την
ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
στο δέντρο του κώδικα. Αυτό γίνεται με βάση το
αρχείο <filename>avail</filename>. Δεν θα χρειαστεί να πειράξετε
αυτό το αρχείο.</para>
@ -306,18 +309,19 @@
<para><filename>exclude</filename> - το αρχείο αυτό περιέχει κανονικές
εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα
<filename>commit_prep.pl</filename> για να προσδιοριστούν τα
αρχεία που
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης (revision
header). Στην εγκατάσταση του &os;, όλα τα αρχεία κάτω από έλεγχο
επισκόπησης (revision control) είναι απαραίτητο να περιέχουν μια
επικεφαλίδα επισκόπησης (όπως &dollar;FreeBSD&dollar;). Όλα τα ονόματα
αρχείων που ταιριάζουν με τουλάχιστον μια από τις γραμμές του
αρχείου αυτού εξαιρούνται από τον συγκεκριμένο έλεγχο. Θα πρέπει
να προσθέσετε τις ανάλογες κανονικές εκφράσεις στο αρχείο αυτό
όταν κάνετε checkin αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
επισκόπησης. Κατά τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να είναι
καλύτερα να εξαιρείται ο κατάλογος <filename role="directory">CVSROOT/</filename>
από τον έλεγχο των headers.</para>
αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
επισκόπησης (revision header). Στην εγκατάσταση του &os;, όλα τα
αρχεία κάτω από έλεγχο επισκόπησης (revision control) είναι
απαραίτητο να περιέχουν μια επικεφαλίδα επισκόπησης (όπως
&dollar;FreeBSD&dollar;). Όλα τα ονόματα αρχείων που ταιριάζουν
με τουλάχιστον μια από τις γραμμές του αρχείου αυτού εξαιρούνται
από τον συγκεκριμένο έλεγχο. Θα πρέπει να προσθέσετε τις ανάλογες
κανονικές εκφράσεις στο αρχείο αυτό όταν κάνετε checkin αρχεία που
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης. Κατά
τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να
είναι καλύτερα να εξαιρείται ο
κατάλογος <filename role="directory">CVSROOT/</filename> από τον
έλεγχο των headers.</para>
</listitem>
<listitem>
@ -325,8 +329,8 @@
που παίρνει το log μήνυμα όπως αυτό δίνεται από το
<filename>logcheck</filename> script, και το προσθέτει στο τέλος
ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα mail στην email
διεύθυνση που έχετε δηλώσει (στο
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα
mail στην email διεύθυνση που έχετε δηλώσει (στο
<filename>cfg_local.pm</filename>). Συνεργάζεται με το
<application>CVS</application> μέσω του αρχείου
<filename>loginfo</filename>. Δεν θα χρειαστεί να πειράξετε το
@ -370,9 +374,8 @@
παραδοσιακή του σημασία στο <application>CVS</application>. Θα
πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση.
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι
διαθέσιμες στο εγχειρίδιο του
<application>CVS</application>.</para>
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες
στο εγχειρίδιο του <application>CVS</application>.</para>
</listitem>
<listitem>
@ -416,8 +419,8 @@
<listitem>
<para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση του
&os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση
του &os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
προτιμήσεις.</para>
@ -431,10 +434,10 @@
</listitem>
<listitem>
<para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να χρησιμοποιηθεί για το
αυτόματο <quote>unwrap</quote> των binary αρχείων (δείτε
<filename>cvswrappers</filename>) στο checkout. Δεν
χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
<para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να
χρησιμοποιηθεί για το αυτόματο <quote>unwrap</quote> των binary
αρχείων (δείτε <filename>cvswrappers</filename>) στο checkout.
Δεν χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
</listitem>
@ -469,8 +472,9 @@
<procedure>
<step>
<para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
οι οποίες χρησιμοποιούνται <link linkend="freebsdspecific">αποκλειστικά από το
&os;</link>, μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
οι οποίες χρησιμοποιούνται
<link linkend="freebsdspecific">αποκλειστικά από το &os;</link>,
μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
<filename>access</filename>:
<screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen></para>
@ -486,9 +490,9 @@
<para>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το
αρχείο <filename>access</filename> για την τοποθέτηση όλων των
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο επιθυμείτε.
Μπορείτε επίσης να προσθέσετε και ομάδες αν το επιθυμείτε (η
σύνταξη καθορίζεται στην κορυφή του αρχείου
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο
επιθυμείτε. Μπορείτε επίσης να προσθέσετε και ομάδες αν το
επιθυμείτε (η σύνταξη καθορίζεται στην κορυφή του αρχείου
<filename>cvs_acls.pl</filename>).</para>
</step>
@ -497,72 +501,70 @@
περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμένα, θα πρέπει
να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:</para>
<itemizedlist>
<listitem>
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι επικεφαλίδες
επεξεργάζονται από τα log scripts, και τοποθετούνται κάτω
από το mail του κάθε commit αν υπάρχουν και δεν είναι κενές
στο μήνυμα του commit. Γενικά, μπορείτε να αφαιρέσετε
τις καταχωρήσεις <literal>PR</literal> και
<literal>MFC after</literal>&mdash;αφού αυτές σχετίζονται με
το bug tracking σύστημα του &os; και τον τρόπο που
διαχειρίζεται το &os; τα branches του repository του.
Και φυσικά μπορείτε να προσθέσετε τις δικές σας.</para>
</listitem>
<listitem>
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα mail, η οποία θα
περιγράφει το branch στο οποίο έγινε το συγκεκριμένο commit,
ορίστε την τιμή αυτή να ταιριάζει με την δική σας
εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να προστίθεται αυτόματα μια
τέτοια επικεφαλίδα.</para>
</listitem>
<listitem>
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή
σε μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται
να γίνονται commits.</para>
</listitem>
<listitem>
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή
στο email του διαχειριστή ή σε μια διεύθυνση λίστας στην
οποία θέλετε να πηγαίνουν τα mail των commit
μηνυμάτων.</para>
</listitem>
<itemizedlist>
<listitem>
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι
επικεφαλίδες επεξεργάζονται από τα log scripts, και
τοποθετούνται κάτω από το mail του κάθε commit αν υπάρχουν και
δεν είναι κενές στο μήνυμα του commit. Γενικά, μπορείτε να
αφαιρέσετε τις καταχωρήσεις <literal>PR</literal> και
<literal>MFC after</literal>&mdash;αφού αυτές σχετίζονται με
το bug tracking σύστημα του &os; και τον τρόπο που
διαχειρίζεται το &os; τα branches του repository του. Και
φυσικά μπορείτε να προσθέσετε τις δικές σας.</para>
</listitem>
<listitem>
<para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
commit αποθηκεύεται κάτω από τον κατάλογο
<filename role="directory">CVSROOT</filename>, στον υποκατάλογο
<filename role="directory">commitlogs</filename>, στο αρχείο που
αναφέρεται στην αντίστοιχη εγγραφή του
πίνακα <literal>@LOG_FILE_MAP</literal>.</para>
</listitem>
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα
mail, η οποία θα περιγράφει το branch στο οποίο έγινε το
συγκεκριμένο commit, ορίστε την τιμή αυτή να ταιριάζει με την
δική σας εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να
προστίθεται αυτόματα μια τέτοια επικεφαλίδα.</para>
</listitem>
<listitem>
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
χρησιμοποιήσετε <link linkend="freebsdspecific">τους
ίδιους ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να
αφαιρέσετε τον ορισμό της τιμής
<literal>$COMMITCHECK_EXTRA</literal> από το αρχείο
αυτό.</para>
</listitem>
</itemizedlist>
<listitem>
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή σε
μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται να
γίνονται commits.</para>
</listitem>
<note>
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;. Εξαρτάται
από ειδικές μετατροπές του &os; στο
<application>CVS</application>.</para>
</note>
<listitem>
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή στο
email του διαχειριστή ή σε μια διεύθυνση λίστας στην οποία
θέλετε να πηγαίνουν τα mail των commit μηνυμάτων.</para>
</listitem>
<para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για να
δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι παραπάνω
είναι οι πιο συνήθεις επιλογές.</para>
<listitem>
<para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
commit αποθηκεύεται κάτω από τον κατάλογο
<filename role="directory">CVSROOT</filename>, στον υποκατάλογο
<filename role="directory">commitlogs</filename>, στο αρχείο
που αναφέρεται στην αντίστοιχη εγγραφή του
πίνακα <literal>@LOG_FILE_MAP</literal>.</para>
</listitem>
<listitem>
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
χρησιμοποιήσετε <link linkend="freebsdspecific">τους ίδιους
ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να αφαιρέσετε
τον ορισμό της τιμής <literal>$COMMITCHECK_EXTRA</literal> από
το αρχείο αυτό.</para>
</listitem>
</itemizedlist>
<note>
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;.
Εξαρτάται από ειδικές μετατροπές του &os; στο
<application>CVS</application>.</para>
</note>
<para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για
να δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι
παραπάνω είναι οι πιο συνήθεις επιλογές.</para>
</step>
<step>
@ -573,10 +575,10 @@
<literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα
περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
που βρίσκονται μέσα στον κατάλογο <filename role="directory">CVSROOT</filename> και
να επαναφέρετε τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας
δημιουργήσουν προβλήματα όταν θα προσπαθήσετε να κάνετε commit
αργότερα.</para>
που βρίσκονται μέσα στον κατάλογο
<filename role="directory">CVSROOT</filename> και να επαναφέρετε
τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας δημιουργήσουν
προβλήματα όταν θα προσπαθήσετε να κάνετε commit αργότερα.</para>
</step>
<step>
@ -630,11 +632,11 @@
<para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει
στον εαυτό σας πρόσβαση στον φάκελο <filename role="directory">CVSROOT</filename> μέσα
από το αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσον
στην αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε,
φροντίστε τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα
ακόλουθα:
στον εαυτό σας πρόσβαση στον
φάκελο <filename role="directory">CVSROOT</filename> μέσα από το
αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσον στην
αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε, φροντίστε
τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα ακόλουθα:
<screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen></para>
</sect2>
@ -648,8 +650,8 @@
<screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>
<para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια πλήρως
λειτουργική εγκατάσταση των &os; scripts για το repository σας.
<para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια
πλήρως λειτουργική εγκατάσταση των &os; scripts για το repository σας.
Στην περίπτωση που το <application>CVS</application> εξακολουθεί να
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
@ -662,12 +664,13 @@
<para>Το ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική
εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
<filename role="directory">freebsd</filename> του <filename role="directory">CVSROOT</filename> που
χρησιμοποιείται στο &os;. Το project χρειάζεται κάτι τέτοιο λόγω του
μεγάλου αριθμού των committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι
στο ίδιο group. Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού
πρώτα εξασφαλίζει τα σωστά διαπιστευτήρια των committers, αλλάζει
μετέπειτα το group id σε αυτό του repository.</para>
<filename role="directory">freebsd</filename> του
<filename role="directory">CVSROOT</filename> που χρησιμοποιείται στο
&os;. Το project χρειάζεται κάτι τέτοιο λόγω του μεγάλου αριθμού των
committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι στο ίδιο group.
Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού πρώτα εξασφαλίζει
τα σωστά διαπιστευτήρια των committers, αλλάζει μετέπειτα το group id σε
αυτό του repository.</para>
<para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
@ -706,8 +709,8 @@
<listitem>
<para><filename>freebsd/mailsend.c</filename> - το αρχείο αυτό
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το
αρχείο αυτό.</para>
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το αρχείο
αυτό.</para>
</listitem>
</itemizedlist>
</para>
@ -751,12 +754,13 @@
<para>Μεταγλωττίστε τον κώδικα που έχετε ήδη διορθώσει ώστε να
περιέχει τα σωστά paths:</para>
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
<para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας τα ακόλουθα βήματα (θα πρέπει να είστε
root για το βήμα αυτό):</para>
<para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας
τα ακόλουθα βήματα (θα πρέπει να είστε root για το βήμα
αυτό):</para>
<screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
<screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
&prompt.root; <userinput>chown root:<replaceable>ncvs</replaceable> /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod o-rx /usr/bin/ncvs</userinput>