Content:

.  Index
.  FAQ
.  Slack Packages
.  Slack Install
. 
Slack Config
.  Slack Tutorial


.  Slack Security
.  Distribuzioni
.  Compilazione
. 
Kernel Linux
.  Downloads
.  Links
. 
Contact


The Slack-it Linux Project

.  Slackware Packages

Guida rapida alla creazione di pacchetti su Slackware Linux

Guida alla creazione di pacchetti .tgz su Slackware 9.0     by  #velenux


Copyright

Copyright (c) 2003 Simone Bianchini ~ http://web.tiscali.it/gnu.linux.
È garantito il permesso di copiare, distribuire e/o modificare questo documento secondo i termini della GNU GPL versione 2. Una copia della licenza è disponibile presso http://www.gnu.org. Questa guida è una documentazione gratuita, fornita così com'è, senza alcuna garanzia, nè implicita, nè esplicita di adeguatezza ad un uso particolare o di commerciabilità. L'autore non si assume alcuna responsbilità per eventuali danni provocati da quanto contenuto. Per garantire una uniformità di questo documento, l'autore preferisce essere
avvertito prima che vengano fatte delle modifiche, al solo scopo di tenere una unica versione dell'opera. Pertanto chi vuole inserire delle modifiche e/o aggiungere anche solo parte del testo è pregato di contattare l'autore il quale si riserva la facoltà di giudizio.      FIX ME!!

Changelog

24-09-2003: prima stesura del documento. La documentazione fà riferimento ai programmi compilabili tramite ./configure make && make install. La versione di Slackware usata è la 9.0 ma la procedura è valida anche con versioni precedenti.

About

Questo documento è stato scritto con Vim 6.1.385. Potete trovare aggiornamenti ufficiali presso: The Slack-it Linux Project http://web.tiscali.it/gnu.linux



Introduzione

Chi utilizza Slackware generalmente compila il software a partire dai sorgenti, per avere ottimizzazioni per la propria architettura e/o configurazioni personalizzate. Tuttavia può risultare molto utile utilizzare i pacchetti in formato .tgz propri di Slackware per una più immediata disponibilità dei software (senza dover affrontare la compilazione...operazione non sempre velocissima), oppure per realizzare backup dei propri applicativi facilmente "reinstallabili". A differenza degli altri formati di pacchettizzazione come .deb e .rpm, i pacchetti di slackware sono decisamente più semplici da preparare...e del resto le funzioni che svolgono sono decisamente più elementari: infatti non è previsto un controllo sulle dipendenze. Se si scompatta un pacchetto Slackware, che non è altro che un semplice archivio gzippato, si può notare come all'interno contenga le stesse directory nelle quali verranno installati i file. Il comando installpkg (di cui parleremo poi) non fa altro che copiare ciò che trova nel .tgz nel corrispettivo path del sistema.
 

Prima di iniziare

Entrate nella / di sistema e create una directory di lavoro temporanea che qui chiameremo pkg-slack ma che potete chiamare come volete:

$ su
******
# cd /
# mkdir -p /pkg-slack

Ora si aprono due alternative: poichè la maggior parte dei programmi vengono installati in /usr o in /usr/local, è necessario creare all'interno della directory di lavoro l'appropriata gerarchia con tutte le ordinarie sottodirectory:

A)

# mkdir -p /pkg-slack/usr/local
# mkdir /pkg-slack/usr/local/bin
# " " " " /etc
# " " " " /include
# " " " " /lib
# " " " " /man
# " " " " /share

oppure:

B)

# mkdir -p /pkg-slack/usr
# mkdir /pkg-slack/usr/bin
# " " " /etc
# " " " /include
# " " " /lib
# " " " /man
# " " " /share

ATTENZIONE: Leggete sempre i file INSTALL e README per capire i vari path in cui viene installato il software. Ad esempio molte applicazioni per kde usano /opt e tutta la sottogerarchia per l'installazione di eseguibili, librerie, header, man pages etc.. Eventualmente in / creerete questa directory /pkg-slack/opt/...... ( a seconda del makefile). Leggete sempre install e readme......non dite che nessuno ve lo aveva detto!!! :-)



Compilazione dei sorgenti

Ora entrate nella directory dove avete posto l'archivio con i sorgenti e compilateli con le opportune modifiche. Utilizzerò come caso l'archivio dei sorgenti di gqview:

$ cd ....../gqview-1.3.2.tgz
$ tar xzvf gqview-1.3.2.tgz
$ cd gqview-1.3.2

Ora dovete lanciare il ./configure con l'opportuna indicazione del path che sarà in base alle vostre scelte /usr oppure /usr/local:

$ ./configure --prefix=/usr

oppure:

$ ./configure --prefix=/usr/local

Lanciate un bel make:

$ make

E ora un make install con indicazione del path scelto all'inizio:

# make install prefix=/pkg-slack/usr

oppure:

# make install prefix=/pkg-slack/usr/local       (o eventualmente /pkg-slack/opt....)

 

Creazione del pacchetto

Entrate nella directory di lavoro e create il pacchetto con makepkg:

$ cd /pkg-slack
$ su
******
# makepkg gqview-1.3.2-i686-1.tgz
secondo questa notazione: nomeprogramma-versione-architettura-numerobuild.tgz

>Searching for symbolic links:
>No symbolic links were found, so we won't make an installation script.
>You can make your own later in ./install/doinst.sh and rebuild the
>package if you like.

In caso ci fossero dei collegamenti simbolici, il programma "makepkg" vi
propone di rimuoverli, essi verranno rigenerati tramite uno script creato
automaticamente da makepkg.

>This next step is optional - you can set the directories in your package
>to some sane permissions. If any of the directories in your package have
>special permissions, then DO NOT reset them here!
>Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
>directory ownerships to root.root ([y]es, [n]o)? y

Come si legge dal messaggio sopra, questo passaggio è opzionale, ovvero vi viene
chiesto se volete impostare i permessi dei file all'utente root. Generalmente è
consigliabile farlo tranne in presenza di applicazioni particolari che
richiedono i permessi di utenti diversi da root.



Complimenti. Il vostro pacchetto Slackware è stato creato. Non vi resta che copiarlo dove volete e installarlo come amministratore con installpkg nomepacchetto.tgz. Per rimuoverlo removepkg nomepacchetto.tgz



Aggiungere una descrizione al pacchetto

Se siete delle persone meticolose o avete intenzione di distribuire il vostro
pacchetto ad altri utenti in rete, una buona idea è quella di aggiungere una
descrizione del pacchetto, avrete notato che i pacchetti ufficiali di Slackware
ne sono provvisti. Nulla di più facile, all'interno della directory "install/"
(che se non avete creato prima, dovrete farlo ora), basterà creare il file
"slack-desc" rispettando questo piccolo schema (chiamato "handy ruler"):

# commento non considerato
|-----handy-ruler-------------------------------------------|
nomeprogramma: bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
nomeprogramma: bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
nomeprogramma: bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
nomeprogramma:
nomeprogramma:
nomeprogramma:
nomeprogramma:
nomeprogramma:
nomeprogramma:
nomeprogramma:
nomeprogramma:

Quello rappresentato sopra è un tipico schema di descrizione di un pacchetto
slackware. I caratteri "|" delimitano la lunghezza del commento, notate che il
primo deve essere posizionato sopra il carattere ":" sottostante. Ciò permette
di formattare meglio il testo entro e non oltre il limite. E' buona norma,
inoltre, lasciare uno spazio dal ":".

NOTA IMPORTANTE: le linee di descrizione DEVONO essere al massimo 11 per una
corretta formattazione del testo! Inoltre a sinistra nella sezione "nomeprogramma" inserite il nome del programma senza numeri di versione o altro aggiunto (es. se avete creato il pacchetto con makepkg nomeprogramma-1.x.x-i686-1.tgz andrà messo nomeprogramma): vi sembrerà una cavolata ma vi assicuro che ho passato parecchio tempo a combattere con descrizioni che non venivano visualizzate correttamente! OK?

Nella sezione downloads troverete una discreta quantità di pacchetti .tgz creati da me (con descrizioni in italiano....per i più niubbi)!!!!




Happy Slacking  :-P

by #velenux
 

This site is maintained by velenux
(c) 2003 The Slack-it Linux Project