Όνομα: Μανώλης Κιαγιάς, gro.DSBeerF|silonam#gro.DSBeerF|silonam
Project: FreeBSDgr.org site automation, http://www.freebsdgr.org
Γλώσσα: bash
Στόχος: Βελτίωση / συγγραφή scripts για automation διάφορων διαδικασιών του FreeBSDgr.org
Άτομα: 2 και πάνω
Βαθμός Δυσκολίας: Μικρός / Μέτριος (Ανάλογα τη λειτουργία)
Scripts Αυτοματοποίησης Greek Documentation Project
To FreeBSDgr.org "στεγάζει" (ανεπίσημα) το FreeBSD Greek Documentation Project. Στο site αυτό γίνονται μια σειρά απο αυτοματοποιημένες διαδικασίες με τη βοήθεια bash scripts:
- Αυτόματο documentation building κάθε μια ώρα (με αναφορά σφάλματος μέσω email). Δείτε για παράδειγμα εδώ για το Handbook και εδώ για τη Σελίδα Κατάστασης
- Αυτόματο tarball upload των documentation sources σε προκαθορισμένη τοποθεσία κάθε πρωί. Δείτε για παράδειγμα εδώ για τη Σελίδα Κατάστασης
- Αυτόματo mirror site (www.freebsd.org) build κάθε πρωί. Δείτε εδώ για το mirror και εδώ για τη Σελίδα Κατάστασης
- Έλεγχος κατάστασης μεταφράσεων, δείτε αυτή τη σελίδα
Τα παραπάνω scripts είναι στην πλειοψηφία τους bash και τα περισσότερα είναι απλώς "hacked together" χωρίς ιδιαίτερους ελέγχους, δομή και options. Μερικά είναι και σχετικά μεγάλα.
Η βελτίωση των παραπάνω δεν είναι δύσκολη και είναι κατάλληλο project για όποιον έχει μικρή εμπειρία σε προγραμματισμό και bash scripting.
Θα δοθούν πλήρεις οδηγίες για τη λειτουργία τους και οι νέες εκδόσεις θα δοκιμάζονται απευθείας στο FreeBSDgr.org ;)
Scripts Αυτοματοποίησης make release
Το make release είναι η διαδικασία στο FreeBSD με την οποία παράγεται ένα release. Γενικά αποτελείται από τα παρακάτω:
- Εγκατάσταση ενός έτοιμου world σε ένα chroot
- Ανάκτηση sources μιας έκδοσης από το CVS (μέσω CVSup ή/και τοπικού CVS repository copy)
- make release για το base system και ίσως ταυτόχρονα:
- Δημιουργία έτοιμων πακέτων από το ports tree με τη βοήθεια tinderbox
- Ανάμειξη αυτών και δημιουργία CD/DVD iso, distribution / FTP κλπ.
Σε όλα τα παραπάνω υπάρχουν πολλά "χειροκίνητα" σημεία και διαδικασίες που μπορούν να αυτοματοποιηθούν ώστε να γράφουμε κάτι σαν:
do-release -r 7.2-RELEASE-p1 -p 7.2-Desktop-packages -b 7.2-RELEASE-p1
και λίγες ώρες αργότερα να έχουμε έτοιμα iso.
Οι αρχικές εκδόσεις αυτών των scripts υπάρχουν, αλλά πράγματι είναι πολύ αρχικές. Να σημειώσω ότι έχω ξεκινήσει το συγκεκριμένο project και τα ISO που παράγονται ανεβαίνουν ήδη στην τοποθεσία:
http://freebsd.dev-urandom.com/iso/i386/xfce-desktop/
ενώ πρόσφατα το project βρέθηκε και στις ειδήσεις του Distrowatch Weekly ;)
Σημείωση: Κάποιοι 'τυχεροί' (δεν ξέρω πόσο τυχερός είναι κάποιος που κρατάει FreeBSD CD) στη Λάρισα πήραν το πρώτο τέτοιο DVD που έφτιαξα (έδωσα περίπου 15).
Η δυσκολία του εγχειρήματος δεν είναι μεγάλη, όποιος όμως συμμετέχει θα πρέπει να μάθει τις λεπτομέρειες του release.
Τα πειράματα θα γίνονται στο http://artemis.freebsdgr.org (δεν είναι online συνέχεια, αλλά θα μείνει ενεργό τις μέρες του camping) το οποίο είναι ο release builder.
Τα υπάρχοντα scripts είναι bash και τη δεδομένη στιγμή περιέχουν ουσιαστικά τις εντολές που έδινα χειροκίνητα. Παράλληλα θα μπορούσαν να γραφούν και κάποια scripts για το tinderbox που δημιουργεί τα πακέτα, ή ακόμα και ένα web interface που να επιτρέπει τη δημιουργία προσαρμοσμένου iso με επιλογή πακέτων, γραφικού περιβάλλοντος κλπ.
Scripts για Automated FreeBSD Desktop Installer
Σκοπός του συγκεκριμένου project είναι να παράγει ένα shell script (με dialog) το οποίο μετά από μια εγκατάσταση με το Custom DVD (του προηγούμενου project) να επιτρέπει σε ένα "χρήστη" να κάνει τα παρακάτω εύκολα και απλά:
- Να εγκαταστήσει επιπλέον πακέτα τα οποία δεν έβαλε στην αρχική εγκατάσταση
- Να ρυθμίσει γραφικό περιβάλλον (Xorg), επιφάνεια εργασίας, keyboard layout
- Πρόσθετα fonts, codecs, ρυθμίσεις για αναπαραγωγή multimedia
- Να αλλάξει shell και να εγκαταστήσει προσαρμοσμένα shell startup files
- Να ανιχνεύσει και να εγκαταστήσει αυτόματα την κάρτα ήχου
- Διάφορες άλλες ρυθμίσεις που χρειάζονται ώστε να φτάσει σε ένα λειτουργικό desktop με τον ελάχιστο κόπο.
Όχι, δεν πρόκειται για BSD Ubuntu Edition ;) Διαβάζοντας εξάλλου το script μπορεί κάποιος να το προσαρμόσει στις ανάγκες του. Όταν ολοκληρωθεί, θα ενσωματωθεί στο Custom FreeBSD DVD που παράγεται ήδη. To script θα είναι interactive με τη βοήθεια dialog(1) και θα πρέπει να είναι απλό bourne και όχι bash (δεν μπορούμε να είμαστε σίγουροι ότι ο χρήστης έχει εγκαταστήσει bash).
Κάποια κομμάτια και κάποιες δοκιμές για το παραπάνω έχουν γίνει ήδη, αλλά γενικά θεωρήστε ότι αυτό θα ξεκινήσει από την αρχή.
Η δυσκολία του εγχειρήματος δεν είναι μεγάλη.
Τα πειράματα θα γίνονται σε Virtual Machine και σε απομακρυσμένα test μηχανήματα.
Δεν απαιτείται να έχετε εγκατεστημένο FreeBSD.
Τα sources θα τηρούνται σε mercurial repository. Μια σχετική γνώση λειτουργίας είναι καλή, αλλά όχι απαραίτητη.
Δηλώσεις Συμμετοχής
| Ενδιαφερόμενος | Ημέρες | Τομέας Ενασχόλησης | |
| Νίκος Ίσαρης | moc.liamg|sotpilakan#moc.liamg|sotpilakan | Όλες | - |
| Μπαχαράκης Χρήστος | moc.liamg|rahapmc#moc.liamg|rahapmc | Όλες | - |
Αποτελέσματα
Το project δεν πραγματοποιήθηκε, καθώς δεν παρευρέθηκε (λόγω ανωτέρας βίας) ο βασικός developer (Νίκος Ίσαρης)





