Python-it.org forum # share your knowledge! ;)
Febbraio 09, 2010, 07:43 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizie: Rilasciato Python 2.6.4: http://www.python-it.org/09/10/30/rilasciato-python-264
 
   Home   Guida Regolamento Ricerca Accedi Registrati Python-it.org Doc  
Apri il forum in una pagina a parte - È possibile fornire/richiedere supporto anche presso i canali IRC #python su Azzurra e #python.it su Freenode

Pagine: [1] 2 3 ... 5   Vai giù
  Stampa  
Autore Discussione: PyDebCreator  (Letto 5095 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« inserito:: Novembre 04, 2007, 16:42 »

Tempo fa cercavo un programma per costruire un pacchetto debian a partire dai sorgenti di un mio programma python e siccome cercando su google non l'ho trovato ho deciso di scrivere qualcosa io... no! non è uno script python... è uno script bash, ma ho intenzione di utilizzarlo attraverso una gui che costruirò con python.

Il programma crea un pacchetto deb a partire da una directory di sorgenti .py e può anche creare un'icona nei menu... per il download vedi allegato
Se installate il pacchetto .deb basterà lanciare il comando pydebcreator per avviare la gui del programma...


Queste sono le opzioni da passare allo script:

Opzioni necessarie
Codice:
--short-pname "nome"          il nome del pacchetto finale, nonchè il nome del comado per avviare il programma
--pversion "versione"         versione del programma
--maintainer "nome"           nome completo di colui che mantiene il pacchetto
--maintainer-email "email"    email della persona che mantiene il pacchetto
--short-description  "descrizione"     descrizione breve (60 caratteri)
--sources "percorso"          cartella che contiene i sorgenti del programma (il percorso non deve finire con /)
--exe-file "file.py"          file python da eseguire
--install-root "percorso"     percorso dove installare il programma (se viene omesso è /usr/local)


Opzioni del pacchetto
Codice:
--depends "dipendenze"        lista delle dipendenze separate da virgola                     
--pre-depends "dipendenze"    lista delle predipendenze separate da virgola
--recommends "pacchetti"      lista pacchetti raccomandati
--suggests "pacchetti"        lista pacchetti suggeriti
--conflicts "pacchetti"       lista dei pacchetti con cui il programma va in conflitto
--architecture "architettura" per impostazione predefinita è "all"


Voce nel menu
Codice:
--desktop-entry "y|n"         se è y viene creata una voce nel menu altrimenti no
                              se è y dovete specificare le opzioni --section e --long-pname

--section "sezione"           la sezione del menu nel quale inserire una nuova voce: Game, X11 etc...
--long-pname "nome"           un nome esteso per il programma (es. "Gimp Image Editor", "Scite Text Editor" etc...)

--icon-file "icona"                file icona da utilizzare (può anche essere omesso)

Scripts
Codice:
--postinst  "y"|"script.sh"                  permette di specificare uno script postinst personalizzato
                                             se è "y" permette di modificare il file postinst con l'editor nano

--prerm     "y"|"script.sh"                  permette di specificare uno script prerm personalizzato
                                             se è "y" permette di modificare il file prerm con l'editor nano

Altro
Codice:
--install  "y|n"                      se è "y" installa il pacchetto subito dopo averlo costruito

--long-description  y|"nomefile.txt"   se è y si apre l'editor di testo nano dove potrete inserire
                                       la descrizione lunga, altrimenti potete specificare direttamente
                                       un file di testo contenente la descrizione

Faccio un esempio... se volessi pacchettizzare il gioco del Tiro al piattello scriverei:

Codice:
pydebcreator.sh  --long-pname "Tiro al piattello"  --short-pname "tap"  --pversion "0.4"  --description "Il gioco del tiro al piattello" --sources "/home/gennaro/tiro_al_piattello"  --exe-file "tiro_piattello.py"  --maintainer "Gennaro Porpora"  --maintainer-email "pg90mit@alice.it"  --depends "python, python-pygame"  --desktop-entry "y"  --section "Game"  --icon-file "tap.png" 

Ripeto che è una versione molto rudimentale quindi ogni suggerimento e/o segnalazione  di bug è gradita. smile
« Ultima modifica: Settembre 02, 2008, 12:50 da gennaro » Registrato
Markon
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 2856



Mostra profilo WWW
« Risposta #1 inserito:: Novembre 05, 2007, 15:14 »

Ottimo davvero gennaro!

Al più presto lo proverò e ti farò sapere ahahah
Registrato

My Guitar wants to Kill you Mama!
necrosis
python erectus
***
Scollegato Scollegato

Messaggi: 135


www.homelinux.it


Mostra profilo WWW
« Risposta #2 inserito:: Novembre 08, 2007, 14:26 »

QUESTO È ORO COLATO O_O
Ma lo hai fatto tu?
WoW sei un mago se è così...
Cercavo da tempo una cosa simile
COMPLIMENTONI wink


EDIT:

Citazione di: La schell di necrosis
root@marco-desktop:/home/marco/Desktop# ./py2deb.sh  --long-pname "mycalcv2"  --short-pname "MSC2000"  --pversion "0.2"  --description "semplice calcolatrice" --sources "/home/marco/Desktop/prova.py"  --exe-file "prova.py"  --maintainer "SIMONE Marco"  --maintainer-email "deriodo1402@yahoo.it"  --depends "python"
cp: impossibile fare stat di `/home/marco/Desktop/prova.py/*': Non è una directory
dpkg-deb: costruisco il pacchetto `msc2000' in `MSC2000-0.2.deb'.
root@marco-desktop:/home/marco/Desktop# MSC2000
python: can't open file 'prova.py': [Errno 2] No such file or directory
root@marco-desktop:/home/marco/Desktop#

Lo ho installato e non va  thinking
Dove ho sbagliato, il file c'è in /home/marco/Desktop/prova.py...
« Ultima modifica: Novembre 08, 2007, 14:35 da necrosis » Registrato

www.homelinux.it | Il portale su programmazione, internet e Linux!
Moderatore di www.eeepc.it
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #3 inserito:: Novembre 08, 2007, 20:19 »

Allora... credo che l'errore stia nel fatto che l'argomento di --sources dovrebbe essere una directory, quindi crea una cartella per il programma, mettici dentro lo script e poi specifica --sources "tuacartella".  Grazie per i complimenti e fammi sapere se va... smile
Registrato
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #4 inserito:: Novembre 09, 2007, 21:51 »

Aggiornamento
Ho aggiunto la possibilità di specificare degli script postinst/prerm personalizzati. Lo script postinst viene eseguito dal gestore dei pacchetti subito dopo l'installazione del pacchetto, mentre lo script prerm appena prima della rimozione.

 smile
Registrato
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #5 inserito:: Novembre 11, 2007, 00:27 »

Aggiornamento
Aggiunti alcuni controlli e l'opzione --install che installa il pacchetto subito dopo averlo creato.
Registrato
Simosito
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 1830


Non sono rompipalle, sono solo espansivo nei momen


Mostra profilo WWW
« Risposta #6 inserito:: Novembre 11, 2007, 09:54 »

grande gennaro!

Ora aspettiamo tutti la versione con gli RPM... ( mica usano tutti Ubuntu  linguaccia )
Registrato


Quando tutto è perduto non resta che la cenere e l'amor
Salva i reperti archeologici, firmami!
Emanuele
python erectus
***
Scollegato Scollegato

Messaggi: 163


Mostra profilo
« Risposta #7 inserito:: Novembre 11, 2007, 10:19 »

Davvero bel lavoro gennaro, ancora non ho avuto la possibilità di usarloma penso che potrà essermi utile wink
Registrato
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #8 inserito:: Novembre 11, 2007, 12:25 »

Davvero bel lavoro gennaro, ancora non ho avuto la possibilità di usarloma penso che potrà essermi utile wink
Felice di poter esserti utile! wink Se lo provi poi fammi sapere come va...

Citazione
Ora aspettiamo tutti la versione con gli RPM...
Umh... purtroppo non ho una distro rpm-based e non posso installarrne una... per fare il port ci vorrebbe un volontario... ahahah Per rimediare aggiungerò una opzione che converte il pacchetto deb in rpm con alien. E Comunque per voi RPMisti c'è già questo http://www.python.it/doc/Python-Docs/html/dist/creating-rpms.html linguaccia linguaccia smile caffè
Registrato
Simosito
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 1830


Non sono rompipalle, sono solo espansivo nei momen


Mostra profilo WWW
« Risposta #9 inserito:: Novembre 11, 2007, 18:40 »

Umh... purtroppo non ho una distro rpm-based e non posso installarrne una... per fare il port ci vorrebbe un volontario... ahahah

Codice:
sudo apt-get install rpm
e poi puoi usare gli rpm as well...

Almeno credo...
Registrato


Quando tutto è perduto non resta che la cenere e l'amor
Salva i reperti archeologici, firmami!
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #10 inserito:: Novembre 11, 2007, 20:17 »

Citazione
Codice:
sudo apt-get install rpm

Avevo già provato ma non viene bene... quando provo ad installare un pacchetto che dipende da python mi dice che la dipendenza non è soddisfatta... forse perchè dovrei reinstallare python come rpm ma non ho voglia di incasinare tutto...  ahahah
Registrato
Simosito
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 1830


Non sono rompipalle, sono solo espansivo nei momen


Mostra profilo WWW
« Risposta #11 inserito:: Novembre 12, 2007, 10:17 »

Citazione
Codice:
sudo apt-get install rpm

Avevo già provato ma non viene bene... quando provo ad installare un pacchetto che dipende da python mi dice che la dipendenza non è soddisfatta... forse perchè dovrei reinstallare python come rpm ma non ho voglia di incasinare tutto...  ahahah

esistono a questo le VirtualMachines...

dai, posso farti da beta tester su Fedora, se vuoi, ma detesto l'SH (probabilmente perché non lo sò usare)
Registrato


Quando tutto è perduto non resta che la cenere e l'amor
Salva i reperti archeologici, firmami!
Markon
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 2856



Mostra profilo WWW
« Risposta #12 inserito:: Novembre 12, 2007, 15:55 »

Citazione
dai, posso farti da beta tester su Fedora, se vuoi, ma detesto l'SH (probabilmente perché non lo sò usare)

cos'è l'SH?

SSH o shell ?

smile
Registrato

My Guitar wants to Kill you Mama!
Simosito
moderatore
python sapiens sapiens
*
Scollegato Scollegato

Messaggi: 1830


Non sono rompipalle, sono solo espansivo nei momen


Mostra profilo WWW
« Risposta #13 inserito:: Novembre 12, 2007, 15:58 »

Citazione
dai, posso farti da beta tester su Fedora, se vuoi, ma detesto l'SH (probabilmente perché non lo sò usare)

cos'è l'SH?

SSH o shell ?

smile
shell (*.sh è l'estensione dei file di shell)
Registrato


Quando tutto è perduto non resta che la cenere e l'amor
Salva i reperti archeologici, firmami!
gennaro
moderatore
python sapiens
*
Scollegato Scollegato

Messaggi: 595



Mostra profilo
« Risposta #14 inserito:: Novembre 12, 2007, 19:45 »

Citazione
esistono a questo le VirtualMachines...
Giusto, bravo... però non so quanto possa andare veloce la VM su un pentium 3 con 128mb di ram ahahah ... vabbè comunque fra una settimana ritiro il pc "buono" dall'assistenza e faccio un pò di esperimenti con fedora! ahahah ahahah wink
Registrato
Pagine: [1] 2 3 ... 5   Vai su
  Stampa  
 
Vai a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC XHTML 1.0 valido! CSS valido!