FreeBSDgr.org Scripts

Όνομα: Μανώλης Κιαγιάς, 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:

Τα παραπάνω 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. Μια σχετική γνώση λειτουργίας είναι καλή, αλλά όχι απαραίτητη.

Δηλώσεις Συμμετοχής

Ενδιαφερόμενος email Ημέρες Τομέας Ενασχόλησης
Νίκος Ίσαρης moc.liamg|sotpilakan#moc.liamg|sotpilakan Όλες -
Μπαχαράκης Χρήστος moc.liamg|rahapmc#moc.liamg|rahapmc Όλες -

Αποτελέσματα

Το project δεν πραγματοποιήθηκε, καθώς δεν παρευρέθηκε (λόγω ανωτέρας βίας) ο βασικός developer (Νίκος Ίσαρης)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License