Quel est le guide d’emballage Debian le plus simple?


150

Je suis allé sur le wiki Ubuntu mais j'ai été dérouté, il y avait trop de façons. Merci de me dire un guide facile sur l’emballage Debian.


3
Voulez-vous créer des packages pour votre propre usage, sur un ordinateur spécifique ou pour que d'autres l'utilisent?
andol

1
Quelle langue est le logiciel que vous souhaitez empaqueter?
Umang

4
J'ai le même problème. La plupart des tutoriels et des guides commencent par "obtenir l'archive en amont". À partir de ce moment, nous sommes perdus. Nous souhaitons déployer une solution simple: il n'y a pas d'archive en amont, il n'y a pas de code source. c'est juste un fichier de guerre, des scripts et des fichiers jar. Qu'est-ce que la boule de tar en amont, et quelqu'un a-t-il déjà vu un guide SANS guide exhaustif (qui traite des problèmes des utilisateurs, par exemple)
John Little

2
Je vais aller pour celui que j'ai posté sur StackOVerflow.

Si vous voulez créer des "paquets virtuels" (dépendances de groupe ensemble), jetez un coup d'œil à equivs-build
Rolf

Réponses:


103

Ceci est un bon HOWTO pour créer un .debfichier de base . Il convient à la création de .debfichiers pour un usage personnel mais pas assez strict si vous voulez que le paquet soit inclus dans Debian / Ubuntu - vous devez donc lire le Guide du nouveau responsable Debian et / ou le Guide du packaging Ubuntu (que je crois vous déjà essayé).

Un bon outil pour vérifier la .debconformité de votre fichier est lintian(installable à partir des référentiels).

Il y a eu deux sessions ici dans les salles de discussion Ask Ubuntu.

Notions de base de l'emballage sur Ubuntu (Emballage: Partie 1)

Emballage Ubuntu pour PPA Launchpad (Emballage: Partie 2)


Ceci compile bien ce qui est nécessaire pour commencer avec le packaging, mais dans le HOWTO, il me manque des informations pour inclure l'icône de l'application dans le fichier deb (et je n'ai rien trouvé à ce sujet ailleurs). Un indice sur comment le faire?
nightcod3r

14

Quelles parties avez-vous des problèmes? Bien que compliqué, le guide semblait assez clair lorsque je le suivais.

Résumé rapide:

  • Extrait source .tar.gz
  • Courir dh_make
  • Editer les fichiers debian
  • Exécuter debuild

3
Ce qui m'a dérouté, est-ce que ce processus est le même, peu importe la langue source ou la structure de répertoires?
Seth

9
Le point crucial est que nous n’avons pas de fichier .tar.gz. nous voulons emballer une application que nous avons écrite. Aucun guide ne semble couvrir cela, ils commencent tous par une "archive amont" que nous n'avons pas.
John Little

@JohnLittle cette réponse peut être utile
Nathan Osman

1
Qu'en est-il des emballages répétés à long terme? Dois-je toujours faire un processus d'emballage aussi long et compliqué?
kravemir

Si l'utilisateur n'a pas de clé GPG , debuildil échouera avec "l' erreur debsign: gpg s'est produite! Aborting .... ".
agc


5

Le moyen le plus simple de conditionner quelque chose est d'utiliser checkinstall .


4
checkinstall fournit un moyen rapide de créer un paquet binaire debin (.deb) à partir d'une méthode d'installation source. Cependant, il ne fournit pas un paquet Debian approprié (construit à partir d'un paquet source Debian).
João Pinto

OH mec .. je devais utiliser ça AVANT de compiler .. c’est comme des heures de compilation.
Piotr Kula

5

Publié à l' origine sur StackOverFlow , ce guide est destiné aux logiciels pré-compilés ou interprétés:

La bonne façon de construire un paquet deb est d'utiliser dpkg-buildpackagemais parfois c'est un peu compliqué. Au lieu de cela, vous pouvez utiliser dpkg -b <folder>et cela créera votre paquet Debian.

Voici les bases pour créer un paquet Debian dpkg -b <folder>avec n’importe quel script ou binaire qui s’exécute automatiquement sans nécessiter de compilation manuelle (Python, Bash, Pearl, Ruby):

  1. Créez les fichiers et les dossiers afin de recréer la structure suivante:

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

    Les scripts placés à /usr/bin/sont directement appelés depuis le terminal. Notez que je n’ai pas ajouté d’extension au script. Vous pouvez aussi remarquer que la structure du paquet deb sera celle du programme une fois installé. Donc, si vous suivez cette logique si votre programme a un seul fichier, vous pouvez le placer directement sous ProgramName-Version/usr/bin/your_script, mais si vous avez plusieurs fichiers, vous devez les placer sous ProgramName-Version/usr/share/ProgramName/all your fileset ne placer qu’un seul fichier sous /usr/bin/lequel vos scripts seront appelés./usr/share/ProgramName/

  2. Changez toutes les permissions du dossier en root:

     chown root:root -R /path/to/ProgramName-Version  
    
  3. Modifier les autorisations du script:

     chmod 0755 /path/to/the/script
    
  4. Enfin, vous pouvez lancer: dpkg -b /path/to/the/ProgramName-Versionet votre paquet deb sera créé! (Vous pouvez également ajouter les scripts post / pre inst et tout ce que vous voulez, cela fonctionne comme un paquet Debian normal)

Voici un exemple du controlfichier. Il vous suffit de le copier / coller dans un fichier vide appelé "control" et de le placer dans le dossier 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

Non, le guide d’emballage le plus simple et le plus clair du monde est

Empaquetage d'applications Java pour Ubuntu et autres Debian

Il y a quelques jours, pour ma première application, j'ai créé le paquet DEB en suivant ce tutoriel. Très clair et mon application emballée avec succès. Oui, au moins c'est le plus simple pour moi.

Vous pouvez le comparer avec le guide d’emballage Debian.


3
"Simple" ne signifie pas "complet". Il existe de nombreuses politiques qu'un tutoriel de base sur les packages .deb ne couvre pas pour différents types de programmes, et par conséquent, les packages ne sont pas aussi simples qu'un "simple tutoriel".
Thomas Ward

vraiment simple. Cela m'a permis de commencer et j'ai pu créer mon premier paquet Debian en quelques minutes. Encore beaucoup de détails à traiter (problèmes de qualité de paquetage de la part de Lintian) mais bon point de départ.
atmelino
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.