[Risolto] Postinst e prerm per un pacchetto-downloader

Coordinamento delle attività e informazioni sui progetti del gruppo: creazione, modifica e gestione dei pacchetti di Ubuntu e relative problematiche.

Moderatore: Gruppo Sviluppo

MadnessMike
Prode Principiante
Messaggi: 60
Iscrizione: sabato 8 novembre 2008, 16:53

[Risolto] Postinst e prerm per un pacchetto-downloader

Messaggio da MadnessMike »

Ave a tutti. :D

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 di MadnessMike il venerdì 8 gennaio 2010, 22:25, modificato 1 volta in totale.
MadnessMike
Prode Principiante
Messaggi: 60
Iscrizione: sabato 8 novembre 2008, 16:53

Re: [Risolto] Postinst e prerm per un pacchetto-downloader

Messaggio da MadnessMike »

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

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
prerm:

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
Scrivi risposta

Ritorna a “Gruppo Sviluppo”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 12 ospiti