From f4da4c5ab89a6642646743563338d93ee198b823 Mon Sep 17 00:00:00 2001 From: Giorgos Keramidas Date: Sun, 8 Sep 2002 21:12:00 +0000 Subject: [PATCH] Bring in new article translation, and connect it to the build. --- el_GR.ISO8859-7/articles/Makefile | 1 + .../articles/releng-packages/Makefile | 22 ++ .../articles/releng-packages/article.sgml | 372 ++++++++++++++++++ .../articles/releng-packages/extra.css | 17 + 4 files changed, 412 insertions(+) create mode 100644 el_GR.ISO8859-7/articles/releng-packages/Makefile create mode 100644 el_GR.ISO8859-7/articles/releng-packages/article.sgml create mode 100644 el_GR.ISO8859-7/articles/releng-packages/extra.css diff --git a/el_GR.ISO8859-7/articles/Makefile b/el_GR.ISO8859-7/articles/Makefile index 2cc53016ba..0a679fc929 100644 --- a/el_GR.ISO8859-7/articles/Makefile +++ b/el_GR.ISO8859-7/articles/Makefile @@ -10,6 +10,7 @@ SUBDIR+= java-tomcat SUBDIR+= laptop SUBDIR+= new-users SUBDIR+= releng +SUBDIR+= releng-packages DOC_PREFIX?= ${.CURDIR}/../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/el_GR.ISO8859-7/articles/releng-packages/Makefile b/el_GR.ISO8859-7/articles/releng-packages/Makefile new file mode 100644 index 0000000000..c707a616c0 --- /dev/null +++ b/el_GR.ISO8859-7/articles/releng-packages/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ +# Original version: 1.1 +# +# Article: FreeBSD Release Engineering of Third Party Software Packages + +DOC?= article + +FORMATS?= html + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +TIDYFLAGS+= -raw + +# SGML content +SRCS= article.sgml + +CSS_SHEET_ADDITIONS= extra.css + +DOC_PREFIX?= ${.CURDIR}/../../.. + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/el_GR.ISO8859-7/articles/releng-packages/article.sgml b/el_GR.ISO8859-7/articles/releng-packages/article.sgml new file mode 100644 index 0000000000..3f4906bf56 --- /dev/null +++ b/el_GR.ISO8859-7/articles/releng-packages/article.sgml @@ -0,0 +1,372 @@ + + + +%man; + +%teams; + +%freebsd; + +%authors; +]> + +
+ Η Οργάνωση Έκδοσης των Πακέτων Λογισμικού από Τρίτους του + FreeBSD + + + + + Steve + Price + +
steve@FreeBSD.org
+
+
+
+ + $FreeBSD$ + + + Αυτό το άρθρο περιγράφει την προσέγγιση της ομάδας οργάνωσης των + επίσημων εκδόσεων του FreeBSD για την παραγωγή μιας υψηλής ποιότητας + συλλογής πακέτων για τα επίσημα μέσα εγκατάστασης του FreeBSD (CD-ROM + αυτή τη στιγμή). Αυτό το κείμενο αποτελεί μέρος μιας δουλειάς που + βρίσκεται σε εξέλιξη, μα όταν τελικά ολοκληρωθεί θα περιγράφει την + διαδικασία που χρησιμοποιείται για την μεταγλώττιση της συλλογής των + πακέτων στο "Ports Cluster" του FreeBSD.org, πως μπορούν να ρυθμιστούν + οποιαδήποτε άλλα μηχανήματα για να χρησιμοποιηθούν με τον ίδιο τρόπο, + πως να χωριστούν τα πακέτα σε ομάδες στα μέσα της εγκατάστασης, καθώς + και πως μπορούν να γίνουν έλεγχοι στο σύνολο των πακέτων. + + +
+ + + Μεταγλώττιση των πακέτων από την Συλλογή των Ports + + Η Συλλογή των Ports του + FreeBSD αποτελείται από περισσότερα από &os.numports; + προγράμματα, γραμμένα από τρίτους, που είναι διαθέσιμα για χρήση στο + FreeBSD. Οι &a.portmgr; είναι υπεύθυνοι για την συντήρηση ενός + ολοκληρωμένου δέντρου πηγαίου κώδικα που μπορεί να χρησιμοποιηθεί για να + δημιουργηθούν μεταγλωττισμένα πακέτα, τα οποία θα συνοδεύουν κάθε + επίσημη έκδοση του FreeBSD. + + + Το Cluster των Ports + + Για να είμαστε σίγουροι ότι κάθε πακέτο δεν έχει προβλήματα όταν + δίνεται μαζί με κάποια επίσημη έκδοση του FreeBSD, κάθε port + μεταγλωττίζεται σε ένα ξεχωριστό περιβάλλον chroot, ξεκινώντας με + άδειους τους καταλόγους /usr/local και + /usr/X11R6. Τα προαπαιτούμενα πακέτα + εγκαθίστανται σαν προμεταγλωττισμένα πακέτα πριν ξεκινήσει η + μεταγλώττιση. Αυτές οι προϋποθέσεις είναι που ενισχύουν την + ομοιομορφία στην διαδικασία μεταγλώττισης του + κάθε πακέτου. Ξεκινώντας τη μεταγλώττιση κάθε πακέτου σε ένα καθαρό + περιβάλλον, μπορούμε να ελέγξουμε ότι τα συνοδευτικά δεδομένα κάθε + πακέτου (όπως η λίστα με τα προαπαιτούμενα πακέτα) είναι ακριβή, κι + έτσι δεν θα δημιουργήσουμε ποτέ πακέτα που μπορεί σε κάποια συστήματα + να δουλεύουν και σε άλλα όχι ανάλογα με τα προγράμματα που έχουν + εγκατασταθεί πριν. + + Το Cluster των Ports για την αρχιτεκτονική x86 + αποτελείται αυτή τη στιγμή από ένα κύριο κόμβο (Dual Pentium III + στα 733MHz) και 8 δευτερεύοντες κόμβους (Pentium III στα 800MHz), οι + οποίοι κάνουν την μεταγλώττιση των πακέτων. Με αυτά τα μηχανήματα, + μια μεταγλώττιση όλων των ports παίρνει πάνω από 24 ώρες. Αυτά τα + μηχανήματα είναι co-located μαζί με τα άλλα μηχανήματα της ομάδας του + FreeBSD στον χώρο Exodus του Yahoo, στην Santa Clara, CA. + + To Cluster των Ports για την αρχιτεκτονική Alpha + αποτελείται από 7 PWS 500A μηχανήματα, τα οποία χάρισε η Compaq. + Είναι κι αυτά co-located στους χώρους του Yahoo. + + + + + Ο Διαχωρισμός των Πακέτων + + Το συνολικό μέγεθος των πακέτων ξεπέρασε τα 4.1 gigabytes για την + έκδοση 4.4 του FreeBSD. Αυτό είναι λίγο πρόβλημα όμως για τις διανομές + που είναι βασισμένες σε CDROM, γιατί γενικά θέλουμε να μπορούμε να + διανέμουμε όσο το δυνατόν περισσότερα πακέτα χωρίς όμως να αναγκάζουμε + τον χρήστη να αλλάζει δισκάκια για να ικανοποιήσει τις απαιτήσεις + εγκατάστασης των πακέτων. Η λύση είναι φυσικά να φτιάξουμε + ομάδες από πακέτα με αντίστοιχη λειτουργικότητα που έχουν + παρόμοιες απαιτήσεις, και να βάλουμε όλα τα πακέτα κάθε ομάδας στον ίδιο + δίσκο. Αυτό το τμήμα του άρθρου περιγράφει το λογισμικό και τη + μεθοδολογία που χρησιμοποιείται για να δημιουργηθούν οι συλλογές από + πακέτα που περιέχονται στους δίσκους των επίσημων εκδόσεων του + FreeBSD. + + Τα script και τα υπόλοιπα αρχεία που χρειάζονται για να χωριστούν τα + πακέτα σε ομάδες μπορείτε να τα βρείτε στο CVS στον κατάλογο + ports/Tools/scripts/release. Αντιγράψτε αυτό τον + κατάλογο σε ένα μηχάνημα που έχει αρκετό χώρο για να κρατήσει + τουλάχιστον 2 ή 3 φορές το σύνολο των πακέτωνν που θέλετε να + χωρίσετε σε ομάδες. + + Τα παρακάτω scripts υπάρχουν σε αυτό τον κατάλογο: + + + + config + + Αυτό το αρχείο περιέχει το μέγεθος του ελεύθερου χώρου + σε κάθε δίσκο, και αν τα πακέτα, τα distfiles, ή και τα δυο + επιτρέπεται να πάνε σε κάθε συγκεκριμένο δίσκο. Η πρώτη στήλη είναι + το όνομα του δίσκου. Πρέπει να είναι της μορφής + disc[0-9a-z]. Τώρα το αρχείο αυτό έχε ρυθμίσεις + μέσα για 10 δίσκους (4 για το σετ της εγκατάστασης και 6 για το + συμπληρωματικό toolkit). Υπάρχει κι ένας ακόμα δίσκος που λέγεται + scratch, όπου καταλήγουν όλα τα πακέτα και distfiles + που δεν χωράνε πουθενά αλλού. Η δεύτερη στήλη μπορεί να είναι 1 ή + 0, όπου η τιμή 1 σημαίνει ότι μπορούν να τοποθετηθούν πακέτα σε αυτό + το δίσκο. Η τρίτη στήλη δουλεύει με παρόμοιο τρόπο, αλλά κανονίζει + αν μπορούν να τοποθετηθούν distfiles σε αυτό το δίσκο. Η τελευταία + στήλη περιέχει τον αριθμό των ελεύθερων bytes στον + δίσκο. + + + + doit.sh + + Αυτό κάνει την περισσότερη δουλειά. Μόλις έχετε βάλει + όλα τα αρχεία στη θέση τους και έχετε κάνει τις απαραίτητες + ρυθμίσεις, αυτό το script οδηγεί την διαδικασία διαχωρισμού των + πακέτων. Έχετε το νου σας όσο τρέχει όμως, γιατί είναι interactive. + Περισσότερες λεπτομέρειες σχετικά με αυτό το script υπάρχουν και + παρακάτω. + + + + checkdeps.pl + + Ελέγχει αν όλα τα προαπαιτούμενα πακέτα είναι + διαθέσιμα, όταν του δοθεί ένα αρχείο INDEX κι + ένας κατάλογος με πακέτα. + + + + oneshot.pl + + Αυτό είναι το πρόγραμμα που κάνει όλα τα μαγικά (και + χρησιμοποιώ τον όρο πολύ χαλαρά, καθώς χρησιμοποιεί μια brute force + προσέγγιση). Με είσοδο μια συλλογή από απαιτούμενα πακέτα για κάθε + δίσκο και ένα σετ από πακέτα/distfiles αυτό είναι το script που + τοποθετεί ένα πακέτο ή distfile σε ένα δίσκο μαζί με όλα τα πακέτα + από τα οποία εξαρτάται. + + + + print-cdrom-packages.sh + + Αυτό το αρχείο είναι ένα αντίγραφο του + src/release/scripts/print-cdrom-packages.sh + από την έκδοση στην οποία δουλεύετε. + + + + scrubindex.pl + + Αυτό το πρόγραμμα αφαιρεί από ένα + INDEX αρχείο τις γραμμές που είναι σχετικές με + πακέτα που δεν υπάρχουν. Αφαιρεί επίσης και τα πακέτα που απαιτούν + τα XFree86. ΣΗΜΕΙΩΣΗ: θα πρέπει να ρυθμίσετε την τιμή της + μεταβλητής xdep για να βεβαιωθείτε ότι ο αριθμός + έκδοσης είναι σωστός. + + + + setup.sh + + Αυτό είναι ένα βοηθητικό script που χρησιμοποιείται + στο bento cluster για να κατεβάσει ένα αντίγραφο του ports tree και + του αντίστοιχου σετ από πακέτα/distfiles. + + + + Μια λίστα από ελέγχους που πρέπει να κάνετε και ρυθμίσεις που πρέπει + να ελέγξετε πριν συνεχίσετε είναι: + + + Διορθώστε το config για να περιέχει + πληροφορίες για όλους τους δίσκους που έχετε, τα μεγέθη τους, και αν + θέλετε να περιέχουν πακέτα, distfiles, και τα δύο, ή κανένα από τα + δύο. + + Βεβαιωθείτε ότι έχετε σβήσει τον κατάλογο + gen αν υπάρχει κάποιος παλιός κατάλογος με αυτό + το όνομα που έχει ξεμείνει από παλιότερα. Αυτός ο κατάλογος περιέχει + διάφορα αρχεία που έχουν νόημα μόνο για το τωρινό τρέξιμο των + προγραμμάτων. + + Στα πρώτα τρεξίματα που θα κάνετε για να χωριστούν τα + πακέτα είναι καλύτερα να μην κάνετε στα αλήθεια την αντιγραφή των + πακέτων και των distfiles. Αυτό θα σας γλιτώσει και χρόνο και χώρο + στο δίσκο όσο κάνετε δοκιμές μέχρι να σιγουρευτείτε ότι όλα πάνε καλά. + Στο αρχείο oneshot.pl αλλάξτε την τιμή της + μεταβλητής fake σε 1 κι αντί να κάνει αντιγραφή + των αρχείων θα τα κάνει απλώς &man.touch.1;. Βεβαιωθείτε ότι αλλάξατε + την τιμή της fake πάλι σε 0 πριν δώσετε τους + δίσκους σε αυτόν που θα κάνει την μαζική παραγωγή βέβαια, γιατί αλλιώς + οι δίσκοι θα έχουν ένα κατάλογο με πολλά αρχεία μηδενικού + μεγέθους. + + Βεβαιωθείτε ότι έχετε ένα πρόσφατο αντίγραφο του + print-cdrom-packages.sh και ότι είναι από την + σωστή έκδοση. + + Ελέγξτε ότι στο αρχείο + scrubindex.pl αναφέρεται η σωστή έκδοση των + XFree86. Η ίδια τιμή πρέπει να υπάρχει και στα + doit.sh. + + + Το επόμενο βήμα είναι να φτιάξετε ένα αντίγραφο από το ports tree, + τα πακέτα και τα distfiles από ένα πρόσφατο τρέξιμο της μεταγλώττισης + των πακέτων από το cluster των ports. Δείτε το αρχείο + setup.sh για ένα παράδειγμα. Τα βασικά βήματα που + πρέπει να κάνετε όμως είναι τα εξής: + + + Αντιγράψτε το ports.tar.gz και + αποσυμπιέστε το στον κατάλογο ports μαζί με το + doit.sh και τον κατάλογο + scripts. + + Σβήστε τις συντομεύσεις και τους καταλόγους των + πακέτων/distfiles. Το bento τα έχει αυτά σαν συντομεύσεις και θα + πάρετε λάθος αποτελέσματα αν δεν τα σβήσετε πριν + συνεχίσετε. + + Δημιουργήστε ένα νέο κατάλογο για τα ports/πακέτα και + αντιγράψτε το σετ των πακέτων από το cluster μεταγλώττισης των + πακέτων. + + Δημιουργήστε ένα νέο κατάλογο για ports/distfiles και + αντιγράψτε τα distfiles από το cluster μεταγλώττισης των πακέτων. + ΣΗΜΕΙΩΣΗ: αν δεν θέλετε κανένα distfile απλά δημιουργήστε τον κατάλογο + και αφήστε τον άδειο. Αυτός ο κατάλογος πρέπει να υπάρχει ακόμα κι αν + δεν περιέχει τίποτα. + + + Τώρα είμαστε πλέον έτοιμοι για το διασκεδαστικό κομμάτι της + ομαδοποίησης των πακέτων. Μπορείτε να ξεκινήσετε την διαδικασία + τρέχοντας το ./doit.sh. Την πρώτη φορά που το + τρέχετε κάνει τα εξής: + + + Δημιουργεί μια λίστα από τα ports που δεν μπορούν να + διανέμονται στο FTP master site. + + Σας ρωτάει αν θέλετε να σβήσετε αυτά τα ports, αφού δεν + μπορούν να διανέμονται ελεύθερα. Γενικά εδώ καλύτερα να απαντάτε + (y)es. + + Φτιάχνει μια λίστα από τα πακέτα που δεν μπορούν να + μπουν στους δίσκους. + + Σας ρωτάει αν θέλετε να σβήσετε τα πακέτα/distfiles που + δεν μπορούν να μπουν σε CD-ROM. Καλύτερα είναι να απαντήσετε (y)es + εδώ. + + Αντιγράφει το αρχείο INDEX από τον + κατάλογο ports στον κατάλογο + gen. Καθώς το κάνει, αφαιρεί τις γραμμές που + αντιστοιχούν σε ports ή πακέτα που δεν υπάρχουν. Ελέγχει επίσης αν + υπάρχουν όλα τα προαπαιτούμενα πακέτα και ικανοποιούνται οι εξαρτήσεις + των πακέτων/ports. + + Δημιουργεί μια λίστα από πακέτα που είναι απαραίτητο να + υπάρχουν σε κάθε δίσκο. + + Σας ρωτάει αν θέλετε να αντιγράψετε τα αρχεία στους + δίσκους. Αφού γίνει η αντιγραφή στους δίσκους θα ελέγξει για + εξαρτήσεις που λείπουν, θα καθαρίσει το αρχείο + INDEX και θα δημιουργήσει ένα αρχείο + CHECKSUM.MD5. + + Ελέγχει ότι όλα τα απαιτούμενα πακέτα είναι όντως σε + κάθε δίσκο, και τυπώνει ένα συγκεντρωτικό πίνακα με τα μεγέθη των + δίσκων. + + + θα πρέπει να είστε αρκετά τυχεροί για να πετύχει ο διαχωρισμός την + πρώτη φορά, όλα τα πακέτα που χρειάζονται να μεταγλωττιστούν σωστά και + να χωρέσουν και σε κάθε δίσκο. Το μόνο που χρειάζεται μετά είναι να + δώσετε την τιμή 0 στην μεταβλητή fake στο αρχείο + oneshot.pl και να ξανατρέξετε το + ./doit.sh. Την δεύτερη φορά που θα τρέξει, καθώς και + όλες τις υπόλοιπες, δεν θα κάνει τα βήματα 1-5 που αναφέραμε παραπάνω. + Αν θέλετε να ξανατρέξετε κάποια από αυτά τα βήματα, κοιτάξτε στο + doit.sh για να δείτε ποια αρχεία πρέπει να σβήσετε + ώστε να μην αποφύγει το doit.sh αυτά τα βήματα. + Αν θέλετε να ξανατρέξουν όλα τα βήματα, ο πιο εύκολος τρόπος είναι με + rm -rf gen. + + Όταν τελειώσει επιτυχώς η διαδικασία, τα πακέτα/distfiles θα έχουν + αντιγραφεί σε καταλόγους disc* και όσα έχουν + απομείνει θα υπάρχουν στον κατάλογο scratch. + + Τι να κάνετε αν κάτι δεν πάει καλά; Μερικά από τα πιο συχνά + προβλήματα και συμβουλές γι' αυτά φαίνονται παρακάτω: + + + + Απαιτούμενα πακέτα που λείπουν + + Αυτό συμβαίνει πολύ συχνά. Θα χρειαστεί είτε να + περιμένετε για ένα νέο σετ από πακέτα να ετοιμαστεί, στο οποίο τα + πακέτα που λείπουν θα έχουν μεταγλωττιστεί επιτυχώς, ή να βρείτε + κάποιον που μπορεί να ξεκινήσει πάλι την διαδικασία μεταγλώττισης + των πακέτων για σας. Μην προσπαθήσετε να + μεταγλωττίσετε εσείς τα πακέτα που λείπουν στα δικά σας μηχανήματα + και να τα προσθέσετε στο σωρό. Παρόλο που μπορεί να τα καταφέρετε + κι έτσι αν είστε εξαιρετικά προσεκτικοί, στη μεγαλύτερη πλειοψηφία + των περιπτώσεων θα σας ξεφύγει κάποια λεπτομέρεια και η απλή + προσθήκη ενός μόνο πακέτου μπορεί να προκαλέσει προβλήματα σε + εκατοντάδες άλλα πακέτα. + + + + Απαιτούμενα πακέτα που δεν χωράνε + + Μερικές φορές συμβαίνει κι αυτό, και είναι σχετικά + απλό να διορθωθεί. Απλώς διορθώστε το + print-cdrom-packages.sh και μετακινήστε τα + πακέτα μέχρι να βρείτε μια διάταξη που να βολεύει. Ναι, αυτό είναι + μια χρονοβόρα διαδικασία και ένας από τους σοβαρούς λόγους για τους + οποίους θα πρέπει να ενεργοποιήσετε την μεταβλητή + fake στο αρχείο oneshot.pl + μέχρι να καταφέρετε το αποτέλεσμα που θέλετε. Ξανατρέξτε το + ./doit.sh όταν τελειώσετε με τις ρυθμίσεις + σας. + + + + Απαιτούμενα πακέτα δεν είναι στον σωστό (ή σε κανένα) + δίσκο + + Αυτό συνήθως σημαίνει ότι δεν τα προσθέσατε στο + print-cdrom-packages.sh ή τα τοποθετήσατε σε + λάθος δίσκο. Αυτό το script είναι ο κανόνας στον οποίο βασίζεται η + απόφαση για την τοποθεσία ενός πακέτου. Αν θέλετε οπωσδήποτε να + τοποθετηθεί ένα συγκεκριμένο πακέτο σε κάποιο δίσκο, αυτός είναι ο + μόνος τρόπος να το κάνετε με σιγουριά. + + + + Αν κολλήσετε σε κάποιο σημείο και δεν μπορείτε να βρείτε γιατί κάτι + δεν πάει καλά ή πως να το διορθώσετε, στείλτε ένα email στον &a.steve; + για βοήθεια. + + + +
diff --git a/el_GR.ISO8859-7/articles/releng-packages/extra.css b/el_GR.ISO8859-7/articles/releng-packages/extra.css new file mode 100644 index 0000000000..bc2863e254 --- /dev/null +++ b/el_GR.ISO8859-7/articles/releng-packages/extra.css @@ -0,0 +1,17 @@ +/* + * Netscape 4 does not recognice the @import directive of CSS, so we + * can't add an additional stylesheet layer on top of the default one. + * Instead, we use this hack to copy this file to the end of + * docbook.css. + * + * $FreeBSD$ + * Original version: 1.1 + */ + +/* @import "docbook.css"; */ + +/* Customization that looks good for this particular article. */ + +DIV.TITLEPAGE { + text-align: center; +}