Compilazione pacchetti tramite Slackbuild?

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
N1cuz
Linux 2.x
Linux 2.x
Messaggi: 333
Iscritto il: lun 6 ott 2008, 0:41
Nome Cognome: Nicola Bartolomei
Slackware: 14.1
Kernel: 4.3.3
Desktop: xfce4
Località: Pieve a Nievole (PT)

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da N1cuz »

Grazie mille Ponce per la spiegazione, molto chiaro, non ho mai usato current ed eccetto il browser e poco altro non mi capita di aggiornare, comunque ne terrò a mente dato che appena posso mi piacerebbe installare la 14.2

ChriD
Linux 2.x
Linux 2.x
Messaggi: 362
Iscritto il: dom 30 ott 2005, 16:43

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ChriD »

Credo che mi realizzerò' anch'io una bella coda di pacchetti in modo da poter aver la pappa pronta in caso di re-installazione...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da joe »

ponce ha scritto: se i nuovi sorgenti si compilano esattamente al solito modo puoi anche scaricare il tarball dentro /var/cache/sbopkg e poi lanciare sbopkg cosi'

Codice: Seleziona tutto

sbopkg -b foo:VERSION=1.2.3
altrimenti devi crearti uno script personalizzato.
Ciao, volevo installare l'ultima versione di qbittorrent che è la 3.3.7. Al momento ALienBob nel suo repo ha il pacchetto della 3.3.6. Su SBo ne hanno una ancora più vecchia.
Allora mi sono ricordato di questo tuo esempio: modificare la versione al volo, senza neanche modificare lo slackbuild. Ho prvato a farlo per il pacchetto libtorrent-rasterbar, che è una dipendenza di qbittorrent.
Però non ha funzionato e dice che in "/var/lib/sbopkg/SBo/14.2/libraries/libtorrent-rasterbar" non trova il tarball della versione più recente "1.0.10" che ho scaricato io a mano in /var/cache/sbokpg.
Quindi, mi sa che non basta il tuo "metodo speditivo".
Ho visto che in quella directory sotto /var/lib i pacchetti sono in realtà dei link simbolici a quelli reali in /var/cache/sbopkg. Allora ne ho creato uno a mano per il mio nuovo tarball scaricato a mano.
Ricapitolando ho dato i seguenti comandi:

Codice: Seleziona tutto

wget -P /var/cache/sbopkg/ 'https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_0_10/libtorrent-rasterbar-1.0.10.tar.gz'
cd /var/lib/sbopkg/SBo/14.2/libraries/libtorrent-rasterbar
ln -s /var/cache/sbopkg/libtorrent-rasterbar-1.0.10.tar.gz libtorrent-rasterbar-1.0.10.tar.gz
sbopkg -b libtorrent-rasterbar:VERSION=1.0.10
Funziona o non funziona?
Alla fine mi sa che le due versioni di libtorrent-rasterbar sono tropo diverse perchè lo slackbuild fallisce in qualche modo...

Però se fossero stati più "simili", sarebbe stato molto comodo...
Ma questo utilizzo "ardito" è documentato da qualche parte?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ponce »

no, perche' non e' assolutamente garantito che funzioni, come hai sperimentato: basta che cambi anche una piccolezza (come in questo caso).

comunque, casualmente, ho gia' nel mio repository git personale una patch per l'upgrade alla 1.0.10 di libtorrent-rasterbar perche' quella che abbiamo nel repository non compila col gcc-6.2 in /testing.

ChriD
Linux 2.x
Linux 2.x
Messaggi: 362
Iscritto il: dom 30 ott 2005, 16:43

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ChriD »

Anche se non l'ho mai utilizzata ma credo che questo tool spettacolare avvicini molto la Slackware a Gentoo....

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ponce »

personalmente, non direi.
se vogliamo trovare qualcosa di simile, secondo me, si puo' dire che, per come e' organizzato, SlackBuilds.org somiglia ai ports dei *BSD (ma anche li' ci sono tante differenze).

ChriD
Linux 2.x
Linux 2.x
Messaggi: 362
Iscritto il: dom 30 ott 2005, 16:43

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ChriD »

ponce ha scritto:no, perche' non e' assolutamente garantito che funzioni, come hai sperimentato: basta che cambi anche una piccolezza (come in questo caso).

comunque, casualmente, ho gia' nel mio repository git personale una patch per l'upgrade alla 1.0.10 di libtorrent-rasterbar perche' quella che abbiamo nel repository non compila col gcc-6.2 in /testing.

Nel caso creassi un fork di slackbuild in un mio account git, potrei gestire il fatto di avere degli slackbuild personalizzati e altri (la maggior parte) invece che seguono quelli del repository originale?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da joe »

Tanto per smentire quanto abbiamo concluso, alla fine (nona vendo ancora letto che vi era il tuo slackbuild) ho preso quello di Alien per la 1.0.9, l'ho modificato con "VERSION=1.0.10" e ha funzionato.
Poi non contento ho preso sempre da Alien qbittorrent-3.3.6, e ho modificato a "VERSION=3.3.7".
Alla fine il build è riuscito. Qbittorrent si apre senza problemi, anche se non ho ancora scaricato niente... Vedremo se fila tutto liscio.


Una cosa, se io volessi fare ricerche anche tra i pacchetti del tuo repo sperimentale, si può fare con sbopkg?
Qualcosa tipo (se non sbaglio):

Codice: Seleziona tutto

sbopkg -V${PONCE} -g "pattern_di_ricerca"
C'è questa possibilità??

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ponce »

ChriD ha scritto:Nel caso creassi un fork di slackbuild in un mio account git, potrei gestire il fatto di avere degli slackbuild personalizzati e altri (la maggior parte) invece che seguono quelli del repository originale?
si, pero' fallo solo se lo sai gia' fare per conto tuo e sei praticamente autonomo, perche' non e' una cosa che si puo' spiegare in cinque minuti ;)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ponce »

joe ha scritto:Una cosa, se io volessi fare ricerche anche tra i pacchetti del tuo repo sperimentale, si può fare con sbopkg?
Qualcosa tipo (se non sbaglio):

Codice: Seleziona tutto

sbopkg -V${PONCE} -g "pattern_di_ricerca"
C'è questa possibilità??
si, pero' devi prima scaricarlo

Codice: Seleziona tutto

sbopkg -V SBo-git/current -r
ricordati che, quando vorrai sincronizzarlo (lo aggiorno generalmente una volta alla settimana), dovrai prima cancellare la copia locale e poi riscaricarlo

Codice: Seleziona tutto

rm -fR /var/lib/sbopkg/SBo-git ; sbopkg -V SBo-git/current -r

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da joe »

Perchè è necessario rimuoverlo? non funziona se lo aggiorno semplicemente con

Codice: Seleziona tutto

sbopkg -r -V SB0-git/current
??

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ponce »

no.

e' un branch git si cui viene fatto il rebase sul master ogni volta e non si puo' semplicemente aggiornare con un "git pull": andrebbe rinominato, cancellato, ecc. ecc.
e' un operazione talmente macchinosa che conviene cancellarlo e riscaricarlo.

ChriD
Linux 2.x
Linux 2.x
Messaggi: 362
Iscritto il: dom 30 ott 2005, 16:43

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ChriD »

Ieri ho provato a scaricare e compilare chromium con il nuovo mini-pc che ho comprato appositamente per linux.... La cpu pero' non e' particolarmente prestante... una APU AMD5350... Mentre era in esecuzione la compilazione di chromium leggevo sulla rete che il tempo necessario richiesto era davvero parecchio... Ho ipotizzato che in quattro ore la macchina avrebbe completato e ho quindi programmato lo spegnimento in quanto dovevo andare a lavoro... Quando sono tornato ho scoperto che il pacchetto non era stato creato ed il log di sbopkg riportava solo l'avvio del processo di compilazione... Ora ho deciso di scaricarlo da repository di alien bob, tuttavia per pulire il processo di compilazione interrotto mi basta rimuovere la relativa directory da /tmp/SBo ?? o bisogna fare altro?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da joe »

Sì ti consiglio anche io di andare di precompilato. Io senza rifletterci tanto, abituato a lavorare da una versione precedente di slackware (14.0), per installarlo sulla attuale 14.2 ho preso la dir build dal repo di alien e ho lanciato lo slackbuild.
Sul mio PC fisso con un vecchio "Core 2 Duo 2.66GHz" ho ottenuto tempi di compilazione pietosi. Lanciato intorno alle 17.00 circa e verso mezzanotte non aveva ancora finito. Ho lasciato girare e me ne sono andato. Il mattino seguente ho trovato il pacchetto sfornato durante la notte, non so dire quando di preciso....
Anzi no, spetta ho ancora il prezioso txz, dovrebbe bastare un ls -l per vederne il tempo dell'ultima modifica:

Codice: Seleziona tutto

$ ls -l /tmp/chromium-53.0.2785.92-x86_64-2alien.txz
-rw-r--r-- 1 root root 57828372 set 20 03:35 /tmp/chromium-53.0.2785.92-x86_64-2alien.txz
Ok quindi dalle 17 alle 3:35 siamo circa sulle 10 ore di compilazione. La mia CPU l'ho specificata sopra e il sistema è slackware-14.2_64bit, installato fresco fresco. RAM 4GB, non so se c'entra granchè e disco di sistema SSD. Aggiungo che il sistema è in init3. E che sono solito lanciare sempre una sessione di "screen" quando lavoro a terminale. Così prima di andarmene ho mandato la sessione screen in background e sono uscito dalla sessione grafica KDE spegnendo di fatto il server X, In modo da scaricare la CPU da eventuali processi inutili.
Insomma si tratta di un pacchetto enorme per la mia CPU e se non si hanno esigenze particolari tipo aggiungere opzioni in fase di compilazione per ottenere qualcosa di specifico direi che il pacchetto precompilato di Alien è lì bell'eppronto per essere installato. Quindi consiglio vivamente quell'opzione.

Per quanto riguarda sbopkg, non c'entra nulla con il pacchetto di Alien. A maggior ragione se installi l precompilato.
Per pulire le compilazioni fatte da sbopkg o anche se hai usato slackbuilds a mano presi da SBo, non ti resta che rimuovere la directory che dicevi /tmp/SBo.
In realtà così rimuovi tutti i residui delle compilazioni prodotte per tutti i pacchetti "sbo" che hai compilato. Se vuoi solo rimuovere ciò che riguarda chromium dovresti avere due sub dir lì chiamate a seconda della tua versione di chromium:

Codice: Seleziona tutto

/tmp/SBo/chromium-53.0.2785.92
/tmp/SBo/package-chromium
Quindi se vuoi rimuovere solo le compilazioni inerenti chromium cancelli quelle due e sei apposto. Se invece vuoi ripulire anche ciò che riguarda altri pacchetti compilati cancelli tutta la dir /tmp/SBo.

ChriD
Linux 2.x
Linux 2.x
Messaggi: 362
Iscritto il: dom 30 ott 2005, 16:43

Re: Compilazione pacchetti tramite Slackbuild?

Messaggio da ChriD »

joe ha scritto: In realtà così rimuovi tutti i residui delle compilazioni prodotte per tutti i pacchetti "sbo" che hai compilato. Se vuoi solo rimuovere ciò che riguarda chromium dovresti avere due sub dir lì chiamate a seconda della tua versione di chromium:

Codice: Seleziona tutto

/tmp/SBo/chromium-53.0.2785.92
/tmp/SBo/package-chromium
Quindi se vuoi rimuovere solo le compilazioni inerenti chromium cancelli quelle due e sei apposto. Se invece vuoi ripulire anche ciò che riguarda altri pacchetti compilati cancelli tutta la dir /tmp/SBo.
Quello e' l'unico posto dove sbopkg salva i sorgenti con gli oggetti della compilazione, giusto? C'e' qualche motivo per il quale non dovrei voler ripulire tutto il contenuto di /tmp/SBo?

Rispondi