Domanda

Ho la seguente struttura debian:

  • debian / usr / share / test
  • debian / usr / share / test / test
  • debian / usr / share / test / test / a
  • debian / usr / share / test / test / b

Dopo aver compilato il pacchetto usando dpkg-deb --build e averlo installato usando dpkg -i, non sembra creare automaticamente il test delle cartelle se non esistono. Devo crearli manualmente nello script preinst?

AGGIORNAMENTO: il problema era dovuto al fatto che preinst aveva un errore, quindi il disimballaggio non ha avuto la possibilità di accadere.

Laurent

È stato utile?

Soluzione

Guarda un mio esempio qui .

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

Hai un paio di scelte:

  1. Popolare le directory con i file prima di generare il pacchetto (pacchetto binario)
  2. Crea un pacchetto sorgente in cui verrà chiamato MAKE per compilare il pacchetto e installarlo.

Nel primo caso, non è necessario creare le directory tramite uno script preinst : la gerarchia di cartelle verrà creata, se necessario, dal gestore pacchetti quando il pacchetto viene installato.

Nel secondo caso, dovrai usare mkdir -p per creare la gerarchia di cartelle durante la fase installa .


Ho passato 3 diversi modi di impacchettare i repository Debian nell'ultimo anno e credetemi, i dettagli da tenere in considerazione sono numerosi. Un sollievo è stato quello di fare conoscenza con Launchpad e il loro processo di pubblicazione PPA.

Altri suggerimenti

Hai bisogno di quelli nel pacchetto chiamato tmp o uguale al tuo primo pacchetto elencato in debian / control, a seconda della versione della modalità di compatibilità debhelper scelta.

es. una chiamata da uno dei file di esempio debhelper :

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

Qui manca un livello di riferimento indiretto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top