Comment créer un paquet deb pour un seul script python?

77

J'ai un script python unique que je veux distribuer en paquet deb. C'est un indicateur qui affiche la date locale dans le panneau Unity. J'ai suivi créer un package .deb à partir de scripts ou de fichiers binaires . mais je n'ai pas pu créer un paquet deb car il échoue.

Quelqu'un peut-il me donner une instruction étape par étape sur ce que je dois faire? Pour autant que je sache, ce script dépend de python-appindicator .

REMARQUE:
Je ne veux pas de liens vers les instructions d'emballage Debian / Ubuntu. J'ai vu la plupart d'entre eux. Je ne les trouve pas amical pour les débutants.

    
posée sagarchalise 27.12.2011 - 13:12
la source

7 réponses

83

Ce qui suit est un exemple de base de l’apparence d’un paquet source pour un script python. Bien que la plupart des didacticiels soient un peu complexes, ils peuvent vraiment vous aider si vous rencontrez un problème. Cela dit, j'ai d'abord appris les bases de l'emballage Debian en regardant simplement les paquets Debian. apt-get source quelque chose de similaire et apprendre par l'exemple.

Voici la disposition de base de votre paquet source:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

Exécutez dch --create dans le répertoire pour créer une entrée debian/changelog correctement formatée.

debian / copyright devrait ressembler à:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <[email protected]>

Files: *
Copyright: 2011, Name, <[email protected]>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

debian / compat peut être simplement: 7

debian / rules :

#!/usr/bin/make -f

%:
    dh [email protected] --with python2

Notez qu'il doit y avoir "tab" avant dh [email protected] --with python2 , pas des espaces.

debian / control :

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <[email protected]>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

debian / install :

myScript usr/bin/

Ce fichier indique quel fichier sera installé dans quel dossier.

Maintenant, construisez-le avec debuild --no-tgz-check

Cela va créer un paquet deb fonctionnel. Lintian va lancer quelques avertissements concernant le manque d'orig.tar.gz, mais à moins que vous ne vouliez créer un projet en amont qui crée des versions d'archive, vous voudrez probablement l'ignorer pour l'instant.

    
réponse donnée andrewsomething 30.12.2011 - 20:25
la source
18
  1. créer un dossier avec n'importe quel nom sur votre maison, par exemple: mypyscript
  2. Ouvrez le dossier et créez deux dossiers portant les noms "DEBIAN" et "usr"
  3. Ouvrez le dossier DEBIAN. Créez un fichier texte (sans extension) avec le nom "control".
  4. Ouvrez 'control' et tapez comme suit et enregistrez-le sur DEBIAN

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
    
  5. Retour au dossier nommé mypyscript. Ouvrez 'usr'. Créez un dossier nommé 'bin'. Ouvrez 'bin' et collez-y votre fichier pythonscript.

  6. Vous pouvez également créer une entrée de menu. Mais ce n'est pas essentiel.
  7. Retour au dossier d’accueil où se trouve le dossier «mypyscript» ou fermez le navigateur de fichiers.
  8. Ouvrir le terminal. Assurez-vous que le terminal est dans le dossier d'accueil. tapez dpkg -b mypyscript .Puis appuyez sur Entrée. En quelques secondes, votre paquet deb est prêt

note: veuillez remplir le fichier de contrôle correctement. N'utilisez pas d'apostrophes. C'est seulement pour indiquer les noms.

    
réponse donnée ST Alfas 30.12.2011 - 17:16
la source
9

Vous pouvez essayer avec Debreate , un outil graphique pour créer des paquets.

    
réponse donnée davidc3 30.12.2011 - 14:55
la source
3

Je voudrais vérifier rapidement, idéal pour créer des applications rapides et générer des debs google il ou vous pouvez trouver des tutoriels ici lien

    
réponse donnée Oly 31.12.2011 - 00:16
la source
2

Essayez pkgme ​​. C'est censé fonctionner.

Installer via:

sudo apt install pkgme

Exécuter via:

pkgme
debuild

(Un nouveau développeur devra peut-être exécuter gpg --gen-key , voir la clé de développement pour le faire correctement)

    
réponse donnée ams 30.12.2011 - 21:16
la source
1

Entre-temps, il existe un article décrivant le dilemme rencontré sur lien . Il indique principalement que dh-virtualenv fonctionne avec make-deb pour déployer facilement du code Python en utilisant simplement un fichier setup.py. Un petit manuel est disponible sur lien

    
réponse donnée tc88 18.11.2017 - 20:46
la source
0

Vous pouvez essayer d’utiliser Debreate

Ceci est une interface Gui pour créer des paquets et des choses que vous pouvez utiliser avec le PPA également si vous ne souhaitez pas le télécharger depuis le site Web indiqué ci-dessus.

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

Ive condensé le ppa pour qu'il fonctionne comme une seule ligne de code! Merci pour la question géniale et assurez-vous de continuer à insérer ces lignes de code dans le terminal!

    
réponse donnée Galien1 08.07.2017 - 04:36
la source

Lire d'autres questions sur les étiquettes