Può anche gestire più pacchetti in una sola volta utilizzando le "code" o "queues" che dir si voglia che genericamente sono una lista di pacchetti da processare. In particolare c'è la possibilità di creare delle code per soddisfare le dipendenze di un certo pacchetto, lo si può fare a mano pacchetto per pacchetto (si guardano i vari files info alla riga "REQUIRES="), oppure grazie ad un altro tool chiamato "sqg" si crea la coda da processare automaticamente.
Faccio un esempio così è più facile spiegarmi. Consideriamo mpv il media player.
Codice: Seleziona tutto
sqg -p mpv
Codice: Seleziona tutto
cat /var/lib/sbopkg/queues/mpv.sqf
docutils
libass
# %README%: see the ffmpeg README file.
ffmpeg
mpv
Se comando a sbopkg di processare completamente mpv, quindi installando:
Codice: Seleziona tutto
sbopkg -i mpv
Codice: Seleziona tutto
1. pacchetto docutils
- scaricato
- costruito
- installato
2. pacchetto libass
- scaricato
- costruito
- installato
3- pacchetto ffmpeg
ecc ecc
La situazione cambia se comandiamo a sbopkg di processare la coda parzialmente, costruendo i pacchetti ma senza installarli.
Codice: Seleziona tutto
sbopkg -b mpv
Non vi pare?
Quindi se si vuole aggiornare mpv mi sembra ben diverso usare la coda col flag "-i" piuttosto che col flag "-b"... Cioè saranno proprio differenti i due pacchetti mpv che ne saltano fuori.... Uno sarà basato su dipendenze più vecchie l'altro su versioni delle stesse più aggiornate.
Quindi domanda 1.
Il mio dubbio è fondato oppure ho capito male come funziona sbopkg?
Altra situazione: mettiamo di aver processato la nostra coda limitandoci a costruire i nostri pacchetti (sbopkg -b mpv) e quindi in /tmp avremo i nostri "tgz".
Se volessi semplicemente installarli in un secondo momento, senza dovermi andare a riguardare la lista della coda per capire quali erano da installare, come dovrei fare?
Nel man di sbopkg, dice che usandolo con l'iterfaccia dialog c'è la possibilità di installare solo il pacchetto che trova:
Siccome nel mezzogiorno avevo lanciato "sbopkg -b mpv" perchè mpv era in uso... E avevo pensato lancio il build poi installo dopo pranzo... al ritorno ho provato ad usare sbopkg dall'interfaccia dialog: ho caricato la coda di mpv e ho avviato il processo completo, sperando che vedesse i pacchetti coinvolti e presenti in /tmp e che mi proponesse di installare quei precompilati lì...If using the dialog interface, and if sbopkg finds a built package for a particular piece of software in the OUTPUT directory, then sbopkg will automatically add a new menu entry allowing the user to install the package if he chooses.
Invece no: ha rifatto tutto, scaricando nuovamente i sorgenti e compilandoli. Forse la sola installazione funziona solo per pacchetti singoli ma non per la coda intera?
Quindi domanda 2:
Come avrei dovuto fare per non ricompilare tutto (a parte l'ovvio: cat /var/lib/sbopkg/queues/mpv.sqf e installpkg /tmp/{dipendenze.tgz,mpv.tgz})?
Grazie mille a tutti in anticipo!