Newsgroup: it.comp.os.linux.software
Titolo: Pacchettizzare un sorgente in .deb

Hi all, dovrei installare alcune cose dai sorgenti sulla mia Potato,
vorrei crearmi dei pacchetti deb in modo da conservarli per possibili
successivi usi. Qual'è la procedura da seguire per creare un .deb a 
partire dai sorgenti? Ho dato un'occhiata alla man-page di dpkg-build
ma non ci ho cavato molto, mi sapete per caso indicare qualche How-to
o qualche doc più approfondito?
-- 
  _  _ >>Now on Linux<<  _     ||              Home Page:
 | \| |___ _____ ___ ___|_|___ ||  
http://digilander.iol.it/nemesis2001
 | .` | -_|     | -_|_ -| |_ -|||     e niente sarà più come prima ... 
 |_|\_|___|_|_|_|___|___|_|___|||            ... o quasi ;)

 approfondito?
Se il pacchetto dei sorgenti e` fatto bene (automake, autoconf, configure e i
classici make;make install) e non e` troppo complicato (tipo e` un solo
applicativo, senza librerie o icone da installare in giro per l'hd), ti basta
che il tutto sia dentro una directory con nome simile a
pincopallo-1.2.3
Tutto minuscolo, un trattino e la versione, a quel punto ci entri e dai un
deb-make
(devi averlo installato, naturalmente). Lui ti crea la directory debian con
gli script per la creazione del pacchetto. A quel punto fai
fakeroot debian/rules binary
e lui ti crea il pacchetto debian nella directory genitrice
(../pincopallo-1.2.3.deb)
Prima di questo di solito io do` un
./configure --help
e vedo se ci sono opzioni da aggiungere in fase di configure, tipo
--with-pippo --with-pluto --without-quiquoqua
e li infilo nel file debian/rules alla linea che richiama configure.
Bye.

 Hi all, dovrei installare alcune cose dai sorgenti sulla mia Potato,
Compilazione dei deb in 10 regole:
1) Vedi se trovi i pacchetti su 
http://www.debian.org/distrib/packages
2) scarica dalla pagina in cui vi e` la descrizione del pacchetto
   il file nomepacchetto_versione.orig.gz nomepaccetto_versione.diff.gz
   nomepachetto_versione.dsc
3) lancia questo comando:
 
   dpkg-source -x nomepacchetto_versione.dsc
 
4) entra nella directory nomepacchetto-versione
5) edita il file debian/rules aggiungendo le opzioni che ti interessano
   e, eventualmente, modificando queste due righe:
 
   export DH_COMPAT=3 	# devi mettere come valore 2
   dh_installman	# deve diventare dh_installmanpages
6) dalla root del pacchetto (nomepacchetto-versione) lancia lo script
   in questo modo:
 
   debian/rules binary
7) prega che vada tutto a buon fine :)
8) installa il pacchetto generato che si trova in ../
9) salvati il pacchetto dove piu` ti aggrada
10) leggi la man page di dpkg-source per maggiori dettagli
Henryx
P.S. se fai spesso questo giochetto considera la possibilita` di
inserire nel tuo sources.list dei link a qualche repository di sorgenti
P.P.S. apropos di ricompilazione di pacchetti, conviene aggiornare
debhelper (ho gia` aggiornato il perl)?

Se il pacchetto dei sorgenti e` fatto bene (automake, autoconf, configure e i
[cut]
Ottimo ti ringrazio, tutto sommato mi sembra abbastanza semplice. Ora 
il pacchetto l'ho creato, dopo provo ad installarlo :)


10) leggi la man page di dpkg-source per maggiori dettagli
Uhm mi sfugge qualcosa, ieri mi è stata indicata la strada di "deb-make"
dpkg-source è da utilizzare quando ho scaricato un sorgente gia
debianizzato giusto?
Un'altra cosa, una volta che ho scaricato nomepacchetto_versione.orig.gz
nomepacchetto_versione.diff.gz e nomepacchetto_versione.dsc che ne faccio?
i primi due vanno scompattati nella stessa directory? ed il terzo?
Un Nemesis che a sto Henryx lo ha gia visto da qualche parte :)


i primi due vanno scompattati nella stessa directory? ed il terzo?
Ok mai parlare prima di aver letto le manpages, ho capito che è 
dpkg-source -x che scompatta i sorgenti, tuttavia sto riscontrando uno
strano problema. Ho scaricato dei sorgenti dal sito di Debian ho cercato
di seguire la procedura esposta ma non va, in particolare il problema è
il seguente i file nome.diff.gz hanno dimensioni più grandi di quelle 
indicate nel file nome.dsc e quindi dpkg-source -x si blocca con un 
errore. Ho poi constato che questo è dovuto al fatto che nonostante 
l'estensione in realtà i file .diff.gz in realtà non sono compressi,
allora ho provato a comprimerli io, ma per pochi byte non ottengo la
dimensione indicata nel .dsc.
Come mai quei file risultano non compressi (li ho scaricati con Opera
facendo "save target as...")?
Posso modificare il file.dsc mettendogli la dimensione giusta o è una
soluzione troppo sporca?


 as...")?
Alcuni browser decomprimono automaticamente i .gz e alcuni si dimenticano di
togliere l'estensione. Probabilmente Opera e` uno di questi. Usa qualcos'altro
per scaricarli, tipo webdownloader, wget, ftp o altro.
Bye.

 o qualche doc piů approfondito?
Certo:
apt-get install maint-guide
Massimiliano
-- 
The Practical Penguin's Notebook - 
http://practicaltux.sourceforge.net
Guide per newbie pratiche al 100%: configurazione della posta
(Postfix, Fetchmail e Procmail), tutorial da zero su Mutt ed Emacs.

 per scaricarli, tipo webdownloader, wget, ftp o altro.
Mmm... strano, di solito uso Opera e non mi ha mai fatto questo
scherzetto...
Henryx

Alessandro Pellizzari ha scritto : 

Confermo, poi li ho scaricati con gtm e le dimensioni erano giuste.
