Repository 32bit  Forum
Repository 64bit  Wiki

Slackware & SlackBuild

Da Slacky.eu.

Introduzione:

Lo SlackBuild è semplicemente uno script contenente una lista di comandi strutturati in modo tale da generare un pacchetto Slackware base, installabile semplicemente con i tool pkgtool, installpkg o upgradepkg.

Lo script lavora sulla base di programmi standard come make, gcc etc etc.

Normalmente viene accompagnato dai sorgenti originali del programma da lavorare da un file chiamato slack-desc, che contiene la descrizione del pacchetto e dal file doinst.sh usato per impartire comandi esterni di modifica o altro a files esterni.

Ricordiamo che la Slackware utilizza i pacchetti .txz che sono dei precompilati achiviati con tar e compressi con xz.

A differenza dell'.rpm o del .dep il .txz non gestisce le dipendenze ma gli utilizzatori della distro dei SubGenius non ci fanno tanto caso.

Questi file li trovate sull'ftp della Slackware nella cartella source, su http://slackbuilds.org, il nostro e diversi altri che in questi ultimi anni hanno capito l'importanza di rendere disponibili questi preziosi script.

Attenzione sull'ftp della Slackware troverete anche i file *.build che a differenza dello *.SlackBuild installa e basta, senza creare il package.

Uso dello Script:

L'utilizzo è molto semplice, scaricate i sorgenti (tar.gz tar.bz2 etc) lo *SlackBuild lo slack-desc e l'eventuale doinst.sh in una directory di vostro gradimento, io consiglio di chiamarla con lo stesso nome del programma che state per pacchettizzare, un rapido controllo ai permessi dello script con

# ls -al *SlackBuild e l'eventuale
# chmod 755 *SlackBuild per impostare i giusti permessi di esecuzione dello script.

Ricapitolando nella vostra directory ci sarà lo *.SlackBuild i sorgenti lo slack-desc e l'eventuale doinst.sh.

Ora se decidete di eseguire lo script così come lo trovate utilizzerete le CFLAGS standard.

Nelle versioni precedenti alla 9.1 Volkerding usava -O2 -march-i386 -mcpu-i686, ora usa -O2 -march-i486 -mcpu-i686. Se volete ottimizzare il package dovete modificare questi parametri in base al vostro processore. In particolare i binari generati da una compilazione con l'opzione "-mcpu" producono binari non compatibili con processori x86 inferiori, ovvero processori che non implementano tutte le istruzioni utilizzate dalla CPU dichiarata in "-mcpu" (ad es. MMX, 3dNow, ecc...).

Se non siete sicuri di dove verranno eseguiti i vostri binari, quindi, usate "-march=i486" o "-march=i386".

Alcuni esempi possono essere questi:

  • Celeron (Coppermine) -O2 -march=pentium3 -mcpu=pentium3
  • Celeron (Willamette) -O2 -march=pentium4 -mcpu=pentium4
  • Pentium III -O2 -march=pentium3 -mcpu=pentium3
  • Pentium 4 -O2 -march=pentium4 -mcpu=pentium4
  • Athlon (AMD) -02 -march=athlon -mcpu=athlon
  • Athlon XP (AMD) -02 -march=athlon-xp -mcpu=athlon-xp

Ovviamente la lista è lunga questi sono solo alcuni dei processori x86 più usati, se volete una lista completa vi leggete il man di gcc

http://gcc.gnu.org/onlinedocs/gcc-4.5.2/gcc/Optimize-Options.html#Optimize%20Options

OK ci siamo ora da root eseguite lo sript con # ./*.SlackBuild --cleanup sulla vostra console scorreranno tutti i comandi scritti nel file, alla restituzione del prompt vi troverete il pacchetto pronto nella directory prescelta pronto per l'installazione.

L'opzione --cleanup, se prevista, aiuta l'eliminazione automatica delle directory di lavoro.

Considerazioni Finali:

L'uso di questi script è molto utile in caso di ricompilazioni sicure oppure se volete una versione nuova di un pacchetto non ancora disponibile nel ramo current potrete, editando a dovere lo SlackBuild compilare in modo automatico e sicuro i nuovi sorgenti. Ottimizzare alcune applicazioni e molto altro......

autore: Loris 2012

Strumenti personali
Namespace

Varianti