Come creo un PPA?

113

Come posso creare il mio PPA personalizzato da condividere con la comunità Ubuntu? Sto cercando di creare il mio set di pacchetti personalizzato e mi piacerebbe davvero condividerlo con la community.

    
posta Jebeld17 24.10.2011 - 17:54
fonte

3 risposte

86

Utilizzando un archivio di pacchetti personali ( PPA ), puoi distribuire software e aggiornamenti direttamente agli utenti di Ubuntu. Crea il tuo pacchetto sorgente, caricalo e Launchpad compilerà i binari e poi li ospiterà nel tuo repository apt.

Ecco una spiegazione dettagliata .

    
risposta data hhlp 24.10.2011 - 18:01
fonte
74

Come creare un file .deb

Questo è un tutorial sulla creazione di un file .deb di base da un determinato script di esempio. In questo tutorial creiamo innanzitutto un programma di esempio in bash che mostra solo "CIAO DA PROGRAMMA". Quindi creiamo un file di controllo per il programma per creare un programma di installazione debian. Infine sono impacchettati in un file .deb .

Passi:

  1. crea un programma di esempio in bash

    mkdir "$HOME/create_deb/pgmdir"
    gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
    

    incollaci il seguente codice

    #!/bin/bash
    echo 'HELLO FROM PROGRAM' | zenity --text-info 
    
  2. Rendi il programma eseguibile

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Crea un file di controllo per il pacchetto debian

    Crea un file chiamato control nella cartella DEBIAN

    mkdir "$HOME"/create_deb/DEBIAN
    gedit "$HOME"/create_deb/DEBIAN/control
    

    e incolla i seguenti dettagli

    Package: hellodeb
    Version: 0.1
    Architecture: all
    Maintainer: totti
    Installed-Size: 6
    Depends: zenity, bash
    Section: testing
    Priority: optional
    Homepage: http://askubuntu.com
    Description: This is my first debian package.
     Guided by Totti Torvalds.
     In Description new line start with a space.
    

    Puoi modificare i contenuti se lo desideri. Maggiori informazioni sul formato di questo file qui e here.

  4. Crea lo script postinst , che viene eseguito immediatamente dopo l'installazione del pacchetto

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    quindi incolla

    #!/bin/sh
    set -e
    echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
    

    e renderlo eseguibile

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Crea lo script prerm , che viene eseguito prima della rimozione del pacchetto

    #!/bin/sh
    set -e
    echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
    

    e renderlo eseguibile

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Crea la struttura del pacchetto e copia programmi, dati, ecc.
    Crea una struttura dei tuoi programmi installati e dei suoi dati. In questo esempio inseriamo il file in /bin .

    mkdir -p "$HOME"/create_deb/bin
    cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
    
  7. Crea il file .deb .

    dpkg-deb --build "$HOME"/create_deb .
    

    Il . assegnerà automaticamente il nome al file .deb con versione, arch ecc. O il tuo nome personalizzato

    dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
    

    O se costruisci il file .deb con

    debuild -k'your GPG key here' -S
    

    quindi puoi caricarlo su Ubuntu Launchpad con

    dput ppa:<lp-username>/<ppa-name> packet-source.changes
    

    come descritto qui (fonte: crea un pacchetto .deb da script o binari )

  8. Installa il pacchetto .deb appena creato. Puoi aprirlo con software-center ma potrebbe non consentirne l'installazione. Quindi consiglio di utilizzare gdebi gestore pacchetti.

    sudo apt-get install gdebi
    
    gdebi "$HOME"/create_deb/hellodeb.deb
    

    Ora puoi installarlo. Durante l'installazione dovresti vedere un dialogo gtk

      

    Installazione del programma: zenity_hello.sh ......

  9. Dopo aver installato apri un terminale e digita zenity_hello . Se il programma è installato correttamente e tutto OK, dovresti vedere un dialogo gtk

      

    CIAO DAL PROGRAMMA

  10. Rimozione del pacchetto

    sudo apt-get remove zenity_hello
    

Pubblica il tuo repository in 2 minuti

Dato che l'OP vuole un modo semplice per pubblicare i suoi pacchetti, sto dando un accesso facile.

requisito: account Dropbox (o qualsiasi altro servizio, ad esempio github ) con una cartella pubblica.

  1. Crea una cartella all'interno della tua cartella Public-Dropbox in cui inserisci i tuoi file * .deb:

    mkdir ~/Dropbox/Public/deb-packages  
    

    o crea quella cartella altrove e inserisci un collegamento simbolico nella cartella pubblica:

    mkdir ~/deb-packages
    cd ~/Dropbox/Public
    ln -s ~/deb-packages/ deb-packages
    
  2. Entra in quella cartella e crea uno script che, una volta eseguito, crea Packages.gz, contenente tutte le informazioni necessarie sui tuoi pacchetti deb. creare:

    gedit import.sh  
    

    inserisci questo:

    #!/bin/bash
    dpkg-scanpackages . /dev/null |gzip > Packages.gz
    

    renderlo eseguibile:

    chmod  x import.sh
    
  3. Copia alcuni file * .deb nella cartella. Potrebbe essere il tuo o alcuni che non sono disponibili attraverso altri repository. Quindi vai nella cartella ed esegui lo script che abbiamo inserito:

    cd ~/deb-packages/ 
    ./import.sh
    

    Questo dovrebbe creare il cosiddetto file Packages.gz , che apt cerca di sapere quali pacchetti si trovano in questo repository.

Questo è

Ora, attendi che Dropbox sincronizzi la cartella e recuperi URL pubblico da Packages.gz . Dovrebbe assomigliare a questo:

http://dl.getdropbox.../Packages.gz

Elimina la fine di quel collegamento, aggiungi alcune parole e ora puoi utilizzare e popolare la seguente riga per sources.list:

deb http://dl.getdropbox.../deb-packages ./

È così che hai il tuo repository deb in esecuzione. Sempre sincronizzati localmente, ma disponibili a chiunque, sempre e ovunque.

NOTA: dpkg-scanpackages è disponibile da dpkg-dev
di riferimento

    
risposta data totti 09.07.2014 - 13:16
fonte
2

Avrai bisogno di un account Launchpad.net per creare un PPA. Basta fare clic sul tuo utente su Launchpad (fai clic sul tuo nome in alto a sinistra) e crea un PPA. Potrebbe essere necessario prima firmare il Codice di condotta e avere una chiave GPG registrata nel proprio account.

    
risposta data GTRsdk 24.10.2011 - 18:03
fonte

Leggi altre domande sui tag