8
votes

CheckInstall crée inutile Deb?

J'ai un programme de ligne de commande trivialement simple qui consiste littéralement en un script Python et des scripts de coque d'assistance. J'aimerais apprendre à l'emballage de ce programme, bien qu'il soit trivial.

De ce que j'ai rassemblé, je suis allé la route Configurer / établir / installer. Puisque je n'avais rien à configurer, ni quoi que ce soit à faire, je suis simple créé un maquefile avec une section d'installation: p> xxx pré>

à ce stade, mon programme s'installe et fonctionne bien avec SUDO FAITES INSTALLATION. P>

Ensuite, j'essaie de créer un fichier deb à l'aide de CheckInstall comme suit: P>

/.


0 commentaires

3 Réponses :


4
votes

Je ne sais pas si cela répond exactement à la question, mais voici ce que je suis arrivé jusqu'à présent (sur Ubuntu lucid, CheckInstall 1.6.1):

J'ai essayé de construire un projet open-source, qui construit tout à fait . Ensuite, j'ai essayé de l'emballage pour Debian:

CheckInstall -d --Install = non --pkgname = $ pkgname --pkgversion = 0.0.1 --pkgrelease = "svn-001" - Mainteneur=test@Test.com --Strip = No --Stripso = Non --addso = Oui

Ceci a essentiellement échoué au même Liste de fichiers de construction ... ; et un Grep similaire: /var/tmp/tmp.naoiwthtt6f/newfile: Aucun fichier ou répertoire de ce type a été signalé.

J'ai également essayé avec l'ajout faire à la fin de CheckInstall Commande ci-dessus - qui n'a pas fait beaucoup non plus.

Enfin, j'ai essayé ceci:

Faire propre
CheckInstall -d --Install = non --pkgname = $ pkgname --pkgverversion = 0.0.1 --pkgrelase = "svn-001" - Maintainer=test@test.com --Strip = no --Stripso = non - -Addso = yes -d2 faire

Le commutateur -D2 est pour activer le débogage; et ... faire sera retentissant une fois de plus.

Le -d2 imprimera le répertoire temporaire: xxx

, il peut donc être vérifié par la liste ... Et en effet, je peux confirmer qu'un newfile n'est pas généré dans mon cas (cependant, il y a newfiles , newfiles.installwatch , NEWFILES-TAR ET NEWFILES.TMP ). En fait, éteint checkInstall est un script bash , et on peut donc confirmer que newfile apparaît uniquement une fois dessus: < Pré> xxx

En outre, le débogage signalera ces fichiers / répertoires: xxx

Notez que par défaut, le chemin de mon dossier de construction, < code> / chemin / à / myProject-build est exclu - et c'est là que ce projet stocke également les exécutables construits!

apparemment, lorsque Dans CheckInstall passe à la construction de la première fois, il peut capturer des fichiers exécutables nouvellement générés - ils seront répertoriés dans $ {tmp_dir} / newfile s ; Cependant, dans mon cas, le problème est que les exécutables se retrouvent sous le même répertoire où checkInstall est appelé; Ainsi, à cette boîte de dialogue: xxx

... I doit , en fait, réponse n - sinon je ' D Inclus rien! Je peux ensuite vérifier le contenu avec: xxx

Cependant, le problème est que checkInstall :

  • aussi comprend des fichiers .o , ainsi que .svn répertoires
  • compte le chemin absolu comme relatif (non automatiquement "envoyer automatiquement" exécutables à dire, / usr / bin , et .so s sur / usr / lib

    en bref - Certaines des approches ci-dessus peuvent obtenir une pour avoir un .deb qui n'est pas complètement vide; Mais cela ne signifie pas que l'on n'a que les fichiers nécessaires là-bas, ou qu'ils seraient routés vers des destinations d'installation habituelles ...

    Eh bien, j'espère que cela aide au moins un peu,
    Bravo!


0 commentaires

1
votes

J'ai eu des problèmes similaires. À la fin, j'ai suivi Ceci très simple, mais assez manuel approcher.

Placez les fichiers que vous souhaitez emballer à Debian / USR / Bin par exemple. Il n'est pas nécessaire de remplir le habituel Configurer, faire, créer des étapes d'installation .


0 commentaires

7
votes

La double utilisation de sudo est le problème.

avec un fichier install.sh comme xxx

commande xxx

fonctionne tandis que xxx

montre xxx

et produit un package vide.


0 commentaires