echo “==> CKIT – Construction KIT.”
LINK.
Dopo un paio di giorni sono giunto ad una prima versione stabile del mio ultimo script per la gestione di un repository Archlinux.
Detto in maniera spicciola, altro non è che un clone di Repoman per quanto riguarda l’aggiornamento dei pacchetti di un repo.
Ciò che cambia è direttamente la filosofia di utilizzo, motivo che non mi permette di chiamarlo Repoman2, ma bensì altro (la mia magra fantasia influenzata dal videogioco Tremulous ha fattosì che io usassi CKIT come nome).
Spendo due parole su Repoman. L’abbiamo ideato e creato io e Bash, ma da un pezzo se ne occupava maggiormente lui, nulla da dire ottimo lavoro ma per le mie esigenze e di come io faccio uso della mia macchina per compilare ed inviare i pacchetti su remoto, scomodo. Nell’uso quasi quotidiano ho iniziato a nutrire necessità che vanno oltre il programma, come voler anche installare un pacchetto dopo che compilo (makepkg -i), voler compilare da root (xbmc-svn con nvidia per ora vuole il root) o voler semplicemente mantenere la cartella dei sorgenti dopo una compilazione. Subito ho pensato di rimboccarmi le maniche e aggiugnere parametri e controlli che facessero ciò di cui mi occorreva, come il –keepsrc o il –noconfirm.
Il problema principale che ho notato nell’uso è stata la filosofia di Repoman. Nello script si danno per scontato alcune operazioni fondamentali, si automatizza il download del PKGBUILD da aur, si automatizza l’eliminazione dei vecchi sorgenti prima di tirare i nuovi e si automatizza l’invio dei dati su ftp.
Bene, io ho deciso di sviluppare uno script che mettesse sul piedistallo delle operazioni IMHO fondamentali, che senza la cui espressa dichiarazione dell’intenzionalità nell’avvio dello script, lo stesso non parta proprio.
Qui viene il mio CKIT:
$ sh zorro/CKIT
==> CKIT - Construction KIT.
Usami con [pacchetto] [flag2] [flag3] [flag4]
dove:
flag2=1 se devo tirare da aur,
flag3=1 se devo compilare da root,
flag4=1 aggiungi al repo tutto il contenuto del workspace.
La filosofia è semplice: o compili o invii su remoto. Se si vogliono fare entrambe le cose lo si lancia due volte. Dando flag4=1 verranno ignorati nome, flag2 e flag3. Trovo molto comodo compilare in successione senza preoccuparmi dello stato della banda, semplicemente compilo uno dietro l’altro ciò che voglio compilare, più tardi invierò. Per ora mi sono scritto un launcher che avvia lo script più volte compilando tutti i pacchetti che intendo mantenere, solo all’ultimo verrà lanciato con “0 0 0 1″, l’ultimo flag ignora tutti i precedenti 3 valori, potevo anche metterci “ciao ciao ciao 1″.
sh ~/zorro/CKIT foo 1 0 0
sh ~/zorro/CKIT bar 1 0 0
sh ~/zorro/CKIT 0 0 0 1
Metto in chiaro che questo vuole essere trattato come uno studio, perciò il codice è scritto semplice semplice di facile comprensibilità e soprattutto molto rustico, notare i pathname. La cosa importante è che esista e non sia usata una certa cartella ~/pkg/CKIT, il suo workspace. Per la compilazione invece potete usare la vostra cartella di yaourt per esempio, quella in cui avete tutti i sorgenti dei programmi di sviluppo che intendete seguire.
Attendo feedback, nel caso abbiate voglia di provarlo.
Saluti.
1 commento for CKIT
Bl@ster
| 21 giugno 2009 at 9:25 AM



La prossima versione sarà Advanced Construction Kit? E quella dopo Reactor?
Scherzi a parte, complimenti, la sua semplicità lo rende facilmente comprensibile