Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2010, à 19:48

Spitfire 95

(Résolu) Envoyer simplement des paquets sur son PPA

Bonjour.
Tout d'abord, je suis extrêmement déçu pour la doc sur la création de paquets. Si on veux faire un paquet avec un paquet qui existe déjà, c'est super, mais quand on veux empaqueter son logiciel, c'est infaisable en utilisant la doc.
Ensuite, celle pour créer son PPA, pour les clés GPG, le suivez les instructions en anglais, c'est pas super pour quelqu'un d'allergique à l'anglais. Heureusement, c'est pas mon cas. Donc quand j'aurais le temps, je verrais pour traduire les instructions.

Donc mon PPA est créé, mon logiciel empaqueté, mais pas de façon traditionnelle. J'ai suivi ce tuto : http://www.lyxia.org/blog/developpement … -python-45. Le deb marche.
Mais comment l'envoyer ?

dput ppa:your-lp-id/ppa <source.changes>

C'est quoi ce sources.changes ? Le moteur de recherche de l'aide ne trouve pas. Et j'ai pas envie de me faire toute la doc, parce que c'est vraiment bordélique le système de paquets. Pas un logiciel pour faire ça en GUI. OK, la cli ça fait pro, mais c'est chiant et illisible sur les commandes comme celles-ci.
Puis tous les soft pour créer des paquets en GUI n'ont pas fonctionné, et ils voulaient savoir des trucs sur le serveur, mais launchpad ne nous dit rien là dessus. Où est situé votre miroir ? Bah... on sait pas.

Donc j'aimerais savoir si il y a un moyen de passer par gftp ou un truc comme ça, parce que ça me soûle toutes ces lignes de commande. C'est super pour l'apparat (*** ! t'es trop fort !), mais c'est trop galère. Je veux développer, pas lire des docs interminables et qui ne traitent pas le sujet !

Merci.

PS : Si je parais un peu violent, veuillez m'en excuser. Je lis des docs, des contrats de licence, je m'énerve sur des softs pourris qui me font perdre du temps parce qu'ils ne marchent pas où parce qu'il me manque des infos sur launchpad, je veux engueuler les devs depuis trois heures, alors j'implose !

Cordialement.

Dernière modification par Spitfire 95 (Le 06/01/2011, à 20:47)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#2 Le 15/11/2010, à 22:05

vinc-mai

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Le source.changes est un fichier texte qui, entre autres, contient les "hashs" des différents fichiers "uploadés" sur le ppa.
Il est créé en général par l'outil debuild.
Personnellement, j'invoque debuild dans le dossier contenant les sources et le dossier debian puis j'upload les fichiers après avoir vérifier que les paquets se contruisent correctement grâce à pbuilder:
debuild -S
cd ..
sudo pbuilder-maverick build <sources.dsc>
dput <mon_ppa> <sources.changes>


ZiK un lecteur audio et son blog.

Hors ligne

#3 Le 16/11/2010, à 05:15

Gemnoc

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Spitfire 95 a écrit :

Bonjour.
Tout d'abord, je suis extrêmement déçu pour la doc sur la création de paquets. Si on veux faire un paquet avec un paquet qui existe déjà, c'est super, mais quand on veux empaqueter son logiciel, c'est infaisable en utilisant la doc.
Ensuite, celle pour créer son PPA, pour les clés GPG, le suivez les instructions en anglais, c'est pas super pour quelqu'un d'allergique à l'anglais. Heureusement, c'est pas mon cas. Donc quand j'aurais le temps, je verrais pour traduire les instructions.

Bonjour Spitfire 95,

La doc est rédigée par des volontaires, et de ce fait n'est pas toujours parfaite. Si tu crois pouvoir l'améliorer, je t'invite à le faire. smile Je te suggère de commencer par la page Participer à la documentation.

Mais tu as raison à propos de la complexité de tout ça, moi-même je ne suis pas développeur, je voulais simplement partager sur un PPA un paquet que j'ai compilé depuis une application libre de CAO. J'ai abandonné devant la complexité de l'entreprise...

Hors ligne

#4 Le 16/11/2010, à 08:37

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

La doc est rédigée par des volontaires, et de ce fait n'est pas toujours parfaite. Si tu crois pouvoir l'améliorer, je t'invite à le faire.

Je sais, je l'améliore, je la complète et je la met à jour au fil des versions quand j'ai les connaissances. Ce serait avec plaisir que j'améliorerais cette section, mais refaites là d'abord pour que je la comprenne avant tongue

Je vais essayer de faire ce que dit vinc-mai, mais je ne sais pas si mon deb est très valable. Il fonctionne, mais vis à vis de la Debian Policy, il est peut-être mauvais.
Les 6 fichiers indispensables :
changelog      => À faire
compat           => J'ai pas. Vais me renseigner sur l'utilité et l'inclure si besoin est
control            => J'ai control-install mais il est déplacé en control dans le dossier DEBIAN par create_package.sh   
copyright       => À faire
rules              => J'ai pas, et pour du Python, est il nécessaire ?
dirs                => J'ai pas, mais create_package.sh a mes commandes mkdir et cp pour créer des dossiers et déplacer les fichiers


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#5 Le 16/11/2010, à 15:53

magestik

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Salut,

Pour mon projet de Stéréo-3D je fais régulièrement des paquets. Avant je faisais mes paquets avec ce que j'ai appris sur la doc Ubuntu (qui est largement assez clair). Sauf que ça me posais des problèmes et j'ai fini par comprendre que c'était pas la "vraie" methode : je devellopais mon logiciel en ayant lacé les fichiers dans une architecture pré-faite (/usr/bin; /usr/share/tuxstereoviewer ...). du coups, quand j'ai réinstallé mon ordi j'ai décidé de mieux m'organniser, déjà pour gagner du temps de devellopement et pour que tout mes fichiers sur mon Git (avant j'avais que les fichiers de /usr/share/tuxstereoviewer).

Du coups j'ai lu la doc officielle de Debian sur le packaging. C'était jeudi. J'ai passé la journée à tout bien apprendre tout bien faire etc ... Mais au final j'ai tout compris et je sais bien tout faire. Pour le moment j'ai mis les 3 étapes dans un fichier texte pour m'en rappeler et vu que je suis pas chez moi je vais juste te dire comment faire avec ce que je me rappelle.


1ère étape: Sources
Déjà un développeur n'est pas "censé" packager son logiciel (si j'ai bien compris, chez Debian c'est deux rôles différents). Donc tu dois faire comme si tu étais deux personnes différentes. En tant que développeur tu dois faire ton logiciel comme si tu n'allais pas le packager, mais tu dois y inclure un installeur. Personnellement j'ai créé un setup.py mais mon logiciel est en python, toi ce sera peut-être un configure/make. Ton installeur doit installer tes fichiers au bon endroit, suivant les normes GNU. En gros tu met le binaire principale dans /usr/bin, les fichiers dans /usr/share/{NOM}, ton icone dans /usr/share/pixmaps et un fichier desktop dans /usr/share/applications. Tu peux aller visiter ces dossiers si tu veux comprendre un peu plus ou tu dois placer quel fichier : en général je regarde ou vont se placer les fichiers de emesene (qui est aussi en Python) et je fais un peu pareil.

Un fois que ton installeur est prêt, tu dois faire une archive distribuable à n'importe qui : quand on l'extrait n'importe qui doit pouvoir l'installé facilement grace au Makefile (le fameux ./configure, make, sudo make install ; dans mon cas l'utilisateur doit simplement faire sudo setup.py install). Cette archive est très importante ! C'est l'archive d'orgine. Elle doit être nommé NOM-VERSION (exemple: tuxstereoviewer-0.2.2.tar.gz) ...

C'est là que ton travail de développeur se termine. Et que ton travail de packageur commence.

Commence par créer un répertoire de travail et décompresse ton archive dedans.

cd ~/Documents/
mkdir /packaging/
cd /packaging/
~tar xvzf NOM-VERSION.tar.gz (tu dois avoir mis ton archive dans le dossier ~/Documents/packaging/)
cd NOM-VERSION
dh_make -f ../NOM-VERSION.tar.gz  (ex: ../tuxstereoviewer-0.2.2)

Il te demandera quel type de paquet tu veux. Perso je choisis i (indep => mon code est en python, donc indépendant de l'architecture).
Normalement il te créera un fichier NOM_VERSION.orig.tar.gz (sinon il faudra mettre une option --create_orig je sais plus ou, je te redirais) à coté de ton tar.gz et il devrait créé un dossier debian dans ton dossier NOM-VERSION.


2ème étape: Dossier Debian
Ce dossier debian est important : tu verras qu'il contient plein de fichiers. La plupart te seront inutile et sont assez spécifiques. Dans le cas d'un package simple (pour ton premier paquet il vaudrait mieux que ce soit le cas tongue) tu peux tout supprimer, sauf control, rules, copyright, changelog et d'autres (je les connais pas par coeur ^^). Tout ces fichiers sont à modifier à chaque fois.

Le changelog est super important, il faut que tu l'edit et que tu mette le bon nom de version du genre VERSION-X (VERSION = même version que le nom de l'archive précédemment créée, X = version du paquet, tu peux laisser 1). Tu peux ajouter quelques trucs qui disent les modifications faite sur le logiciel.

Le control est aussi très important, c'est lui qui permet de gérer les dépendances et tout ce genre de choses. Tu dois le remplir correctement ! Normalement il est déjà pre-rempli, tu dois juste faire quelques petites modifications. Y'a beaucoup de doc sur internet, je sais que tu arriveras à trouver tout seul wink

Le copyright doit être modifié pour ajouter les copyrights du logiciel et du paquet. Il est déjà pré-rempli, tu dois simplement le modifier. Ils te disent de mettre la licence du logiciel (imposé par l'auteur mais vu que c'est toi c'est toi qui choisit) et de choisir une licence pour ton travail de packaging et tu suggère de mettre la même (vu que tu es dev et packageur, tu choisiras forcement la même, sinon ce serait pas trop logique ^^).

Le rules est rempli comme il faut pour les paquets simples, comme je l'ai dit plus haut. Normalement pas besoin de le toucher. Si jamais tu as besoin, je peux pas t'aider, je l'ai pas modifié.


3ème étape: Création du paquet
Si tout est bien fait, il te suffit d'exécuter la commande :

dpkg-buildpackage

La paquet sera créé à coté de ton archive et de l'archive orig.tar.gz. Il y aura aussi un fichier .dsc et le fichier que tu cherche : le fichiers .changes wink ensuite, si je me rappelle bien de la doc (très moyenne) de launchpad, il te suffit de faire

dput fichier.changes

Je m'en rappelle bien parce que j'arrivais pas à avoir ce fichier changes ^^

Je comptais justement refaire la doc dans les semaines à venir. J'aurais plus qu'à faire des copié/collé de ce message et de préciser certains point ou j'ai pas été super clair (j'ai surement oublié un ou deux trucs ^^). En tout cas j'espère que ça te permettra de packager ton paquet. Si tu as des questions ou des problèmes pour comprendre ce que je dis, n'hésite pas à redemander wink

Bonne journée,

Magestik

Hors ligne

#6 Le 16/11/2010, à 18:40

lann

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Bonjour

Pour faire un paquet, la doc est ici

création paquet

Je trouve qu'elle est suffisamment claire car j'ai réussi du premier coup.

Concernant l'envoi du paquet sous launchpad la doc est là

Launchpad

En gros il faut créer un fichier .dput.cf dans le home/usr.

Le mien est de ce genre

[GuitarTuner_hardy]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~lann/ppa/ubuntu/hardy
login = anonymous
allow_unsigned_uploads = 0

Avec d'abord le nom du ppa [GuitarTuner_hardy]. Tu peux mettre n'importe quoi. c'est le nom que tu vas appeler avec dput
et incoming : le nom de ton ppa [~lann]/ppa/distribution/version_distribution

le reste sans changement.

pour uploader vers launchpad tu fait

dput le_nom_ppa fichier_paqueté.changes

pour moi

dput GuitarTuner_hardy guitar_tuner_0.3.0.0.changes 

A+

Hors ligne

#7 Le 16/11/2010, à 21:41

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Bonjour.
Je suis la méthode de magestik. J'ai copié le fichier d'installation, le shell de lancement, les dossiers, etc... sur son paquet source sur launchpad. J'ai dû le customiser un peu, parce que j'ai l'impression que ce n'est pas adapté pour le i18n. J'ai donc pris aussi le setup de emesene pour m'inspirer du code, mais mon dossier contenant les traductions étant beaucoup plus simple et ne reprenant pas tout les dossiers et sous dossiers de /usr/share/locale/, j'ai du customiser aussi celui la. Bref, système D.
Mais j'ai un dossier build qui apparaît lors de l'exécution du setup.py. Je pense que c'est normal, mais j'aimerais une confirmation. Merci.

Merci à tous pour vos réponses.
A bientôt.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#8 Le 16/11/2010, à 21:55

magestik

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Spitfire 95 a écrit :

Bonjour.
Je suis la méthode de magestik. J'ai copié le fichier d'installation, le shell de lancement, les dossiers, etc... sur son paquet source sur launchpad. J'ai dû le customiser un peu, parce que j'ai l'impression que ce n'est pas adapté pour le i18n. J'ai donc pris aussi le setup de emesene pour m'inspirer du code, mais mon dossier contenant les traductions étant beaucoup plus simple et ne reprenant pas tout les dossiers et sous dossiers de /usr/share/locale/, j'ai du customiser aussi celui la. Bref, système D.
Mais j'ai un dossier build qui apparaît lors de l'exécution du setup.py. Je pense que c'est normal, mais j'aimerais une confirmation. Merci.

Merci à tous pour vos réponses.
A bientôt.

Oui la création du build est normal. De toute façon, une fois que tu exécutes la dernière commande (dpkg-buildpackage) tu auras ton paquet deb, il te suffit de l'ouvrir avec Gdebi pour voir comment sont placés les fichiers. Tu pourras verifier que ça correspond bien à ce que tu attendais.

La doc pour la création d'un paquet (http://doc.ubuntu-fr.org/tutoriel/creer_un_paquet) est en gros la même que celle de Debian. Mais la dernière fois que j'ai voulu créé un paquet en suivant la doc Ubuntu c'était pas sur cette page que j'avais appris. J'avais même pas vu cette page (ou alors elle a changé ?).

Mais bon, de toute façon, la methode que j'utilisais avant marchant parfaitement, même si elle était largement moins pratique pour un développeur qui fait lui même les paquets de ses logiciels. La c'est beaucoup plus simple, et propre. Moi ce qui m'a surtout gêné au moment ou je voulais faire un PPA c'était la doc de launchpad : j'ai jamais compris comment avoir le fichier .changes ... je comprends mieux depuis que je fais mes paquets de manières normales ^^

Voilà.

Hors ligne

#9 Le 16/11/2010, à 22:10

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

J'ai oublié quelque chose :

scripts      = ['datas/calculatrice'],

datas/calculatrice étant le shell de lancement du programme.
Pourquoi est-il copié dans /usr/local/bin alors que je lui demande /usr/bin ? Pourtant, mes dossiers contenant les scripts python et les images sont bien dans /usr/share et non pas /usr/local/share.
Comment forcer à mettre mon script dans /usr/bin ? Parce que sinon, c'est mon lanceur .desktop qui faut que je refasse, et comme je pense que le deb copiera bien dans /usr/bin, je devrais aussi le refaire pour le deb. Compliqué tout ça.

Et j'aimerais une explication sur cette commande :

#!/bin/sh
exec python /usr/share/calculatrice/main.py $@

Que veut dire $@ ? Que le répertoire courant est le home de l'utilisateur et non pas /usr/bin ?
Je connais pas le shell... Je pourrais le refaire en python, mais si ça marche en shell, ce serait stupide ^^ Je veux juste comprendre.
Merci.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#10 Le 16/11/2010, à 22:16

magestik

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Spitfire 95 a écrit :

J'ai oublié quelque chose :

scripts      = ['datas/calculatrice'],

datas/calculatrice étant le shell de lancement du programme.
Pourquoi est-il copié dans /usr/local/bin alors que je lui demande /usr/bin ? Pourtant, mes dossiers contenant les scripts python et les images sont bien dans /usr/share et non pas /usr/local/share.
Comment forcer à mettre mon script dans /usr/bin ? Parce que sinon, c'est mon lanceur .desktop qui faut que je refasse, et comme je pense que le deb copiera bien dans /usr/bin, je devrais aussi le refaire pour le deb. Compliqué tout ça.

Ah, le problème avec le local ...Oui c'est chiant j'ai perdu beacoup de temps là dessus, à la fin j'avais presque oublié que je faisais ça pour packager plus facilement ^^ Moi il me mettait tout mes fichiers python dans /usr/local/...../python-2.6/. Du coups j'ai triché en demandant au setup de placer mes fichiers python dans le dossier /usr/share/tuxstereoviewer sans lui dire que c'est des librairies python. Pour le script je sais plus du tout comment j'ai fait, désolé. Mais tu peux sur mon Git ou tout mes fichiers sont à jours (les dernières modifs sont celle qui ajoute le setup.py): https://github.com/magestik/TuxStereoViewer

Spitfire 95 a écrit :

Et j'aimerais une explication sur cette commande :

#!/bin/sh
exec python /usr/share/calculatrice/main.py $@

Que veut dire $@ ? Que le répertoire courant est le home de l'utilisateur et non pas /usr/bin ?
Je connais pas le shell... Je pourrais le refaire en python, mais si ça marche en shell, ce serait stupide ^^ Je veux juste comprendre.
Merci.

Il lance main.py avec les mêmes arguments que ceux passés au script shell. Tu appelles calculatrices avec n'importe quel argument, et calculatrice appellera le script python avec exactement les mêmes arguments wink

Dernière modification par magestik (Le 16/11/2010, à 22:20)

Hors ligne

#11 Le 16/11/2010, à 23:10

darkevolution

Re : (Résolu) Envoyer simplement des paquets sur son PPA

@Magestik: Ah... bah je crois que quelqu'un vient de faire le boulot que j'aurais eu à faire tôt ou tard lol

Merci pour les explications, j'en aurais bien besoin quand mon projet sera bien avancé ! ^^


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne

#12 Le 17/11/2010, à 14:33

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Pour le lanceur sh, pourquoi devrais-je le mettre dans scripts ? Si je le met dans les data_files, je peux le copier dans /usr/bin, et je n'ai plus de problèmes avec le local. Puis je n'ai pas d'erreur au lancement.

Ensuite, dans mon script d'installation, je compte mettre quelques lignes pour ajouter la ligne APT du dépôt. Ça, c'est facile. Mais pour ajouter la clé de chiffrement qui va avec le dépôt, je fais comment ?

f=open('/etc/apt/sources.list',"r")
srcList=f.read()
f.close()
if not srcList.find('deb http://...'):    # Sans mettre le distro main
    f=open('/etc/apt/sources.list','a')
    f.write('deb http://... distro main')
    os.popen(    )    # Et là, je rentre la commande pour ajouter la clé

Quelle est cette commande ?
Et comment connaitre la distro ? (les paquets dans les /usr/lib/python2.6/distutils devraient m'aider)
Et puis-je faire un paquet pour toutes les versions d'Ubuntu, et mieux, même de Debian ?
Dois-je laisser le dossier build dans l'archive et dans le dh_make ?

Merci.

Dernière modification par Spitfire 95 (Le 17/11/2010, à 16:12)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#13 Le 17/11/2010, à 20:03

magestik

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Spitfire 95 a écrit :

Pour le lanceur sh, pourquoi devrais-je le mettre dans scripts ? Si je le met dans les data_files, je peux le copier dans /usr/bin, et je n'ai plus de problèmes avec le local. Puis je n'ai pas d'erreur au lancement.

Ensuite, dans mon script d'installation, je compte mettre quelques lignes pour ajouter la ligne APT du dépôt. Ça, c'est facile. Mais pour ajouter la clé de chiffrement qui va avec le dépôt, je fais comment ?

f=open('/etc/apt/sources.list',"r")
srcList=f.read()
f.close()
if not srcList.find('deb http://...'):    # Sans mettre le distro main
    f=open('/etc/apt/sources.list','a')
    f.write('deb http://... distro main')
    os.popen(    )    # Et là, je rentre la commande pour ajouter la clé

Quelle est cette commande ?

Mauvaise idée. Mais bon, tu parle d'une clé de dépôts Launchpad ou d'un dépôt normal ?

Spitfire 95 a écrit :

Et comment connaitre la distro ? (les paquets dans les /usr/lib/python2.6/distutils devraient m'aider)
Et puis-je faire un paquet pour toutes les versions d'Ubuntu, et mieux, même de Debian ?
Dois-je laisser le dossier build dans l'archive et dans le dh_make ?

Merci.

Connaitre la distribution je sais pas. Sur launchpad en général les paquets sont fait pour chaque versions. C'est un problèmes de dépendances et de librairies utilisés (qui peuvent varier d'une versions à l'autre). Et normalement pareil, il faut faire un paquet différent pour Debian (c'est plus important de faire un paquet pour Ubuntu et un pour Debian que de faire un paquet par version Ubuntu à mon avis wink )

Hors ligne

#14 Le 17/11/2010, à 20:14

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

En fait, c'est pour pouvoir continuer à publier mon programme sur mon site. Si un utilisateur le télécharge, il téléchargera l'archive sur launchpad (j'ai pas un espace disque iillimité tongue), et à l'installation, l'ajout du dépôt se fera automatiquement, grâce au script. Et il faut en plus ajouter la clé publique pour ne pas générer des erreurs dans APT. Un peu comme Google Chrome. On le télécharge sur Google, on installe, et le dépôt s'ajoute tout seul. On ajoute le dépôt manuellement, et la, c'est la cata, c'est pas authentifié (rien à faire, je gagne du temps comme ça tongue).

Ensuite, pour les versions, j'ai vérifié... je crois (Alzheimer à 16 ans lol), et les dépendances sont les même pour les deux systèmes : python, python-tk, et tix. Donc je sais pas si ce sera nécessaire.
Par contre, si je met qu'un paquet, pourra-t-il est dispo pour toutes les versions, indépendamment de celle dans la ligne APT ? Que ça se termine par "jaunty main" ou  "maverick main" ?

Merci.

=== EDIT ===
Je crois avoir trouvé pour la clé de chiffrement :

os.popen('sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8_derniers_caractères_cle')

Mais mon PPA étant toujours vide, je ne connais pas ces caractères pour l'instant.

Dernière modification par Spitfire 95 (Le 17/11/2010, à 20:18)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#15 Le 19/11/2010, à 19:40

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Les dernières lignes de mon terminal avec debuild :

Now signing changes and any dsc files...
 signfile calculatrice_7.0.dsc Aurelien RIVIERE <aurelien.riv@gmail.com>
gpg: AVERTISSEMENT: les permissions du fichier de configuration
`/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: AVERTISSEMENT: les permissions du répertoire contenant le
fichier de configuration `/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: AVERTISSEMENT: les permissions du fichier de configuration
`/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: AVERTISSEMENT: les permissions du répertoire contenant le
fichier de configuration `/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: « Aurelien RIVIERE <aurelien.riv@gmail.com> » a été ignoré: la clé secrète n'est pas disponible
gpg: /tmp/debsign.6WQHDMYa/calculatrice_7.0.dsc: clearsign failed: la clé secrète n'est pas disponible
debsign: gpg error occurred!  Aborting....
debuild: fatal error at line 1258:
running debsign failed

Et avec dpkg-buildpackage :

gpg: AVERTISSEMENT: les permissions du fichier de configuration
`/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: AVERTISSEMENT: les permissions du répertoire contenant le
fichier de configuration `/home/ubuntu/.gnupg/gpg.conf' sont peu sûres
gpg: « Aurelien RIVIERE <aurelien.riv@gmail.com> » a été ignoré: la clé secrète n'est pas disponible
gpg: [stdin]: clearsign failed: la clé secrète n'est pas disponible

 dpkg-genchanges  >../calculatrice_7.0_i386.changes
dpkg-genchanges: inclusion du code source original dans l'envoi (« upload »)
 dpkg-source --after-build calculatrice-7.0
dpkg-buildpackage: envoi complet (inclusion du code source d'origine)
dpkg-buildpackage: avertissement: Échec de signature des fichiers .dsc et .changes

Les raisons de ces messages d'erreurs sont (entre autre, je n'ai peut-être pas tout bon dans le paquet) les permissions de ~/.gnugp.
Je reconnais avoir un peu joué avec sudo chmod -R 777 /home/ubuntu/ quand j'avais des permissions embêtantes qui me gênaient, style un .desktop dans le .local/share/applications/ avec un chmod m'empêchant de le supprimer ou autre chose comme ça... mais je sais, c'est pas une pratique très recommandable/dée.
C'est quoi les permissions par défaut de .gnupg ?
J'aurais bien supprimé le dossier pour le refaire, mais je sais pas comment récupérer ma clé après. En recherchant les derniers chiffres sur le serveur de clés, impossible de la déclarer comme mienne et d'entrer mon passwrd.

Merci.


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#16 Le 21/11/2010, à 18:29

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Bon, après réinstallation du système et création d'une nouvelle clé, ça marche. Mais le PPA reste vide. Pas d'erreur lors de l'envois des fichiers pourtant, et j''ai bien respecté les consignes.

==EDIT==
J'ai reçu un mail. C'es la distro qui ne va pas. je suis obligé de faire un paquet par distro ?

==EDIT==
J'ai vu sur le site de la DEBIAN Policy que je pouvais mettre les distros que je voulais séparées par des espaces. Donc pour Ubuntu, c'est facile. Mais pour Debian ? Et si je met unstable, launchpad accepte ou dira qu'il ne connait pas la distro ?

==EDIT==
Launchpad ne l'autorise pas. Je dois faire un paquet par distro. Donc pour Debian, ils devront mettre maverick... c'est stupide. Si j'avais pu faire mon dépôt sur mon serveur...
Et on s'étonne que Canonical se fasse des ennemis. Ils font un système de dépôts perso, et les autres debian based ne peuvent même pas en profiter pleinement mad
Tant pis, vais perdre du temps à changer le fichier texte 5 fois...

Merci.

Dernière modification par Spitfire 95 (Le 21/11/2010, à 19:46)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#17 Le 23/11/2010, à 18:27

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Les paquets compilés avec dpkg-buildpackage sont refusés sur Launchpad. Je dois passer par debuild -s.
Paquet créé, publié sur mon PPA, mais ça marche pas. J'installe le paquet, mais aucun des fichiers n'est copié. Je dois le mettre où qu'il faut exécuter sudo python setup.py install ?

Puis après, si on ouvre le changes file sur LP, il y a des problèmes d'affichage. Les accents ne passent pas. Mais comme j'avais la flemme d'écrire en anglais... De toute façon, si je met le changelog en anglais, je devrais, pour être cohérent, réécrire les __doc__ des fonctions, leurs noms, les textes... en anglais dans le programme, et... bah j'ai la flemme en fait tongue


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#18 Le 05/01/2011, à 19:13

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Problème. J'ai terminé (ou presque) de coder le programme, mais j'arrive pas à faire les paquets. Je pense que le problème vient de debian/rules.
Comment on le fait depuis un prog en Python, donc sans compilation ?
Les sources sont là si vous en avez besoin : http://free-apps.evoconcept.net/logicie … res.tar.gz

Je regarde celui de emesene, je comprend pas ce qu'il fait. Celui de exaile, rien à voir, et très complexe... Les différentes docs me m'ont pas aidées...
Quelqu'un peut m'aider ?


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#19 Le 05/01/2011, à 19:19

darkevolution

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Salut

Perso mon debian/rules n'est absolument pas changé, d'ailleurs il n'y a rien y changer pour un paquet simple !

# REMOVE THIS LINE: For some reason, MoinMoin is eating shebang if it's on the first line.
#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
        dh  $@

J'ai pas regardé les autres paquets ils sont effectivement très compliqués !
Ton fichier d'installation si c'est un fichier python, tu peux abandonner, debuild n'en voudra pas wink (Ou alors je sais pas comment faut le faire j'ai essayé ça n'a jamais marché !)
Le plus simple c'est de faire un "makefile"
C'est tout bête, le mien ressemble à ça: (le dossier data, j'ai mis l'architecture dedans, donc usr/bin et tout mes fichiers placés comme je le souhaite)

install:
    mkdir -p "./debian/schedio"
    cp -p -r "./datas/usr/" "./debian/schedio/"
    cp -p -r "./datas/etc/" "./debian/schedio/"

Bon courage wink


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne

#20 Le 05/01/2011, à 20:34

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Merci. J'ai ajouté votre deb-src, téléchargé vos sources, et copié votre système.
À quoi servent les fichiers MANIFEST.in et PKG-INFO ? Un des fichiers du dossier debian ne contient pas les données de PKG-INFO ?
(Je n'ai pas encore essayé de lancer la création du paquet.)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#21 Le 05/01/2011, à 20:37

darkevolution

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Euh, le MANIFEST c'est la liste des fichiers, j'avoue je pense qu'il est inutile ! ^^
Le PKG-INFO est inutile aussi j'ai oublié de les virer, merci, ça sera fait pour les prochaines versions ! ^^


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne

#22 Le 05/01/2011, à 21:47

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Paquet créé, accepté par Launchpad. Pire ! Il fonctionne ! Merci !

Ensuite, je devrais faire un paquet par version non ? Launchpad n'autorise pas qu'on sépare les différentes versions par des virgules, comme on pourrais le faire, il me semble, avec un dépôt classique, je me trompe ? Pas un moyen plus rapide ?

Et ensuite, je devrais faire un installateur Windows quand le programme sera compatible. Quelqu'un peut m'aider ? Non, je plaisantais ! Pas taper ! Non ! big_smile

Dernière modification par Spitfire 95 (Le 05/01/2011, à 21:52)


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#23 Le 05/01/2011, à 23:41

darkevolution

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Non, pas possible de faire autrement ^^

Enfin si... si ton paquet fonctionne aussi sur les anciens, ils peuvent toujours utiliser le ppa de maverick, ça ne pose aucun soucis.
Les applications simples, qui ne sont pas critiques au systèmes peuvent se permettre d'avoir une version unique (ou presque).

Ce que font la plupart des appli après, c'est qu'elles laissent les ppa pour les vieilles versions du système avec un vieux paquet pas des à jour mais stable (demandant peu de maintenance).
Et après on met les nouveautés que sur les ppa des versions récentes ^^

Je te conseille de faire un paquet pour Lucid par exemple et que tout le monde l'utilise (faut juste faire attention aux dépendances wink )

[EDIT] Y'a pas de mal à faire un pour windows lol
Regarde firefox, gimp et tout, mais bon, perso je le ferais pas, mon logiciel est super vache à être converti pour windows lol

Dernière modification par darkevolution (Le 05/01/2011, à 23:42)


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne

#24 Le 06/01/2011, à 08:17

Spitfire 95

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Et plus tard, les branches des versions qui ne sont plus soutenues seront toujours actives ? Ou Launchpad rejettera les paquets Lucid dans deux ans ?

(et pour passer mon logiciel à Windows, non seulement j'ai un problème pour la disposition des fichiers (pas de /usr/share par exemple), mais en plus, j'avais des problèmes d'affichage avec Tkinter sous Win (peut-être corrigé ?), mais ça ne fonctionne pas avec Wine hmm )


Trisquel GNU/Linux 6.0 / Fedora 19 & rawhide.
joueur ryzom et wesnoth
Développeur livewallpaper
Membre déserteur et traître de la brigade des S.

Hors ligne

#25 Le 06/01/2011, à 16:00

darkevolution

Re : (Résolu) Envoyer simplement des paquets sur son PPA

Non non, les paquets seront toujours dispo


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Apportez vos idées à la version 3 !

Hors ligne