10 Febbraio, 2012, 14:29:18 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: Eletto il nuovo Consiglio della Comunità italiana di Ubuntu. Per maggiori informazioni, consultare l'annuncio.
 
   Indice   FAQ Aiuto Regolamento Ricerca Accedi Registrati  

Wiki
Sviluppo di Ubuntu   •   Gruppo Sviluppo   •   Pbuilder
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: [Risolto] Postinst e prerm per un pacchetto-downloader  (Letto 859 volte)
0 Utenti e 1 Utente non registrato stanno visualizzando questa discussione.
MadnessMike
Novello Novizio

Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 60

Media messaggi



Mostra profilo
« inserita: 08 Gennaio, 2010, 13:49:28 »

Ave a tutti. Cheesy

Vorrei creare un pacchetto che mi permetta di scaricare un file compresso dal web (questo per la precisione) durante il processo di installazione (in postinst) e di posizionarlo in /usr/share/games; e durante la rimozione (in prerm) che mi cancelli i file decompressi.

Come si strutturano i due script per questo tipo di installazioni?
« Ultima modifica: 08 Gennaio, 2010, 22:25:09 da MadnessMike » Registrato
MadnessMike
Novello Novizio

Non Connesso Non Connesso

Sesso: Maschio
Messaggi: 60

Media messaggi



Mostra profilo
« Risposta #1 inserita: 08 Gennaio, 2010, 22:28:56 »

Sono riuscito a risolvere da solo dopo avere spremuto un po' le meningi, ma posto comunque come ho fatto i due script:

postinst
Codice:
#!/bin/sh
# postinst script for epsxe
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

gestisci_errore()
{
if [ $? -ne 0 ]
then
echo "ERRORE durante la configurazione di epsxe, esco..."
exit 1
fi
}

echo "* Sto scaricando l'archivio di epsxe da un mirror esterno..."
    wget http://dl.dropbox.com/u/465797/epsxe-1.6.0.tar.gz -O /tmp/epsxe-1.6.0.tar.gz
    gestisci_errore
    echo "* Sto configurando l'archivio scaricato..."
    tar -xzvf /tmp/epsxe-1.6.0.tar.gz -C /usr/share/games
    gestisci_errore
    rm -f /tmp/epsxe-1.6.0.tar.gz
    exit 0

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0

prerm:
Codice:
#!/bin/sh
# prerm script for epsxe
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <prerm> `remove'
#        * <old-prerm> `upgrade' <new-version>
#        * <new-prerm> `failed-upgrade' <old-version>
#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
#        * <deconfigured's-prerm> `deconfigure' `in-favour'
#          <package-being-installed> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

    echo "* Rimuovo i file di epsxe..."
    rm -f /usr/share/games/epsxe/cheats/breath_of_fire_4_usa.cht
    rm -f /usr/share/games/epsxe/cheats/chrono_cross_ntsc.cht
    rm -f /usr/share/games/epsxe/cheats/tarzan_pal.cht
    rm -f /usr/share/games/epsxe/docs/epsxe_en.txt
    rm -f /usr/share/games/epsxe/docs/epsxe_linux_en.txt
    rm -f /usr/share/games/epsxe/docs/epsxe_linux_sp.txt
    rm -f /usr/share/games/epsxe/docs/epsxe_sp.txt
    rm -f /usr/share/games/epsxe/keycodes.lst
    rm -f /usr/share/games/epsxe/epsxe


# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a: