Pagina 1 di 2
Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: venerdì 11 settembre 2009, 18:06
da francvale
Ho sviluppato una suite di applicazioni in Python composta da tre programmi. Funziona bene, ma ho delle richieste da porgere.
1. Posso installare tutti e tre i programmi con un unico pacchetto .deb?
2. Come?
3. Per creare il file .deb posso utilizzare debcreator?
4. Come faccio a specificare le directory dove devono essere installati i vari file? I file che compongono ogni programma sono un main.py ed un file generato da PythonMachine che ho inserito in una sottocartella di ogni programma, i file di glade in un'altra cartella, le directory per il programma in un'altra sottocartella.
5. Le dipendenze devono essere fornite con il pacchetto?
Ringrazio in anticipo per il supporto e la pazienza.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: venerdì 11 settembre 2009, 20:03
da il_muflone
ciao
1) puoi installare quanti files eseguibili vuoi con un pacchetto
2) basta che li includi tutti nello stesso pacchetto
3) puoi usare pure debcreator, perche` no?
4) quando realizzi il pacchetto usa i riferimenti relativi. se un file andra` salvato su /usr/bin crea una dir usr/bin e dentro metti i tuoi files. quindi quando generi il pacchetto includi la dir usr (non /usr). ovviamente i files andranno messi ciascuno al suo posto e il programma deve autonomamente funzionare e cercarsi i files nelle posizioni giuste.
5) le posizioni devi indicarle tu manualmente
ciao
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 13:03
da francvale
Grazie per l'aiuto. Quindi basta mettere le directory in usr. Ad esempio i file che devono andare in /usr/bin devo metterli nella cartella usr/bin/nomeprogramma/filebin, o sbaglio?
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 13:28
da il_muflone
no senza nomeprogramma
usr/bin/nomefileeseguibile e verra` automaticamente installato su /usr/bin/nomefileeseguibile
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 14:20
da francvale
io contemporaneamente devo installare dei file anche in usr/share. Vale sempre lo stesso principio? Come faccio a creare anche il link di accesso in application ed, in questo caso, in ufficio? Ho trovato dei file .desktop, ne ho provato a creare uno, ma non so in che directory installarlo. Ma soprattutto devo inserire qualche riga importante per definire in quale categoria di applications deve comparire?
Grazie. Ciao.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 14:28
da il_muflone
per tutti i files vale lo stesso discorso
i files desktop vanno installati sotto /usr/share/applications
per modificarlo aprilo con l'editor di testo e trovi la riga Categories, li` devi indicare la categoria per ordinarlo nel menu di gnome. per sapere i nomi delle categorie guarda gli altri files desktop sotto /usr/share/applications
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 14:53
da francvale
Ok, grazie. Ma le icone dove le devo mettere? C'è qualche cartella particolare?
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 15:23
da il_muflone
/usr/share/icons se sono parte di un tema
/usr/share/tuoprogramma se e` usata soltanto dal tuo programma
sotto tuoprogramma puoi anche farti le dir che preferisci per tenere piu` immagini
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 15:43
da francvale
Grazie. Avevo trovato la directory usr/share/app-install/icons. Va bene lo stesso? Comunque ho suddiviso i file nelle varie cartelle e sottocartelle di usr, ho creato l'archivio in tar.bz2 ed ho aperto debcreator. Mi dice che nell'archivio non è presente un top source, che deve essere uguale al nome o alla versione. Che devo fare? C'è qualche altro metodo per creare velocemente i deb?
Grazie tanto.
Ciao.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 15:51
da il_muflone
no, non va bene quella
quella e` la dir del programma app-install, non tua e non comune
personalmente non uso debcreator, preferisco a mano con fakeroot dpkg -b nomecartella
probabilmente debcreator si lamenta del fatto che l'archivio non si chiami col nome del pacchetto, devi seguire questa sintassi nomepacchetto_numeroversione_architettura
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 16:01
da francvale
No, non funziona neanche col metodo che mi hai suggerito. Come funziona il comando che sui tu? Puoi spiegarmelo oppure indirizzarmi su qualche guida? Grazie! Ciao.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 16:10
da il_muflone
ti faccio un esempio con un mio pacchetto, si chiama gextractwinicons
1) crea una dir di nome gextractwinicons_0.2_all
nome pacchetto = gextractwinicons
versione = 0.2
architettura = all
2) dentro gextractwinicons_0.2_all/ metti la usr con tutte le sue schifezze dentro che ti servono
3) dentro gextractwinicons_0.2_all/ crea una dir di nome DEBIAN contenente un solo file di nome control che conterra` questo:
Codice: Seleziona tutto
Package: gextractwinicons
Version: 0.2
Section: graphics
Priority: optional
Architecture: all
Depends: python, python-gtk2, python-glade2, librsvg2-common, icoutils
Installed-Size: 48
Maintainer: Muflone Ubuntu Trucchi <muflone@vbsimple.net>
Description: A GTK+ utility to extract cursors, icons and png images.
gExtractWinIcons is a GTK+ utility to extract cursors, icons and png images
previews from MS Windows resource files (like .exe, .dll, .ocx, .cpl).
4) compila il pacchetto con
5) quando hai generato il file deb controllalo con
se ti serve l'esempio reale da provare
lo trovi qui
ciao
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:19
da francvale
Sto utilizzando il tuo metodo. Un chiarimento: in control che pacchetti sono librsvg2-common ed icoutils? Sono pacchetti generali di Python (cioè che servono ad ogni applicazione oppure specifici per la tua?
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:22
da il_muflone
no sono specifici per il mio pacchetto, tu devi indicare le tue dipendenze
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:25
da francvale
Ok, comunque è interessante il tuo programma.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:28
da francvale
ho creato il pacchetto deb, l'ho aperto ma mi dice che non lo posso installare perchè nn si può soddisfare la dipendenza pmutils che è di pythonmachine. Che devo fare?
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:29
da il_muflone
non so che roba sia pythonmachine
trovati quel pacchetto che ti indica, installalo e poi rifai l'installazione
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:34
da francvale
PythonMachine è un compilatore che ho utilizzato per scrivere la suite. Comunque ho scoperto che avendo python dovrebbe essere già installato. Ho ricercato nel computer pmutils è mi ha trovato due cartelle, una di pythonmachinje ed una (in var) di python 2.5. Quindi penso che avendo python la dipendenza sia già soddisfatta. Il compilatore mi diceva di non poter soddisfare la dipendenza pmutils perchè è parte integrante del pacchetto python, forse. Comunque adesso la tolgo. Ti faccio sapere.
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 17:41
da francvale
Diciamo che lintian ha detto che è un disastro!
Codice: Seleziona tutto
W: OpenSchool: binary-without-manpage usr/bin/easybiblio.pmp
W: OpenSchool: binary-without-manpage usr/bin/easybiblio.py
W: OpenSchool: binary-without-manpage usr/bin/hereiam.pmp
W: OpenSchool: binary-without-manpage usr/bin/hereiam.py
W: OpenSchool: binary-without-manpage usr/bin/ticket.pmp
W: OpenSchool: binary-without-manpage usr/bin/ticket.py
W: OpenSchool: script-with-language-extension usr/bin/easybiblio.py
W: OpenSchool: script-with-language-extension usr/bin/hereiam.py
W: OpenSchool: script-with-language-extension usr/bin/ticket.py
W: OpenSchool: backup-file-in-package usr/share/applications/EasyBiblio.desktop~
W: OpenSchool: backup-file-in-package usr/share/applications/HereIAm.desktop~
W: OpenSchool: backup-file-in-package usr/share/applications/Ticket.desktop~
W: OpenSchool: package-contains-empty-directory usr/share/OpenSchool/ticket/TicketFile/
W: OpenSchool: package-contains-empty-directory usr/share/OpenSchool/easybiblio/EasyBiblioFile/
W: OpenSchool: package-contains-empty-directory usr/share/OpenSchool/hereiam/HereIAmFile/
W: OpenSchool: script-not-executable ./usr/bin/easybiblio.py
W: OpenSchool: script-not-executable ./usr/bin/hereiam.py
W: OpenSchool: script-not-executable ./usr/bin/ticket.py
E: OpenSchool: no-copyright-file
W: OpenSchool: desktop-command-not-in-package /usr/share/applications/EasyBiblio.desktop python
W: OpenSchool: desktop-command-not-in-package /usr/share/applications/HereIAm.desktop python
W: OpenSchool: desktop-command-not-in-package /usr/share/applications/Ticket.desktop python
W: OpenSchool: description-synopsis-might-not-be-phrased-properly
E: OpenSchool: extended-description-is-empty
W: OpenSchool: unknown-control-file control~
E: OpenSchool: package-not-lowercase
E: OpenSchool: maintainer-address-missing francvale
W: OpenSchool: unknown-section Office
Suggerimenti?
Re: Creare un file .deb per l'installazione di una suite di programmi in Python.
Inviato: sabato 12 settembre 2009, 18:04
da il_muflone
ma che hai buttato tutto dentro /usr/bin? dove ti credi di essere? su windows?

su /usr/bin ci vanno
soltanto files eseguibili che svolgono l'operazione
non ci vanno files di dati o di supporto o sottomoduli
sposta tutto su /usr/share/tuoprogarmma e su /usr/bin metti il (UNO) file eseguibile
dopo che l'avrai fatto rivediamo l'output di lintian che cosi` fa abbastanza ridere