Domanda Qual è la più semplice guida al packaging di Debian?


Sono andato al wiki di Ubuntu ma mi sono confuso, c'erano troppi modi. Per favore dimmi una guida facile alla confezione Debian.


137
2017-08-06 05:38


origine


Vuoi creare pacchetti per uso personale, su un computer specifico o per altri utenti? - andol
Quale lingua è il software che desideri impacchettare? - Umang
Ho lo stesso problema. La maggior parte delle esercitazioni e delle guide iniziano con "get the tarball upstream". Da questo punto in poi siamo perduti. Abbiamo una cosa semplice da implementare, non esiste un tarball upstream, non esiste un codice sorgente. è solo un file di guerra, alcuni script e alcuni file jar. Che cos'è la tar ball upstream e qualcuno ha visto una guida che NON ne usa una, che è completa (ad esempio, tratta le problematiche degli utenti) - John Little
Vado per l'unico Ho postato su StackOVerflow. - rsm


risposte:


Questo è un buon HOWTO per creare una base .deb file. È adatto per la creazione .deb file per uso personale ma non abbastanza severi se vuoi che il pacchetto sia incluso in Debian / Ubuntu - per questo dovresti leggere il Nuova guida del manutentore di Debian e / o il Guida al packaging di Ubuntu (che credo tu abbia già provato).

Un buon strumento per controllare il tuo .deb il file per la conformità è lintian (installabile dai repository).

C'erano due sessioni qui nelle chat room di Ask Ubuntu.

Le basi del packaging su Ubuntu (Packaging: Parte 1)

Confezione Ubuntu per PPA Launchpad (Packaging: Parte 2)


91
2017-08-06 18:50



Questo compila bene ciò che è necessario per iniziare con il packaging, ma nell'HOWTO mi mancano le informazioni per includere l'icona dell'applicazione nel file deb (e non ho trovato nulla a riguardo altrove). Qualche suggerimento su come farlo? - nightcod3r


Con quali parti hai problemi? Sebbene complicato, la guida mi è sembrata piuttosto chiara quando la stavo seguendo.

Riepilogo rapido:

  • Estrai fonte .tar.gz
  • Correre dh_make
  • Modifica i file debian
  • Esegui debuild

13
2017-08-06 06:11



Ciò che mi ha confuso è che questo processo è lo stesso indipendentemente dalla lingua di partenza o dalla struttura delle directory? - Seth♦
Il punto cruciale è che non abbiamo un .tar.gz. vogliamo impacchettare un'app che abbiamo scritto. Nessuna guida sembra coprire questo, iniziano tutti con un "tarball upstream" che non abbiamo. - John Little
@ JohnLittle questa risposta potrebbe essere di aiuto: askubuntu.com/a/27731/5 - Nathan Osman
Che dire di una confezione ripetuta a lungo termine? Devo fare ogni volta un processo di confezionamento così lungo e complicato? - kravemir
Se l'utente ha no GPG chiave, debuild fallirà con "debsign: si è verificato un errore gpg! Interruzione ....". - agc


Puoi anche usarlo dpkg-deb per creare pacchetti semplici.

Ecco un bel tutorial da UbuntuForums.


8
2017-12-16 09:12





Il modo più semplice per confezionare qualcosa è quello di utilizzare checkinstall.


4
2017-08-06 05:44



checkinstall fornisce un modo rapido per creare debin binary package (.deb) da un metodo di installazione di origine. Tuttavia non fornisce un pacchetto debian appropriato (creato da un pacchetto di origine di debian). - João Pinto
OH uomo .. Ho dovuto usare quella compilazione PRIMA ... è come ore di compilazione. - ppumkin


Originariamente pubblicato su StackOverflow, questa guida è per il software precompilato o interpretato:

Sta usando il modo giusto di costruire un pacchetto deb dpkg-buildpackage ma a volte è un po 'complicato. Invece puoi usare dpkg -b <folder> e creerà il tuo pacchetto Debian.

Queste sono le basi per la creazione di un pacchetto Debian con dpkg -b <folder> con qualsiasi binario o con qualsiasi tipo di script che funzioni automaticamente senza bisogno di compilazione manuale (Python, Bash, Pearl, Ruby):

  1. Creare i file e le cartelle per ricreare la seguente struttura:

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    I copioni collocati a /usr/bin/ vengono chiamati direttamente dal terminale, si noti che non ho aggiunto un'estensione allo script. Inoltre puoi notare che la struttura del pacchetto deb sarà la struttura del programma una volta installata. Quindi se segui questa logica se il tuo programma ha un singolo file, puoi posizionarlo direttamente sotto ProgramName-Version/usr/bin/your_script, ma se hai più file, dovresti posizionarli sotto ProgramName-Version/usr/share/ProgramName/all your files e inserire solo un file sotto /usr/bin/ da cui chiamerai i tuoi script /usr/share/ProgramName/

  2. Cambia tutte le autorizzazioni della cartella su root:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. Cambia le autorizzazioni dello script:

     chmod 0755 /path/to/the/script
    
  4. Infine, puoi eseguire: dpkg -b /path/to/the/ProgramName-Version e il tuo pacchetto deb sarà creato! (Puoi anche aggiungere gli script post / pre e tutto ciò che vuoi, funziona come un normale pacchetto Debian)

Ecco un esempio di control file. Hai solo bisogno di copiare / incollarlo in un file vuoto chiamato "controllo" e metterlo nella cartella DEBIAN.

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3
2017-07-07 02:21





No, la guida al packaging più semplice e chiara in questo mondo è

http://blog.noizeramp.com/2005/08/31/packaging-java-applications-for-ubuntu-and-other-debians/.

Pochi giorni fa, per la mia prima applicazione, ho creato il pacchetto DEB seguendo questo tutorial. Molto chiaro e la mia app confezionata con successo. Sì, almeno è più semplice per me.

Puoi confrontarlo con la Debian Packaging Guide.


2



"Semplice" non significa "completo". Ci sono molte politiche che un tutorial di base per il confezionamento di .deb non coprirà diversi tipi di programmi, e quindi il packaging non è facile come un semplice "tutorial". - Thomas Ward♦
decisamente semplice Mi ha fatto iniziare e sono riuscito a creare il mio primo pacchetto Debian in pochi minuti. Ancora un sacco di dettagli da trattare (cattivi messaggi di qualità del pacchetto da lintian) ma un ottimo punto di partenza. - atmelino