Add new Greek article translation.
Translated by: Yannis Kotsinos <zookie@med.auth.gr>
This commit is contained in:
parent
fdf9a06fff
commit
27cefa795c
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=12700
2 changed files with 774 additions and 0 deletions
18
el_GR.ISO8859-7/articles/cvs-freebsd/Makefile
Normal file
18
el_GR.ISO8859-7/articles/cvs-freebsd/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
DOC?= article
|
||||||
|
|
||||||
|
FORMATS?= html
|
||||||
|
|
||||||
|
TIDY_FLAGS+= -raw
|
||||||
|
|
||||||
|
INSTALL_COMPRESSED?= gz
|
||||||
|
INSTALL_ONLY_COMPRESSED?=
|
||||||
|
|
||||||
|
# SGML content
|
||||||
|
SRCS= article.sgml
|
||||||
|
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||||
|
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
756
el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
Normal file
756
el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml
Normal file
|
@ -0,0 +1,756 @@
|
||||||
|
<!--
|
||||||
|
Setting up a CVS repository - the FreeBSD way
|
||||||
|
Greek Translation
|
||||||
|
|
||||||
|
Original revision: 1.x
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||||
|
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
|
||||||
|
%man;
|
||||||
|
]>
|
||||||
|
|
||||||
|
<article lang="el">
|
||||||
|
<articleinfo>
|
||||||
|
<title>Εγκατάσταση ενός CVS Repository - ο τρόπος του FreeBSD</title>
|
||||||
|
|
||||||
|
<author>
|
||||||
|
<firstname>Stijn</firstname>
|
||||||
|
<surname>Hoop</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address><email>stijn@win.tue.nl</email></address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
<year>2001</year>
|
||||||
|
<holder role="mailto:stijn@win.tue.nl">Stijn Hoop</holder>
|
||||||
|
</copyright>
|
||||||
|
|
||||||
|
<pubdate role="rcs">$Date: 2002-04-06 18:24:16 $</pubdate>
|
||||||
|
|
||||||
|
<releaseinfo>$FreeBSD$</releaseinfo>
|
||||||
|
|
||||||
|
<abstract>
|
||||||
|
<para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
|
||||||
|
ένα CVS repository που χρησιμοποιεί τις ίδιες δέσμες εντολών (scripts)
|
||||||
|
με αυτές που χρησιμοποιεί και το FreeBSD project στη δική του
|
||||||
|
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
|
||||||
|
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως ένα περισσότερο
|
||||||
|
κατευθυνόμενo έλεγχο πρόσβασης στο δέντρο του κώδικα καθώς και
|
||||||
|
αυτόματη παραγωγή ευανάγνωστων email με λεπτομέρειες για κάθε
|
||||||
|
commit.</para>
|
||||||
|
</abstract>
|
||||||
|
</articleinfo>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Εισαγωγή</title>
|
||||||
|
|
||||||
|
<para>Τα περισσότερα έργα ανοιχτού κώδικα χρησιμοποιούν το
|
||||||
|
<application>CVS</application> σαν σύστημα ελέγχου του κώδικα τους.
|
||||||
|
Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν
|
||||||
|
τον τομέα έχει κι αυτό το μερίδιο του σε ελαττώματα και αδυναμίες. Μια
|
||||||
|
από αυτές είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα να οδηγήσει
|
||||||
|
σε έναν εφιάλτη διαχείρισης, ειδικά αν υπάρχει η επιθυμία να
|
||||||
|
προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
|
||||||
|
πρόσβαση.</para>
|
||||||
|
|
||||||
|
<para>Το FreeBSD είναι ένα από τα έργα που χρησιμοποιεί το
|
||||||
|
<application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από
|
||||||
|
developers από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν μερικές
|
||||||
|
δέσμες ενεργειών για να κάνουν την διαχείριση του repository πιο εύκολη.
|
||||||
|
Πρόσφατα οι δέσμες αυτές αναθεωρήθηκαν και κανονικοποιήθηκαν από τον
|
||||||
|
Joseph Karthauser για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
|
||||||
|
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων
|
||||||
|
scripts.</para>
|
||||||
|
|
||||||
|
<para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
|
||||||
|
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
|
||||||
|
λειτουργίας του <application>CVS</application>.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Πρώτη Εγκατάσταση</title>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>Το καλύτερο θα ήταν να εκτελέσετε για πρώτη φορά αυτή τη
|
||||||
|
διαδικασία χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να
|
||||||
|
είναι βέβαιο ότι θα κατανοήσετε όλες τις συνέπειες. Όπως πάντα,
|
||||||
|
σιγουρευτείτε ότι έχετε πρόσφατα backups, τα οποία εγγυημένα
|
||||||
|
δουλεύουν!</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Αρχικοποίηση του repository</title>
|
||||||
|
|
||||||
|
<para>Το πρώτο πράγμα που θα πρέπει να κάνετε όταν στήνετε ένα νέο
|
||||||
|
repository είναι να πείτε στο <application>CVS</application> να το
|
||||||
|
αρχικοποιήσει:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>
|
||||||
|
|
||||||
|
Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον
|
||||||
|
<filename>CVSROOT</filename> φάκελο διαχείρισης, όπου συμβαίνουν όλες
|
||||||
|
οι παραμετροποιήσεις.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Η ομάδα του repository</title>
|
||||||
|
|
||||||
|
<para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
|
||||||
|
repository. Όλοι οι commiters θα πρέπει να ανήκουν στην ομαδα αυτή,
|
||||||
|
ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό θα
|
||||||
|
χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό και το
|
||||||
|
FreeBSD, την ομάδα <literal>ncvs</literal>.
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
Μετά, θα πρέπει να εκτελέσετε την &man.chown.8; στον φάκελο με
|
||||||
|
παραμέτρους την ομάδα που μόλις προσθέσατε:
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
|
||||||
|
|
||||||
|
Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository αν
|
||||||
|
δεν ανήκει στην σωστή ομάδα.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Παίρνοντας τον πηγαίο κώδικα</title>
|
||||||
|
|
||||||
|
<para>Τώρα θα πρέπει να αποκτήσετε τον <filename>CVSROOT</filename>
|
||||||
|
κατάλογο από το repository του FreeBSD. Αυτό γίνεται εύκολα, κάνοντας
|
||||||
|
check out από ένα ανοιχτής πρόσβασης FreeBSD CVS mirror. Δείτε <ulink
|
||||||
|
url="../../../../en_US.ISO8859-1/books/handbook/anoncvs.html">το
|
||||||
|
σχετικό κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες
|
||||||
|
πληροφορίες. Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
|
||||||
|
κατάλογο <filename>CVSROOT-freebsd</filename> που βρίσκεται μέσα στον
|
||||||
|
τρέχοντα κατάλογο.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Αντιγράφοντας τα scripts του FreeBSD</title>
|
||||||
|
|
||||||
|
<para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα που βρίσκεται στον FreeBSD
|
||||||
|
<filename>CVSROOT</filename> στο δικό μας repository. Αν είστε
|
||||||
|
συνηθισμένος με το <application>CVS</application>, ίσως να
|
||||||
|
προσπαθήσετε να κάνετε import τις δέσμες εντολών, σε μια προσπάθεια να
|
||||||
|
γίνει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος.
|
||||||
|
Ωστόσο, αποδεινύεται ότι το <application>CVS</application> παρουσιάζει
|
||||||
|
μια δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
|
||||||
|
στο <filename>CVSROOT</filename> φάκελο, δεν θα ενημερωθούν τα
|
||||||
|
απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το κάνετε να τα
|
||||||
|
αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε αρχείο αφού
|
||||||
|
έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία του
|
||||||
|
<literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος είναι
|
||||||
|
απλά να αντιγράψετε τα scripts.</para>
|
||||||
|
|
||||||
|
<para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
|
||||||
|
φαίνεται πολύ ξεκάθαρη—το τελικό αποτέλέσμα είναι το ίδιο. Απλά
|
||||||
|
ελέγξτε τον <filename>CVSROOT</filename> φάκελο και αντιγράψτε τα
|
||||||
|
FreeBSD αρχεία πάνω από τα δικά σας τοπικά (απείραχτα) αντίγραφα:
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Tα scripts</title>
|
||||||
|
|
||||||
|
<para>Τώρα έχετε στον φάκελο εργασίας σας ένα ακριβές αντίγραφο των
|
||||||
|
scripts που το ίδιο το FreeBSD project χρησιμοποιεί στο δικό του
|
||||||
|
repository. Μια περίληψη του σε τι χρησιμεύει το κάθε αρχείο
|
||||||
|
περιλαμβάνεται παρακάτω.</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><filename>access</filename> - το αρχείο αυτό δεν
|
||||||
|
χρησιμοποιείται στην εξ'ορισμού εγκατάσταση. Χρησιμοποιείται μόνο
|
||||||
|
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του
|
||||||
|
FreeBSD project</link>, όπου και ελέγχει την πρόσβαση στο
|
||||||
|
repository. Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας
|
||||||
|
ενδιαφέρει να χρησιμοποιήσετε κάτι τέτοιο στη δική σας
|
||||||
|
εγκατάσταση.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>avail</filename> - το αρχείο αυτό ελέγχει την
|
||||||
|
πρόσβαση στο repository. Μέσα σε αυτό, μπορείτε να καθορίσετε
|
||||||
|
ομάδες χρηστών στους οποίους θέλετε να δώσετε πρόσβαση στο
|
||||||
|
repository, όπως επίσης και να απαγορέψετε commits σε επίπεδο
|
||||||
|
φακέλου. Θα πρέπει να το προσαρμόσετε ώστε να περιέχει τις ομάδες
|
||||||
|
χρηστών και τους φακέλους που θα υπάρχουν στο δικό σας
|
||||||
|
repository.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>cfg.pm</filename> - το αρχείο αυτό ερμηνεύει τις
|
||||||
|
ρυθμίσεις σας και παρέχει τις εξ' ορισμού ρυθμίσεις.
|
||||||
|
<emphasis>Δεν</emphasis> πρέπει να αλλάξετε αυτό το αρχείο.
|
||||||
|
Αντίθετα, θα πρέπει να τοποθετήσετε τις δικές σας αλλαγές στις
|
||||||
|
ρυθμίσεις στο αρχείο <filename>cfg_local.pm</filename>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>cfg_local.pm</filename> - το αρχείο αυτό περιέχει
|
||||||
|
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
|
||||||
|
κάνετε τις οποιεσδήποτε ρυθμίσεις σας εδώ, όπως που θα στέλνετε το
|
||||||
|
email από κάθε commit, σε ποιους hosts θα επιτρέπεται το commit,
|
||||||
|
και άλλες. Περισσότερες πληροφορίες σχετικά με αυτό θα βρείτε
|
||||||
|
παρακάτω.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>checkoutlist</filename> - το αρχείο αυτό
|
||||||
|
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
|
||||||
|
<application>CVS</application> στον κατάλογο αυτό. Θα πρέπει να
|
||||||
|
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το FreeBSD,
|
||||||
|
αρχεία.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>commit_prep.pl</filename> - το script αυτό εκτελεί
|
||||||
|
διάφορους ελέγχους πριν από κάθε commit, βασισμένο στο αν τους
|
||||||
|
έχετε ενεργοποιήσει στο <filename>cfg_local.pm</filename>. Δεν θα
|
||||||
|
χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>commitcheck</filename> - το script αυτό καλείται
|
||||||
|
απευθείας από το <application>CVS</application>. Πρώτα ελέγχει αν
|
||||||
|
ο commiter έχει πρόσβαση στο συγκεκριμένο μέρος του δέντρου του
|
||||||
|
κώδικα, και μετά εκτελεί το <filename>commit_prep.pl</filename>
|
||||||
|
που εκτελεί τους διάφορους pre-commit ελέγχους. Αν δεν υπάρξει
|
||||||
|
κάποιο πρόβλημα στους τελευταίους, τότε το
|
||||||
|
<application>CVS</application> θα επιτρέψει στο commit να
|
||||||
|
συνεχίσει. Δεν θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>commitinfo</filename> - το αρχείο αυτό
|
||||||
|
χρησιμοποιείται από το <application>CVS</application> στο να
|
||||||
|
αποφασίσει ποιο script να εκτελέσει πριν από κάθε commit. Δεν θα
|
||||||
|
χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>config</filename> - το αρχείο ρυθμίσεων γι' αυτό το
|
||||||
|
repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
|
||||||
|
με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
|
||||||
|
αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
|
||||||
|
τις δυνατές επιλογές που έχετε στο αρχείο αυτό μπορείτε να βρείτε
|
||||||
|
στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>cvs_acls.pl</filename> - το script αυτό καθορίζει
|
||||||
|
την ταυτότητα του commiter, και το αν θα του επιτραπεί πρόσβαση
|
||||||
|
στο δέντρο του κώδικα. Αυτό γίνεται με βαση το
|
||||||
|
<filename>avail</filename> αρχείο. Δεν θα χρειαστεί να πειράξετε
|
||||||
|
αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>cvsignore</filename> - στο αρχείο αυτό καθορίζονται
|
||||||
|
τα αρχεία που το <application>CVS</application> δεν θα πρέπει να
|
||||||
|
επιτρέψει το checkin τους στο repository. Μπορείτε να
|
||||||
|
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις δικές σας
|
||||||
|
προτιμήσεις. Περισσότερες πληροφορίες για το αρχείο αυτό θα
|
||||||
|
βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>cvswrappers</filename> - το αρχείο αυτό
|
||||||
|
χρησιμοποιείται από το <application>CVS</application> για την
|
||||||
|
ενεργοποίηση ή απενεργοποίηση του keyword expansion, ή για το αν
|
||||||
|
κάποιο αρχείο θα πρέπει να αντιμετωπίζεται ως binary. Μπορείτε να
|
||||||
|
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
|
||||||
|
Περισσότερες πληροφορίες σχετικά με το αρχείο αυτό μπορείτε να
|
||||||
|
βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>edithook</filename> - το αρχείο αυτό δεν
|
||||||
|
χρησιμοποιείται πια, αλλά εξακολουθεί να υπάρχει για ιστορικούς
|
||||||
|
λόγους. Δεν θα χρειαστεί να επεξεργαστείτε καθόλου αυτό το
|
||||||
|
αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>editinfo</filename> - το
|
||||||
|
<application>CVS</application> χρησιμοποιεί αυτό το αρχείο για
|
||||||
|
παράκαμψη των editors. Το FreeBSD δεν χρησιμοποιεί αυτή την
|
||||||
|
λειτουργικότητα γιατί η ερμηνεία του log μηνύματος γίνεται από τα
|
||||||
|
<filename>verifymsg</filename> και <filename>logcheck</filename>
|
||||||
|
αρχεία. Δεν θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>exclude</filename> - το αρχείο αυτό περιέχει regular
|
||||||
|
expressions που χρησιμοποιούν για να προσδιοριστούν τα αρχεία που
|
||||||
|
δεν μπορούν να περιέχουν επικεφαλίδα επισκόπησης (revision
|
||||||
|
header). Στην FreeBSD εγκατάσταση, όλα τα αρχεία κάτω από έλεγχο
|
||||||
|
επισκόπησης (revision control) είναι απαραίτητο να περιέχουν ένα
|
||||||
|
revision header (όπως $FreeBSD$). Όλα τα ονόματα
|
||||||
|
αρχείων που ταιριάζουν με τουλάχιστον μια από τις γραμμές του
|
||||||
|
αρχείου αυτού εξαιρούνται από τον συγκεκριμένο έλεγχο. Θα πρέπει
|
||||||
|
να προσθέσετε τις ανάλογες regular expressions στο αρχείο αυτό
|
||||||
|
όταν κάνετε checkin αρχεία που δεν θα πρέπει να περιέχουν revision
|
||||||
|
header. Για τον σκοπό της εγκατάστασης των scripts, ίσως να είναι
|
||||||
|
καλύτερα να εξαιρείται ο <filename>CVSROOT/</filename> κατάλογος
|
||||||
|
από τον έλεγχο των headers.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>log_accum.pl</filename> - πρόκειται για ένα script
|
||||||
|
που παίρνει το log μήνυμα όπως αυτό δίνεται από το
|
||||||
|
<filename>logcheck</filename> script, και το προσθέτει στο τέλος
|
||||||
|
ενός αρχείου log στο repository για σκοπούς δημιουργίας αντιγράφων
|
||||||
|
ασφαλείας. Επίσης, αναλαμβάνει να στείλει ένα mail στην email
|
||||||
|
διεύθυνση που έχετε δηλώσει (στο
|
||||||
|
<filename>cfg_local.pm</filename>). Δεν θα χρειαστεί να πειράξετε
|
||||||
|
το αρχείο αυτό.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>logcheck</filename> - το αρχείο αυτό ερμηνεύει το
|
||||||
|
commit log μήνυμα που παρέχουν οι commiters, και προσπαθεί κατά
|
||||||
|
κάποιο τρόπο να το κανονικοποιήσει.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Το script εξαρτάται από ένα τοπικό FreeBSD hack του
|
||||||
|
<application>CVS</application>: Η έκδοση αυτή επανατοποθετεί το
|
||||||
|
log μήνυμα αφού όμως αυτό έχει τροποποιηθεί από το script. Η
|
||||||
|
κανονική έκδοση του <application>CVS</application> προφανώς δεν
|
||||||
|
κάνει κάτι τέτοιο, κάτι που θα έκανε το script αυτό
|
||||||
|
άχρηστο.</para>
|
||||||
|
</note>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>loginfo</filename> - το αρχείο αυτό χρησιμοποιείται
|
||||||
|
από το <application>CVS</application> για τον έλεγχο του που θα
|
||||||
|
στέλνονται οι πληροφορίες των logs. Δεν θα χρειαστεί να πειράξετε
|
||||||
|
αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>modules</filename> - το αρχείο αυτό διατηρεί την
|
||||||
|
παραδοσιακή του σημασία στο <application>CVS</application>. Θα
|
||||||
|
πρέπει να αφαιρέσετε τα FreeBSD modules από την κανονική έκδοση.
|
||||||
|
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
|
||||||
|
σας. Περισσότερες πληοροφορίες για το αρχείο αυτό είναι
|
||||||
|
διαθέσιμες στο εγχειρίδιο του
|
||||||
|
<application>CVS</application>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>notify</filename> - το αρχείο αυτό χρησιμοποιείται
|
||||||
|
από το <application>CVS</application> στην περίπτωση που κάποιος
|
||||||
|
τοποθετήσει εντολή παρακολούθησης σε κάποιο αρχείο. Δεν
|
||||||
|
χρησιμοποιείται στο repository του FreeBSD. Μπορείτε να
|
||||||
|
επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
|
||||||
|
Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες στο
|
||||||
|
εγχειρίδιο του <application>CVS</application>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>options</filename> - το αρχείο αυτό σχετίζεται άμεσα
|
||||||
|
με την FreeBSD έκδοση του <application>CVS</application>. Περιέχει
|
||||||
|
το keyword που θα γίνεται expand στα revision headers. Θα πρέπει
|
||||||
|
να τροποποιήσετε το αρχείο αυτό για να είναι ίδιο με την έκδοση
|
||||||
|
που έχετε εισάγει στο αρχείο <filename>cfg_local.pm</filename> (αν
|
||||||
|
αποφασίσετε να χρησιμοποιήσετε αυτή την λειτουργία, που προς το
|
||||||
|
παρόν δουλεύει σωστά με την έκδοση του
|
||||||
|
<application>CVS</application> που έχει το FreeBSD).</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>rcsinfo</filename> - το αρχείο αυτό αντιστοιχεί
|
||||||
|
φακέλους του repository σε αρχεία template. Εξ' ορισμού, το
|
||||||
|
FreeBSD χρησιμοποιεί ένα template για ολόκληρο το repository.
|
||||||
|
Μπορείτε να προσθέσετε και άλλα στο αρχείο αυτό αν το
|
||||||
|
επιθυμείτε.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>rcstemplate</filename> - το αρχείο αυτό είναι το
|
||||||
|
template που θα δούν τελικά οι commiters όταν θα κάνουν checkin.
|
||||||
|
Θα πρέπει να επεξεργαστείτε αυτό το αρχείο ώστε να περιγράφει τις
|
||||||
|
διάφορες επιπλέον παραμέτρους που ορίσατε στο αρχείο
|
||||||
|
<filename>cfg_local.pm</filename>.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την
|
||||||
|
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση του
|
||||||
|
FreeBSD δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
|
||||||
|
διαδικασίας δημιουργίας των διαφορετικών relases. Θα πρέπει να
|
||||||
|
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
|
||||||
|
προτιμήσεις.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>taginfo</filename> - το αρχείο αυτό αντιστοιχεί
|
||||||
|
λειτουργίες των tags σε αντίστοιχους φακέλους του repository για
|
||||||
|
την πρόσβαση στα scripts ελέγχου. Δεν θα χρειαστεί να
|
||||||
|
τροποποιήσετε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>unwrap</filename> - το αρχείο αυτό χρειάζεται για το
|
||||||
|
αυτόματο <quote>unwrap</quote> των binary αρχείων (δείτε
|
||||||
|
<filename>cvswrappers</filename>) στο checkout. Δεν
|
||||||
|
χρησιμοποιείται στην τρέχουσα FreeBSD εγκατάσταση. Δεν θα
|
||||||
|
χρειαστεί να πειράξετε το αρχείο αυτό.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>verifymsg</filename> - το αρχείο αυτό αντιστοιχεί
|
||||||
|
υποκαταλόγους του repository σε προγράμματα επεξεργασίας των
|
||||||
|
μηνυμάτων του log. Δεν θά 'πρεπε να πειράζετε αυτό το
|
||||||
|
αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>wrap</filename> - το script αυτό χρειάζεται για το
|
||||||
|
αυτόματο <quote>wrap</quote> των binary αρχείων (δείτε
|
||||||
|
<filename>cvswrappers</filename>) κατά το checkin. Δεν
|
||||||
|
χρησιμοποιείται στην τρέχουσα εγκατάσταση του FreeBSD. Δεν θα
|
||||||
|
χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Τροποποιώντας τα scripts</title>
|
||||||
|
|
||||||
|
<para>Το επόμενο βημα είναι η αλλαγή των scripts ώστε να μπορούν να
|
||||||
|
χρησιμοποιηθούν στο δικό σας περιβάλλον. Θα πρέπει να ελέγξετε όλα τα
|
||||||
|
αρχεία μέσα στον φάκελο και να κάνετε τις τροποποιήσεις σας. Πιο
|
||||||
|
συγκεκριμένα, θα θέλετε κατά πάσα πιθανότητα να τροποποιήσετε τα
|
||||||
|
παρακάτω αρχεία:</para>
|
||||||
|
|
||||||
|
<procedure>
|
||||||
|
<step>
|
||||||
|
<para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
|
||||||
|
οι οποίες είναι <link linkend="freebsdspecific">αποκλειστικές του
|
||||||
|
FreeBSD</link>, μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
|
||||||
|
<filename>access</filename>:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen></para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Διορθώστε το αρχείο <filename>avail</filename> ώστε να
|
||||||
|
περιέχει τους διάφορους φακέλους του repository στους οποίους
|
||||||
|
θέλετε να ελέγξετε την πρόσβαση. Σιγουρευτείτε ότι θα διατηρήσετε
|
||||||
|
ανέπαφη την <literal>avail||CVSROOT</literal> γραμμή, ειδάλλως θα
|
||||||
|
αποκλείσετε ακόμα και τον εαυτό σας με το επόμενο βημα.</para>
|
||||||
|
|
||||||
|
<para>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
|
||||||
|
ομάδες απο commiters. Εξ' ορισμού, το FreeBSD χρησιμοποιεί το
|
||||||
|
αρχείο <filename>access</filename> για την τοποθέτηση όλων των
|
||||||
|
commiters, αλλά μπορείτε να χρησιμοποιήσετε όποιο από επιθυμείτε.
|
||||||
|
Μπορείτε επίσης να προσθέσετε και ομάδες αν το επιθυμείτε (η
|
||||||
|
σύνταξη καθορίζεται στην κορυφή του αρχείου
|
||||||
|
<filename>cvs_acls.pl</filename>).</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Διορθώστε το αρχείο <filename>cfg_local.pm</filename> ώστε να
|
||||||
|
περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμενα, θα πρέπει
|
||||||
|
να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές
|
||||||
|
επεξεργάζονται από τα log scripts, και τοποθετούνται κάτω
|
||||||
|
από το mail του κάθε commit αν υπάρχουν και δεν είναι κενές
|
||||||
|
στο μήνυμα του commit. Μπορείτε πολύ πιθανόν να αφαιρέσετε
|
||||||
|
τις <literal>PR</literal> και <literal>MFC after</literal>
|
||||||
|
καταχωρήσεις. Και φυσικά μπορείτε να προσθέσετε τις δικές
|
||||||
|
σας.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
|
||||||
|
προσθέσετε μια επικεφαλίδα σε κάθε commit μήνυμα mail που θα
|
||||||
|
περιγράφει το branch στο οποίο έγινε το συγκεκριμένο commit,
|
||||||
|
ορίστε την τιμή αυτή να ταιριάζει με την δική σας
|
||||||
|
εγκατάσταση σας. Ή αφήστε την κενή αν δεν επιθυμείτε μια
|
||||||
|
τέτοια επικεφαλίδά.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή
|
||||||
|
σε μια λίστα από hosts από τους οποίους μπορούν να
|
||||||
|
επιτρέπονται commit.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή
|
||||||
|
στο email του διαχειριστή ή σε μια διεύθυνση λίστας στην
|
||||||
|
οποία θέλετε να πηγαίνουν τα mail των commit
|
||||||
|
μηνυμάτων.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
|
||||||
|
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
|
||||||
|
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
|
||||||
|
commit αποθηκεύεται στον υποκατάλογο
|
||||||
|
<filename>commitlogs</filename> στο αρχείο που
|
||||||
|
αναφέρεται.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
|
||||||
|
χρησιμοποιήσετε <link linkend="freebsdspecific">τους
|
||||||
|
ίδιους ελέγχους πρόσβασης με το FreeBSD</link>, θα πρέπει να
|
||||||
|
αφαιρέσετε τον ορισμό της τιμής
|
||||||
|
<literal>$COMMITCHECK_EXTRA</literal> από το αρχείο
|
||||||
|
αυτό.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
|
||||||
|
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες FreeBSD. Εξαρτάται
|
||||||
|
από ειδικές μετατροπές του FreeBSD στο
|
||||||
|
<application>CVS</application>.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για να
|
||||||
|
δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι παραπάνω
|
||||||
|
είναι οι πιο συνήθεις επιλογές.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Επεξεργαστείτε το αρχείο <filename>exclude</filename> για να
|
||||||
|
αφαιρέσετε τις ειδικές καταχωρήσεις του FreeBSD (όπως όλες τις
|
||||||
|
γραμμές που ξεκινούν με <literal>^ports/</literal> κτλ.). Εκτός
|
||||||
|
αυτού, βάλτε σε σχόλια τις γραμμές που ξεκινούν με
|
||||||
|
<literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα
|
||||||
|
περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί
|
||||||
|
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
|
||||||
|
που βρίσκονται μέσα στον <filename>CVSROOT</filename> κατάλογο και
|
||||||
|
να επαναφέρετε τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας
|
||||||
|
δημιουργήσουν προβλήματα όταν θα προσπαθήσετε να κάνετε commit
|
||||||
|
αργότερα.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Ανοίξτε το αρχείο <filename>modules</filename>, και αφαιρέστε
|
||||||
|
όλες τις σχετικές με το FreeBSD καταχωρήσεις. Προσθέστε τα δικά
|
||||||
|
σας modules αν το επιθυμείτε.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<note>
|
||||||
|
<para>Το βήμα αυτό είναι απαραίτητο μόνο αν έχετε ορίσει
|
||||||
|
κάποια τιμή στην παράμετρο <literal>$IDHEADER</literal> του
|
||||||
|
αρχείου <filename>cfg_local.pm</filename> (η οποία δουλεύει μόνο
|
||||||
|
εφόσον χρησιμοποιείτε την τροποποιημένη έκδοση του
|
||||||
|
<application>CVS</application> που έχει το FreeBSD).</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>Διορθώστε το αρχείο <filename>options</filename> ώστε να
|
||||||
|
ταιριάζει με το tag που ορίσατε στο αρχείο
|
||||||
|
<filename>cfg_local.pm</filename>. Μια αναζήτηση και
|
||||||
|
αντικατάσταση του <literal>FreeBSD</literal> σε όλο το αρχείο
|
||||||
|
είναι αρκετή.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Επεξεργαστείτε το αρχείο <filename>rcstemplate</filename> ώστε
|
||||||
|
να περιέχει τα ίδια keywords με αυτά που έχετε ορίσει στο
|
||||||
|
<filename>cfg_local.pm</filename>.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Προαιρετικά αφαιρέστε τους ελέγχους του FreeBSD από το αρχείο
|
||||||
|
<filename>tagcheck</filename>. Μπορείτε απλά να προσθέσετε
|
||||||
|
<literal>exit 0</literal> στην αρχή του αρχείου για να
|
||||||
|
απενεργοποιήσετε όλους τους ελέγχους στο tagging.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Το τελευταίο πράγμα που πρέπει να γίνει, είναι να
|
||||||
|
σιγουρευτείτε ότι τα commitlogs μπορούν να αποθηκευτούν. Εξ'
|
||||||
|
ορισμού αποθηκεύονται στο repository, μέσα στον φάκελο
|
||||||
|
<filename>commitlogs</filename> που είναι υποφάκελος του
|
||||||
|
<filename>CVSROOT</filename>. Αυτός ο φάκελος πρέπει να
|
||||||
|
δημιουργηθεί, οπότε κάντε τα ακόλουθα:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>mkdir commitlogs</userinput>
|
||||||
|
&prompt.user; <userinput>cvs add commitlogs</userinput></screen></para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
|
||||||
|
<para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
|
||||||
|
commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει
|
||||||
|
στον εαυτό σας πρόσβαση στον φάκελο <filename>CVSROOT</filename> μέσα
|
||||||
|
από το αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσων
|
||||||
|
στην αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε,
|
||||||
|
φροντίστε τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα
|
||||||
|
ακόλουθα:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen></para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Δοκιμάζοντας την Εγκατάσταση</title>
|
||||||
|
|
||||||
|
<para>Είστε έτοιμοι για την πρώτη σας δοκιμή: Ένα forced commit στο
|
||||||
|
αρχείο <filename>avail</filename>, για να σιγουρευτείτε ότι όλα
|
||||||
|
δουλεύουν όπως θα έπρεπε.
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>
|
||||||
|
|
||||||
|
Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια πλήρως
|
||||||
|
λειτουργική εγκατάσταση των FreeBSD scripts για το repository σας.
|
||||||
|
Στην περίπτωση που το <application>CVS</application> εξακολουθεί να
|
||||||
|
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
|
||||||
|
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
|
||||||
|
βήματα.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="freebsdspecific">
|
||||||
|
<title>Ειδική Εγκατάσταση του FreeBSD Project</title>
|
||||||
|
|
||||||
|
<para>Το ίδιο το FreeBSD project χρησιμοποιεί μια ελαφρώς διαφορετική
|
||||||
|
εγκατάσταση, που χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
|
||||||
|
<filename>freebsd</filename> του <filename>CVSROOT</filename> που
|
||||||
|
χρησιμοποιείται στο FreeBSD. Το project χρειάζεται κάτι τέτοιο λόγω του
|
||||||
|
μεγάλου αριθμού των commiters, που διαφορετικά θα έπρεπε να ανήκουν όλοι
|
||||||
|
στο ίδιο group. Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού
|
||||||
|
πρώτα εξασφαλίζει τα σωστά διαπιστευτήρια των commiters, αλλάζει
|
||||||
|
μετέπειτα το group id σε αυτό του repository.</para>
|
||||||
|
|
||||||
|
<para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
|
||||||
|
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
|
||||||
|
μια σύντομη επισκόπηση των σχετικών αρχείων.</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Αρχεία που χρησιμοποιούνται στην ειδική εγκατάσταση του
|
||||||
|
FreeBSD</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para><filename>access</filename> - το αρχείο αυτό ελέγχει τις
|
||||||
|
πληροφορίες για τα δικαιώματα πρόσβασης. Θα πρέπει να το
|
||||||
|
επεξεργαστείτε ανάλογα έτσι ώστε να περιλαμβάνει όλα τα μέλη του
|
||||||
|
project σας.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>freebsd/commitmail.pl</filename> - το αρχείο αυτό
|
||||||
|
δεν χρησιμοποιείται πια, αλλά παραμένει για ιστορικούς λόγους.
|
||||||
|
Δεν θα χρειαστεί να επεξεργαστείτε αυτό το αρχείο.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>freebsd/cvswrap.c</filename> - πρόκειται για τον
|
||||||
|
πηγαίο κώδικα του CVS wrapper που θα πρέπει να εγκαταστήσετε για
|
||||||
|
να μπορέσουν όλοι οι έλεγχοι πρόσβασης τελικά να δουλέψουν.
|
||||||
|
Περισσότερες πληροφορίες για τη διαδικασία αυτή θα βρείτε
|
||||||
|
παρακάτω. Θα πρέπει να διορθώσετε τα paths στις
|
||||||
|
<literal>ACCESS</literal> και <literal>REALCVS</literal>
|
||||||
|
μακροεντολές ώστε να ταιριάζουν με τη δική σας
|
||||||
|
εγκατάσταση.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><filename>freebsd/mailsend.c</filename> - το αρχείο αυτό
|
||||||
|
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
|
||||||
|
εγκατάσταση του FreeBSD. Δεν θα χρειαστεί να πειράξετε το
|
||||||
|
αρχείο αυτό.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Η διαδικασία</title>
|
||||||
|
|
||||||
|
<procedure>
|
||||||
|
<step>
|
||||||
|
<para>Διορθώστε το αρχείο <filename>access</filename> ώστε να
|
||||||
|
περιέχει μόνο το δικό σσς username.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Διορθώστε το αρχείο <filename>cvswrap.c</filename> ώστε να
|
||||||
|
περιέχει το σωστό path για τη δική σας εγκατάσταση. Αυτό ορίζεται
|
||||||
|
ως μια μακροεντολή που ονομάζεται <literal>ACCESS</literal>. Θα
|
||||||
|
πρέπει επίσης να αλλάξετε και τη διεύθυνση του πραγματικού
|
||||||
|
<command>cvs</command> binary αν αυτή που υπάρχει δεν είναι η
|
||||||
|
σωστή για τη δική σας περίπτωση. Το κανονικό
|
||||||
|
<filename>cvswrap.c</filename> αναμένει να αντικαταστήσει την
|
||||||
|
εντολή cvs σε επίπεδο συστήματος, η οποία θα θα μεταφερθεί στο
|
||||||
|
αρχείο <filename>/usr/bin/ncvs</filename>.</para>
|
||||||
|
|
||||||
|
<para>Το δικό μου αντίτυπο του αρχείου
|
||||||
|
<filename>cvswrap.c</filename> έχει τα ακόλουθα:</para>
|
||||||
|
|
||||||
|
<programlisting>#define ACCESS "/local/cvsroot/CVSROOT/access"
|
||||||
|
#define REALCVS "/usr/bin/ncvs"</programlisting>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Το επόμενο βήμα είναι να εγκαταστήσουμε τον wrapper για να
|
||||||
|
είμαστε σίγουροι ότι θα γίνεται η μετατροπή στο σωστό group όταν
|
||||||
|
γίνεται commit. Ο πηγαίος κώδικας γι' αυτό βρίσκεται στο αρχείο
|
||||||
|
<filename>cvswrap.c</filename> στον κατάλογο
|
||||||
|
<filename>CVSROOT</filename>.</para>
|
||||||
|
|
||||||
|
<para>Μεταγλωττίστε τον κώδικα που έχετε ήδη διορθώσει ώστε να
|
||||||
|
περιέχει τα σωστά paths:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
|
||||||
|
|
||||||
|
Στη συνέχεια εγκαταστήστε τον με τα ακόλουθα (Θα πρέπει να είστε
|
||||||
|
root για το βήμα αυτό):
|
||||||
|
|
||||||
|
<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>
|
||||||
|
&prompt.root; <userinput>chmod u-w,g+s /usr/bin/cvs</userinput></screen>
|
||||||
|
|
||||||
|
Αυτό εγκαθιστά τον wrapper σαν την εξ' ορισμού
|
||||||
|
<command>cvs</command> εντολή, κάνοντας έτσι σίγουρο ότι
|
||||||
|
οποιοσδήποτε θελήσει να χρησιμοποιήσει το repository, θα πρέπει να
|
||||||
|
έχει τα κατάλληλα επίπεδα πρόσβασης.</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Μπορείτε τώρα να αφαιρέσετε όλους τους χρήστες από το
|
||||||
|
repository group σας. Όλοι οι έλεγχοι πρόσβασης θα γίνονται από
|
||||||
|
τον wrapper, και ο ίδιος ο wrapper θα θέτει το ανάλογο group με το
|
||||||
|
οποίο θα γίνεται και η τελική πρόσβαση.</para>
|
||||||
|
</procedure>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Ελέγχοντας την εγκατάσταση</title>
|
||||||
|
|
||||||
|
<para>Ο wrapper πρέπει πλέον να είναι έτοιμος. Μπορείτε φυσικά να το
|
||||||
|
δοκιμάσετε κάνοντας ένα forced commit στο αρχείο
|
||||||
|
<filename>access</filename>:
|
||||||
|
|
||||||
|
<screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' access</userinput></screen>
|
||||||
|
|
||||||
|
Ξανά, αν αυτό αποτύχει, ελέγξτε για το αν όλα τα παραπάνω βήματα έχουν
|
||||||
|
εκτελεστεί σωστά.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
</article>
|
Loading…
Reference in a new issue