Comment créer un PPA?

113

Comment créer mon propre PPA personnalisé à partager avec la communauté Ubuntu? J'essaie de créer mon propre ensemble de paquets personnalisé et j'aimerais vraiment le partager avec la communauté.

    
posée Jebeld17 24.10.2011 - 17:54
la source

3 réponses

85

À l'aide d'une archive de package personnel ( PPA ), vous pouvez distribuer des logiciels et mettre à jour directement les utilisateurs d'Ubuntu. Créez votre paquet source, téléchargez-le et Launchpad va créer des fichiers binaires, puis les héberger dans votre propre référentiel apt.

Voici une explication détaillée .

    
réponse donnée hhlp 24.10.2011 - 18:01
la source
74

Comment créer un fichier .deb

Ceci est un tutoriel sur la création d’un fichier .deb de base à partir d’un exemple de script donné. Dans ce didacticiel, nous créons d’abord un exemple de programme dans bash qui montre simplement "HELLO FROM PROGRAM". Ensuite, nous créons un fichier de contrôle pour le programme afin de créer un installateur Debian. Enfin, ils sont regroupés dans un fichier .deb .

Étapes:

  1. créer un exemple de programme dans bash

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

    collez le code suivant dans le fichier

    #!/bin/bash
    echo 'HELLO FROM PROGRAM' | zenity --text-info 
    
  2. Rendre le programme exécutable

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Créer un fichier de contrôle pour le paquet Debian

    Créez un fichier nommé control à l'intérieur du dossier DEBIAN

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

    et collez les détails suivants

    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.
    

    Vous pouvez modifier le contenu si vous le souhaitez. En savoir plus sur le format de ce fichier ici et ici .

  4. Créer le script postinst , exécuté immédiatement après l’installation du package

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    puis collez

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

    et rendez-le exécutable

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Créez le script prerm , exécuté avant la suppression du package

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

    et rendez-le exécutable

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Faites la structure des paquets et copiez les programmes, les données, etc.
    Créez une structure de vos programmes installés et de ses données. Dans cet exemple, nous mettons le fichier à /bin .

    mkdir -p "$HOME"/create_deb/bin
    cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
    
  7. Construisez le fichier .deb .

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

    Le . nommera automatiquement le fichier .deb avec la version, arch, etc. Ou votre nom personnalisé

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

    Ou si vous créez le fichier .deb avec

    debuild -k'your GPG key here' -S
    

    alors vous pouvez le télécharger sur Ubuntu Launchpad avec

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

    comme décrit ici (source: créer un package .deb à partir de scripts ou de fichiers binaires )

  8. Installez le package .deb nouvellement créé. Vous pouvez l'ouvrir avec software-center mais cela peut ne pas vous permettre de l'installer. Je recommande donc d'utiliser gdebi gestionnaire de paquets.

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

    Maintenant, vous pouvez l'installer. Lors de l'installation, vous devriez voir un dialogue GTK

      

    Installation du programme: zenity_hello.sh ......

  9. Après l’installation, ouvrez un terminal et tapez zenity_hello . Si le programme est correctement installé et que tout va bien, vous devriez voir un dialogue GTK

      

    HELLO FROM PROGRAM

  10. Suppression du package

    sudo apt-get remove zenity_hello
    

Publiez votre référentiel en 2 minutes

Comme le PO veut un moyen simple de publier ses paquets, je donne un hack facile.

exigence: dropbox (ou tout autre service, par exemple github ) avec un dossier public.

  1. Créez un dossier dans votre dossier de dépôt public où vous placez vos fichiers * .deb:

    mkdir ~/Dropbox/Public/deb-packages  
    

    ou créez ce dossier ailleurs et placez un lien symbolique dans votre dossier Public:

    mkdir ~/deb-packages
    cd ~/Dropbox/Public
    ln -s ~/deb-packages/ deb-packages
    
  2. Allez dans ce dossier et créez un script qui, une fois exécuté, crée le Packages.gz, contenant toutes les informations nécessaires sur vos paquets deb. créer:

    gedit import.sh  
    

    mettez ça dedans:

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

    rendez-le exécutable:

    chmod  x import.sh
    
  3. Copiez certains fichiers * .deb dans le dossier. Peut-être le vôtre ou d'autres qui ne sont pas disponibles dans d'autres référentiels. Ensuite, allez dans le dossier et exécutez le script que nous y avons mis:

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

    Cela devrait créer le fichier appelé Packages.gz , que apt recherche pour savoir quels paquets se trouvent dans ce référentiel.

C'est ça

Maintenant, attendez que Dropbox synchronise le dossier et récupère l'URL publique dans Packages.gz . Il devrait ressembler à ceci:

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

Débarrassez-vous de la fin de ce lien, ajoutez-y des mots supplémentaires et vous pouvez maintenant utiliser et remplir la ligne suivante pour les sources.list:

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

C'est vous qui avez votre propre dépôt Deb en cours d'exécution. Toujours synchronisé localement, mais accessible à tous, à tout moment et en tout lieu.

REMARQUE: dpkg-scanpackages est disponible à partir de dpkg-dev
référence

    
réponse donnée totti 09.07.2014 - 13:16
la source
2

Vous aurez besoin d’un compte Launchpad.net pour créer un PPA. Cliquez simplement sur votre utilisateur sur Launchpad (cliquez sur votre nom en haut à gauche) et créez un PPA. Vous devrez peut-être d'abord signer le code de conduite et faire enregistrer une clé GPG sur votre compte.

    
réponse donnée GTRsdk 24.10.2011 - 18:03
la source

Lire d'autres questions sur les étiquettes