aboutsummaryrefslogtreecommitdiff
path: root/el_GR.ISO8859-7
diff options
context:
space:
mode:
authorEitan Adler <eadler@FreeBSD.org>2015-04-05 16:07:22 +0000
committerEitan Adler <eadler@FreeBSD.org>2015-04-05 16:07:22 +0000
commit411bbe20b8ae91c146d05076448ce201556a1d58 (patch)
treeef5257adf590a76965875b31dda761b80a2b834f /el_GR.ISO8859-7
parent81ad809393fceae2743c89eb9cae94b4616d7703 (diff)
downloaddoc-411bbe20b8ae91c146d05076448ce201556a1d58.tar.gz
doc-411bbe20b8ae91c146d05076448ce201556a1d58.zip
cvs-freebsd: fully remove it
the cvs-freebsd article was removed from the English version some time ago. Fully remove it from the doc tree now
Notes
Notes: svn path=/head/; revision=46476
Diffstat (limited to 'el_GR.ISO8859-7')
-rw-r--r--el_GR.ISO8859-7/articles/Makefile1
-rw-r--r--el_GR.ISO8859-7/articles/cvs-freebsd/Makefile20
-rw-r--r--el_GR.ISO8859-7/articles/cvs-freebsd/article.xml799
3 files changed, 0 insertions, 820 deletions
diff --git a/el_GR.ISO8859-7/articles/Makefile b/el_GR.ISO8859-7/articles/Makefile
index c4cb35b213..28f8f812b5 100644
--- a/el_GR.ISO8859-7/articles/Makefile
+++ b/el_GR.ISO8859-7/articles/Makefile
@@ -5,7 +5,6 @@
SUBDIR = bsdl-gpl
SUBDIR+= contributing
-SUBDIR+= cvs-freebsd
SUBDIR+= explaining-bsd
SUBDIR+= freebsd-questions
SUBDIR+= gjournal-desktop
diff --git a/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile b/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile
deleted file mode 100644
index 202ee2c2aa..0000000000
--- a/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# $FreeBSD$
-#
-# %SOURCE% en_US.ISO8859-1/articles/cvs-freebsd/Makefile
-# %SRCID% 1.5
-
-MAINTAINER= keramida@freebsd.org
-
-DOC?= article
-
-FORMATS?= html
-
-INSTALL_COMPRESSED?= gz
-INSTALL_ONLY_COMPRESSED?=
-
-SRCS= article.xml
-
-URL_RELPREFIX?= ../../../..
-DOC_PREFIX?= ${.CURDIR}/../../..
-
-.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/el_GR.ISO8859-7/articles/cvs-freebsd/article.xml b/el_GR.ISO8859-7/articles/cvs-freebsd/article.xml
deleted file mode 100644
index 331da52e57..0000000000
--- a/el_GR.ISO8859-7/articles/cvs-freebsd/article.xml
+++ /dev/null
@@ -1,799 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-7"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
-<!--
-
- FreeBSD Greek Documentation Project
-
- %SOURCE% en_US.ISO8859-1/articles/cvs-freebsd/article.xml
- %SRCID% 1.17
-
--->
-<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="el">
- <info><title>Εγκατάσταση ενός CVS Repository &mdash; ο τρόπος του &os;</title>
-
-
- <author><personname><firstname>Stijn</firstname><surname>Hoop</surname></personname><affiliation>
- <address><email>stijn@win.tue.nl</email></address>
- </affiliation></author>
-
- <copyright>
- <year>2001</year>
- <year>2002</year>
- <year>2003</year>
- <holder role="mailto:stijn@win.tue.nl">Stijn Hoop</holder>
- </copyright>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.general;
- </legalnotice>
-
- <abstract>
- <para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
- ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών
- (scripts) με αυτά που χρησιμοποιεί και το &os; project στη δική του
- εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
- έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο λεπτομερή έλεγχο
- πρόσβασης στο δέντρο του κώδικα καθώς και αυτόματη παραγωγή
- ευανάγνωστων email με λεπτομέρειες για κάθε αλλαγή στον πηγαίο κώδικα
- (commit).</para>
- </abstract>
- </info>
-
- <sect1 xml:id="introduction">
- <title>Εισαγωγή</title>
-
- <para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και
- ανοιχτού κώδικα (open source) χρησιμοποιούν το
- <application>CVS</application> σαν σύστημα ελέγχου του κώδικά τους.
- Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν
- τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
- από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα
- να οδηγήσει σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία
- να προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
- πρόσβαση.</para>
-
- <para>Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το
- <application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από
- προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν
- μερικά αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository
- πιο εύκολη. Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν
- από τον &a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
- έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων αρχείων
- δέσμης εντολών.</para>
-
- <para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
- πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
- λειτουργίας του <application>CVS</application>.</para>
- </sect1>
-
- <sect1 xml:id="first-setup">
- <title>Πρώτη Εγκατάσταση</title>
-
- <warning>
- <para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη διαδικασία
- χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να είναι βέβαιο
- ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε σιγουρευτείτε
- ότι έχετε πρόσφατα backups, τα οποία εγγυημένα δουλεύουν!</para>
- </warning>
-
- <sect2>
- <title>Αρχικοποίηση του repository</title>
-
- <para>Το πρώτο πράγμα που θα πρέπει να κάνετε όταν στήνετε ένα νέο
- repository είναι να πείτε στο <application>CVS</application> να το
- αρχικοποιήσει:</para>
-
- <screen>&prompt.user; <userinput>cvs -d path-to-repository init</userinput></screen>
-
- <para>Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον
- φάκελο διαχείρισης <filename>CVSROOT</filename>, όπου
- συμβαίνουν όλες οι παραμετροποιήσεις.</para>
- </sect2>
-
- <sect2>
- <title>Η ομάδα του repository</title>
-
- <para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
- repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την
- ομάδα, ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό
- θα χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό
- και το &os;, την ομάδα <literal>ncvs</literal>.</para>
-
- <screen>&prompt.root; <userinput>pw groupadd ncvs</userinput></screen>
-
- <para>Μετά, θα πρέπει να εκτελέσετε την εντολή &man.chown.8; στον φάκελο
- με παράμετρο την ομάδα που μόλις προσθέσατε, θέτοντας έτσι την ομάδα
- στην οποία ανήκει ο κατάλογος:</para>
-
- <screen>&prompt.root; <userinput>chown -R :ncvs path-to-your-repository</userinput></screen>
-
- <para>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository
- αν δεν ανήκει στην σωστή ομάδα.</para>
- </sect2>
-
- <sect2>
- <title>Παίρνοντας τον πηγαίο κώδικα</title>
-
- <para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο
- <filename>CVSROOT</filename> από το repository του
- &os;. Αυτό γίνεται εύκολα, κάνοντας check out από ένα ανοιχτής
- πρόσβασης &os; CVS mirror.
- Δείτε <link xlink:href="&url.books.handbook;/anoncvs.html">το σχετικό
- κεφάλαιο στο εγχειρίδιο</link> για περισσότερες πληροφορίες.
- Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
- κατάλογο <filename>CVSROOT-freebsd</filename> που
- βρίσκεται μέσα στον τρέχοντα κατάλογο.</para>
- </sect2>
-
- <sect2>
- <title>Αντιγράφοντας τα scripts του &os;</title>
-
- <para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
- <filename>CVSROOT</filename> κατάλογο του &os; στο
- δικό μας repository. Αν είστε συνηθισμένος με
- το <application>CVS</application>, ίσως να σας περάσει από το μυαλό να
- προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να γίνει
- ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. Ωστόσο,
- αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει μια
- δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
- στο <filename>CVSROOT</filename> φάκελο, δεν θα
- ενημερωθούν τα απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το
- κάνετε να τα αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε
- αρχείο αφού έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία
- του <literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος
- είναι απλά να αντιγράψετε τα scripts.</para>
-
- <para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
- φαίνεται πολύ ξεκάθαρη&mdash;το τελικό αποτέλέσμα είναι το ίδιο. Απλά
- ελέγξτε τον <filename>CVSROOT</filename> φάκελο και
- αντιγράψτε τα &os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα)
- αντίγραφα:</para>
-
- <screen>&prompt.user; <userinput>cvs -d path-to-your-repository 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>
- </sect2>
-
- <sect2>
- <title>Tα scripts</title>
-
- <para>Τώρα έχετε στον φάκελο εργασίας σας ένα ακριβές αντίγραφο των
- scripts που το ίδιο το &os; project χρησιμοποιεί στο δικό του
- repository. Μια περίληψη του σε τι χρησιμεύει το κάθε αρχείο
- περιλαμβάνεται παρακάτω.</para>
-
- <itemizedlist>
- <listitem>
- <para><filename>access</filename> - το αρχείο αυτό δεν
- χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις
- του <application>CVS</application>. Χρησιμοποιείται μόνο
- στην <link linkend="freebsdspecific">ειδική εγκατάσταση του &os;
- 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> στον κατάλογο αυτό&mdash;όλα εκτός
- από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
- <command>cvs init</command>. Θα πρέπει να
- το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;,
- αρχεία.</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>. Πρώτα ελέγχει,
- χρησιμοποιώντας το πρόγραμμα <filename>cvs_acls.pl</filename>, αν
- ο committer έχει πρόσβαση στο συγκεκριμένο μέρος του δέντρου του
- κώδικα, και μετά εκτελεί το <filename>commit_prep.pl</filename>
- που εκτελεί τους διάφορους pre-commit ελέγχους. Αν δεν υπάρξει
- κάποιο πρόβλημα στους ελέγχους αυτούς, τότε το
- <application>CVS</application> θα επιτρέψει στο commit να
- συνεχίσει. Δεν θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>commitinfo</filename> - το αρχείο αυτό
- χρησιμοποιείται από το <application>CVS</application> στο να
- αποφασίσει ποιο script να εκτελέσει πριν από κάθε commit&mdash;στη
- δική μας περίπτωση αυτό το ρόλο καλύπτει το
- <filename>commitcheck</filename>. Δεν θα
- χρειαστεί να πειράξετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>config</filename> - το αρχείο ρυθμίσεων γι' αυτό το
- repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
- με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
- αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
- τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό
- μπορείτε να βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει την
- ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
- στο δέντρο του κώδικα. Αυτό γίνεται με βάση το
- αρχείο <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>.
- Σημειώστε πως οι επιλογές <literal>-t</literal> και
- <literal>-f</literal> δε δουλεύουν σωστά για client/server χρήση
- του <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>edithook</filename> - το αρχείο αυτό δεν
- χρησιμοποιείται πια, αλλά εξακολουθεί να υπάρχει για ιστορικούς
- λόγους. Μπορείτε να σβήσετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>editinfo</filename> - το
- <application>CVS</application> χρησιμοποιεί αυτό το αρχείο για
- παράκαμψη των editors. Το &os; δεν χρησιμοποιεί αυτή την
- λειτουργικότητα γιατί η ερμηνεία του log μηνύματος γίνεται από τα
- <filename>verifymsg</filename> και <filename>logcheck</filename>
- αρχεία. Επιλέξαμε να γίνεται έτσι αυτό επειδή η χρήση του
- <filename>editinfo</filename> έχει κάποια προβλήματα με τα commits
- από μακριά και με τα commits που χρησιμοποιούν τις επιλογές
- <literal>-F</literal> ή <literal>-F</literal>. Δεν θα χρειαστεί να
- πειράξετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>exclude</filename> - το αρχείο αυτό περιέχει κανονικές
- εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα
- <filename>commit_prep.pl</filename> για να προσδιοριστούν τα
- αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
- επισκόπησης (revision header). Στην εγκατάσταση του &os;, όλα τα
- αρχεία κάτω από έλεγχο επισκόπησης (revision control) είναι
- απαραίτητο να περιέχουν μια επικεφαλίδα επισκόπησης (όπως
- &dollar;FreeBSD&dollar;). Όλα τα ονόματα αρχείων που ταιριάζουν
- με τουλάχιστον μια από τις γραμμές του αρχείου αυτού εξαιρούνται
- από τον συγκεκριμένο έλεγχο. Θα πρέπει να προσθέσετε τις ανάλογες
- κανονικές εκφράσεις στο αρχείο αυτό όταν κάνετε checkin αρχεία που
- δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης. Κατά
- τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να
- είναι καλύτερα να εξαιρείται ο
- κατάλογος <filename>CVSROOT/</filename> από τον
- έλεγχο των headers.</para>
- </listitem>
-
- <listitem>
- <para><filename>log_accum.pl</filename> - πρόκειται για ένα script
- που παίρνει το log μήνυμα όπως αυτό δίνεται από το
- <filename>logcheck</filename> script, και το προσθέτει στο τέλος
- ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα
- ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα
- mail στην email διεύθυνση που έχετε δηλώσει (στο
- <filename>cfg_local.pm</filename>). Συνεργάζεται με το
- <application>CVS</application> μέσω του αρχείου
- <filename>loginfo</filename>. Δεν θα χρειαστεί να πειράξετε το
- αρχείο αυτό.</para>
- </listitem>
-
- <listitem>
- <para><filename>logcheck</filename> - το αρχείο αυτό ερμηνεύει το
- commit log μήνυμα που παρέχουν οι committers, και προσπαθεί κατά
- κάποιο τρόπο να το κανονικοποιήσει. Συνεργάζεται με το
- <application>CVS</application> μέσω του αρχείου
- <filename>verifymsg</filename>. Δεν θα χρειαστεί να πειράξετε το
- αρχείο αυτό.</para>
-
- <note>
- <para>Το script εξαρτάται από μια τοπική αλλαγή του &os; στο
- <application>CVS</application>: Η αλλαγή αυτή ξαναδιαβάζει το
- log μήνυμα αφού αυτό έχει τροποποιηθεί από το script. Η
- κανονική έκδοση του <application>CVS</application> προφανώς δεν
- κάνει κάτι τέτοιο, οπότε το <filename>logcheck</filename> δε
- μπορεί να κάνει μικροδιορθώσεις στο log μήνυμα, αλλά μπορεί να
- ελέγξει ότι το μήνυμα δεν έχει συντακτικά λάθη. Απο την έκδοση
- 1.11.2 και μετά το ίδιο το <application>CVS</application> μπορεί
- να ρυθμιστεί να έχει την ίδια συμπεριφορά με αυτή που έχει η
- έκδοση του &os; με την επιλογή
- <literal>RereadLogAfterVerify=always</literal> στο αρχείο
- <filename>config</filename>.</para>
- </note>
- </listitem>
-
- <listitem>
- <para><filename>loginfo</filename> - το αρχείο αυτό χρησιμοποιείται
- από το <application>CVS</application> για τον έλεγχο του που θα
- στέλνονται οι πληροφορίες των logs. Εδώ ενεργοποιείται το
- πρόγραμμα <filename>log_accum.pl</filename>. Δεν θα χρειαστεί να
- πειράξετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>modules</filename> - το αρχείο αυτό διατηρεί την
- παραδοσιακή του σημασία στο <application>CVS</application>. Θα
- πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση.
- Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
- σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες
- στο εγχειρίδιο του <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>notify</filename> - το αρχείο αυτό χρησιμοποιείται
- από το <application>CVS</application> στην περίπτωση που κάποιος
- τοποθετήσει εντολή παρακολούθησης σε κάποιο αρχείο. Δεν
- χρησιμοποιείται στο repository του &os;. Μπορείτε να
- επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες σας.
- Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες στο
- εγχειρίδιο του <application>CVS</application>.</para>
- </listitem>
-
- <listitem>
- <para><filename>options</filename> - το αρχείο αυτό σχετίζεται άμεσα
- με την &os; έκδοση του <application>CVS</application> και
- υποστηρίζεται μόνο από αυτή και την έκδοση του Debian. Περιέχει
- το keyword που θα γίνεται expand στα revision headers. Θα πρέπει
- να τροποποιήσετε το αρχείο αυτό για να είναι ίδιο με την έκδοση
- που έχετε εισάγει στο αρχείο <filename>cfg_local.pm</filename> (αν
- αποφασίσετε να χρησιμοποιήσετε αυτή την λειτουργία, που προς το
- παρόν δουλεύει σωστά μόνο με την έκδοση του
- <application>CVS</application> που έχει το &os;).</para>
- </listitem>
-
- <listitem>
- <para><filename>rcsinfo</filename> - το αρχείο αυτό αντιστοιχεί
- φακέλους του repository σε αρχεία template, όπως π.χ. το
- <filename>rcstemplate</filename>. Εξ' ορισμού, το
- &os; χρησιμοποιεί ένα template για ολόκληρο το repository.
- Μπορείτε να προσθέσετε και άλλα στο αρχείο αυτό αν το
- επιθυμείτε.</para>
- </listitem>
-
- <listitem>
- <para><filename>rcstemplate</filename> - το αρχείο αυτό είναι το
- template που θα δούν τελικά οι committers όταν θα κάνουν checkin.
- Θα πρέπει να επεξεργαστείτε αυτό το αρχείο ώστε να περιγράφει τις
- διάφορες επιπλέον παραμέτρους που ορίσατε στο αρχείο
- <filename>cfg_local.pm</filename>.</para>
- </listitem>
-
- <listitem>
- <para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την
- πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση
- του &os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
- διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
- επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
- προτιμήσεις.</para>
- </listitem>
-
- <listitem>
- <para><filename>taginfo</filename> - το αρχείο αυτό αντιστοιχεί
- λειτουργίες των tags σε φακέλους του repository με προγράμματα
- ελέγχου, όπως το <filename>tagcheck</filename>. Δεν θα χρειαστεί
- να τροποποιήσετε αυτό το αρχείο.</para>
- </listitem>
-
- <listitem>
- <para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να
- χρησιμοποιηθεί για το αυτόματο <quote>unwrap</quote> των binary
- αρχείων (δείτε <filename>cvswrappers</filename>) στο checkout.
- Δεν χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
- επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
- χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
- </listitem>
-
- <listitem>
- <para><filename>verifymsg</filename> - το αρχείο αυτό αντιστοιχεί
- υποκαταλόγους του repository σε προγράμματα επεξεργασίας των
- μηνυμάτων του log, όπως π.χ. το <filename>logcheck</filename>.
- Δεν θα χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
- </listitem>
-
- <listitem>
- <para><filename>wrap</filename> - το script αυτό χρειάζεται για το
- αυτόματο <quote>wrap</quote> των binary αρχείων (δείτε
- <filename>cvswrappers</filename>) κατά το checkin. Δεν
- χρησιμοποιείται στην τρέχουσα εγκατάσταση του &os; επειδή δεν
- λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
- χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
- </listitem>
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Τροποποιώντας τα scripts</title>
-
- <para>Το επόμενο βήμα είναι η αλλαγή των scripts ώστε να μπορούν να
- χρησιμοποιηθούν στο δικό σας περιβάλλον. Θα πρέπει να ελέγξετε όλα τα
- αρχεία μέσα στον φάκελο και να κάνετε τις τροποποιήσεις σας. Πιο
- συγκεκριμένα, θα θέλετε κατά πάσα πιθανότητα να τροποποιήσετε τα
- παρακάτω αρχεία:</para>
-
- <procedure>
- <step>
- <para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
- οι οποίες χρησιμοποιούνται
- <link linkend="freebsdspecific">αποκλειστικά από το &os;</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>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
- ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το
- αρχείο <filename>access</filename> για την τοποθέτηση όλων των
- committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο
- επιθυμείτε. Μπορείτε επίσης να προσθέσετε και ομάδες αν το
- επιθυμείτε (η σύνταξη καθορίζεται στην κορυφή του αρχείου
- <filename>cvs_acls.pl</filename>).</para>
- </step>
-
- <step>
- <para>Διορθώστε το αρχείο <filename>cfg_local.pm</filename> ώστε να
- περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμένα, θα πρέπει
- να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:</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>
-
- <listitem>
- <para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
- όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
- φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
- commit αποθηκεύεται κάτω από τον κατάλογο
- <filename>CVSROOT</filename>, στον υποκατάλογο
- <filename>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>
- <para>Επεξεργαστείτε το αρχείο <filename>exclude</filename> για να
- αφαιρέσετε τις ειδικές καταχωρήσεις του &os; (όπως όλες τις
- γραμμές που ξεκινούν με <literal>^ports/</literal> κτλ.). Εκτός
- αυτού, βάλτε σε σχόλια τις γραμμές που ξεκινούν με
- <literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα
- περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί
- ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
- που βρίσκονται μέσα στον κατάλογο
- <filename>CVSROOT</filename> και να επαναφέρετε
- τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας δημιουργήσουν
- προβλήματα όταν θα προσπαθήσετε να κάνετε commit αργότερα.</para>
- </step>
-
- <step>
- <para>Ανοίξτε το αρχείο <filename>modules</filename>, και αφαιρέστε
- όλες τις σχετικές με το &os; καταχωρήσεις. Προσθέστε τα δικά
- σας modules αν το επιθυμείτε.</para>
- </step>
-
- <step>
- <note>
- <para>Το βήμα αυτό είναι απαραίτητο μόνο αν έχετε ορίσει
- κάποια τιμή στην παράμετρο <literal>$IDHEADER</literal> του
- αρχείου <filename>cfg_local.pm</filename> (η οποία δουλεύει μόνο
- εφόσον χρησιμοποιείτε την τροποποιημένη έκδοση του
- <application>CVS</application> που έχει το &os;).</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>Προαιρετικά, αφαιρέστε τους ελέγχους του &os; από το αρχείο
- <filename>tagcheck</filename>. Μπορείτε απλά να προσθέσετε
- <literal>exit 0</literal> στην αρχή του αρχείου για να
- απενεργοποιήσετε όλους τους ελέγχους στο tagging.</para>
- </step>
-
- <step>
- <para>Το τελευταίο πράγμα που πρέπει να γίνει, είναι να
- σιγουρευτείτε ότι τα commitlogs μπορούν να αποθηκευτούν.
- Τα <application>CVS</application> scripts του &os;
- αποθηκεύουν αυτά τα logs στον υποκατάλογο <filename>commitlogs</filename>
- του καταλόγου <filename>CVSROOT</filename>.
- Αυτός ο φάκελος πρέπει να
- δημιουργηθεί, οπότε κάντε τα ακόλουθα:</para>
-
- <screen>&prompt.user; <userinput>mkdir commitlogs</userinput>
-&prompt.user; <userinput>cvs add commitlogs</userinput></screen>
- </step>
- </procedure>
-
- <para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
- commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει
- στον εαυτό σας πρόσβαση στον
- φάκελο <filename>CVSROOT</filename> μέσα από το
- αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσον στην
- αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε, φροντίστε
- τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα ακόλουθα:
-
- <screen>&prompt.user; <userinput>cvs commit -m '- Initial FreeBSD scripts commit'</userinput></screen></para>
- </sect2>
-
- <sect2>
- <title>Δοκιμάζοντας την Εγκατάσταση</title>
-
- <para>Είστε έτοιμοι για την πρώτη σας δοκιμή: Ένα forced commit στο
- αρχείο <filename>avail</filename>, για να σιγουρευτείτε ότι όλα
- δουλεύουν όπως θα έπρεπε.</para>
-
- <screen>&prompt.user; <userinput>cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' avail</userinput></screen>
-
- <para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια
- πλήρως λειτουργική εγκατάσταση των &os; scripts για το repository σας.
- Στην περίπτωση που το <application>CVS</application> εξακολουθεί να
- παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
- ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
- βήματα.</para>
- </sect2>
- </sect1>
-
- <sect1 xml:id="freebsdspecific">
- <title>Ειδική Εγκατάσταση του &os; Project</title>
-
- <para>Το ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική
- εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
- <filename>freebsd</filename> του
- <filename>CVSROOT</filename> που χρησιμοποιείται στο
- &os;. Το project χρειάζεται κάτι τέτοιο λόγω του μεγάλου αριθμού των
- committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι στο ίδιο group.
- Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού πρώτα εξασφαλίζει
- τα σωστά διαπιστευτήρια των committers, αλλάζει μετέπειτα το group id σε
- αυτό του repository.</para>
-
- <para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
- θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
- μια σύντομη επισκόπηση των σχετικών αρχείων.</para>
-
- <sect2>
- <title>Αρχεία που χρησιμοποιούνται στην ειδική εγκατάσταση του
- &os;</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> - το αρχείο αυτό
- χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
- εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το αρχείο
- αυτό.</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 σε επίπεδο συστήματος με το cvwrap, κι η αρχική εντολή
- 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:</para>
-
- <screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
-
- <para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας
- τα ακόλουθα βήματα (θα πρέπει να είστε root για το βήμα
- αυτό):</para>
-
- <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:ncvs /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>
-
- <para>Αυτό εγκαθιστά τον wrapper σαν την εξ' ορισμού
- <command>cvs</command> εντολή, κάνοντας έτσι σίγουρο ότι
- οποιοσδήποτε θελήσει να χρησιμοποιήσει το repository, θα πρέπει να
- έχει τα κατάλληλα επίπεδα πρόσβασης.</para>
- </step>
-
- <step>
- <para>Μπορείτε τώρα να αφαιρέσετε όλους τους χρήστες από το
- repository group σας. Όλοι οι έλεγχοι πρόσβασης θα γίνονται από
- τον wrapper, και ο ίδιος ο wrapper θα θέτει το ανάλογο group με το
- οποίο θα γίνεται και η τελική πρόσβαση.</para>
- </step>
- </procedure>
- </sect2>
-
- <sect2>
- <title>Ελέγχοντας την εγκατάσταση</title>
-
- <para>Ο wrapper πρέπει πλέον να είναι έτοιμος. Μπορείτε φυσικά να το
- δοκιμάσετε κάνοντας ένα forced commit στο αρχείο
- <filename>access</filename>:</para>
-
- <screen>&prompt.user; <userinput>cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' access</userinput></screen>
-
- <para>Ξανά, αν αυτό αποτύχει, ελέγξτε ότι όλα τα παραπάνω βήματα έχουν
- εκτελεστεί σωστά.</para>
- </sect2>
- </sect1>
-</article>