Ave a tutti.
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?
[Risolto] Postinst e prerm per un pacchetto-downloader
Moderatore: Gruppo Sviluppo
-
- Prode Principiante
- Messaggi: 60
- Iscrizione: sabato 8 novembre 2008, 16:53
[Risolto] Postinst e prerm per un pacchetto-downloader
Ultima modifica di MadnessMike il venerdì 8 gennaio 2010, 22:25, modificato 1 volta in totale.
-
- Prode Principiante
- Messaggi: 60
- Iscrizione: sabato 8 novembre 2008, 16:53
Re: [Risolto] Postinst e prerm per un pacchetto-downloader
Sono riuscito a risolvere da solo dopo avere spremuto un po' le meningi, ma posto comunque come ho fatto i due script:
postinst
prerm:
postinst
Codice: Seleziona tutto
#!/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
Codice: Seleziona tutto
#!/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
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti