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 14/11/2014, à 17:14

Elphias

Création d'un point .deb [RESOLU]

Bonjour à tous !
Je travail actuellement sur un programme disponible sur linux et certaines librairies sont necessaires à son bon fonctionnement, de plus il faut le compiler manuellement pour l'installer.
J'a donc décidé d'automatisé un peu tout ça et de créer un .deb
Simplement voilà, malgrès les tutos que j'ai pu suivre, je n'arrive pas à créer un script capable de tester la présence de librairie (et en cas d'absence d'installation). J'ai bien essayer de forcer l'installation des librairies mais il n'y a rien à faire, elles n'arrivent pas à s'installer... Quelqu'un aurait-il une idée ?
Par la même occasion, j'aimerai que le programme apparraisse dans la liste des application afin de pouvoir l'executer facilement, pouvez-vous m'aidez ?

Merci d'avance

Dernière modification par Elphias (Le 19/11/2014, à 14:09)


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#2 Le 14/11/2014, à 18:56

louis94

Re : Création d'un point .deb [RESOLU]

Bonjour,

Je ne comprends pas trop ce que tu veux pour les bibliothèques : est-ce qu'ajouter des dépendances à ton paquet ne suffit pas ?

Pour ajouter ton application à la liste des programmes, il faut installer un fichier .desktop dans /usr/share/applications/. Inspire-toi d'un fichier déjà présent.

Louis

Hors ligne

#3 Le 14/11/2014, à 19:12

Gaara

Re : Création d'un point .deb [RESOLU]

salut,
tu as un tuto ici pour créer un deb: http://openclassrooms.com/courses/creer-un-paquet-deb


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#4 Le 16/11/2014, à 14:13

Elphias

Re : Création d'un point .deb [RESOLU]

Merci pour vos réponses,
J'ai déjà lu ce tuto, et même j'en ai lu plusieurs, le soucis c'est que là il ne s'agit pas d’exécuter un simple echo. C'est un tout un gros projet que je dois compiler et qui utilise des librairies tels que wxWidgets etc...
Le but est donc que je créer un .deb qui s'occupe de tout : checker la présence des librairies, les installer si besoin, le compile et l'ajoute à la liste des applications de la distribution.
Donc j'ai un script de préinstall ou je fais un apt-get install si la librarie est absente, mais il ne marche pas et j'comprend pas pourquoi.

Pour ce qui du .desktop merci du tuyau je vais regarder ça.


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#5 Le 16/11/2014, à 14:22

Christophe C

Re : Création d'un point .deb [RESOLU]

De mémoire ce n'est pas possible de lancer un apt-get install dans un script de preinstall : il faut en effet que tu tape ton mot de passe, or le .deb n'est pas interactif et le mot de passe d'installation du deb n'est pas récupéré par les scripts qu'il contient.

Essaie avec un dpkg, éventuellement, mais je n'y crois guère.

Je ne connais pas ton problème, mais tu peux simplement copier les fichiers à installer dans le bon répertoire, sans passer par un apt-get. Dans ce cas, tu duplique l'architecture des répertoires système dans ton .deb, et l'installation réplique tout ce qui s'y trouve dans le répertoire correspondant du système. Et là, le mot de passe demandé à l'installation du .deb s'applique.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#6 Le 16/11/2014, à 14:24

jplemoine

Re : Création d'un point .deb [RESOLU]

Vu que tu installes en sudo, je ne pense pas qu'il y ait besoin de mettre un mot de passe.
S'il faut des saisies (mot de passe root pour mysql-server), on peut utiliser un preseed.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#7 Le 16/11/2014, à 14:25

bruno

Re : Création d'un point .deb [RESOLU]

Visiblement tu as mal lu/compris le tuto en question, dès le début sur le fichier debian/control :

Depends : les dépendances de votre programme.

C'est la que tu indiques les dépendances. On ne force pas l'installation de bibliothèques dans un script…

La doc de référence c'est plutôt ici : https://wiki.debian.org/HowToPackageForDebian. Tu peux aussi installer le paquet packaging-tutorial

Hors ligne

#8 Le 16/11/2014, à 14:53

Elphias

Re : Création d'un point .deb [RESOLU]

Ok je vais regarder ça alors

Merci tout le monde wink


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#9 Le 16/11/2014, à 16:02

Elphias

Re : Création d'un point .deb [RESOLU]

"On ne force pas l'installation de bibliothèques dans un script…"
Dans ce cas, est il possible de proposer le téléchargement et l'installation d'une bibliothèque qui est nécessaire à l'installation du .deb ?


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#10 Le 16/11/2014, à 16:10

jplemoine

Re : Création d'un point .deb [RESOLU]

Elphias a écrit :

est il possible de proposer le téléchargement et l'installation d'une bibliothèque qui est nécessaire à l'installation du .deb ?

Je n'ai pas réussi à trouver : je fais donc un apt-get install toto --> il y a des erreurs de dépendance.
Je fais alors un apt-get -f install
Donc, je suis aussi intéressé par la réponse..


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#11 Le 16/11/2014, à 16:53

louis94

Re : Création d'un point .deb [RESOLU]

Comme ce n'est pas de cette manière que les paquets sont prévus pour être utilisés, il n'y a pas moyen de déclarer des dépendances nécessaires au moment de l'installation uniquement.
À mon avis, la meilleure solution à ton problème est de déclarer les libxxx-dev comme dépendances normales. Ils resteront installés tant que ton paquet le sera, mais ça a l'avantage d'être le plus simple.

Louis

Hors ligne

#12 Le 16/11/2014, à 17:09

bruno

Re : Création d'un point .deb [RESOLU]

Elphias a écrit :

"On ne force pas l'installation de bibliothèques dans un script…"
Dans ce cas, est il possible de proposer le téléchargement et l'installation d'une bibliothèque qui est nécessaire à l'installation du .deb ?

Je crois que tu n'as pas compris le fonctionnement des systèmes de gestions des paquet (deb ou rpm c'est similaire). Si un logiciel tartempion a besoin des bibliothèques libtruc en version 2 et libchose en version 3, c'est indiqué dans le paquet tartempion comme dépendance de ce paquet. Autrement dit les paquets libchose-3.xx et libtruc-2.xx seront automatiquement installés s'ils ne le sont pas déjà. Il faut bien sur que les bibliothèques utilisées par tartempion soient fournies (dans la bonne version) par la distribution visée.

Hors ligne

#13 Le 16/11/2014, à 17:32

Elphias

Re : Création d'un point .deb [RESOLU]

Negatif, j'ai inscrit les dépendances nécessaires (avec la bonne syntaxe et tout) et la seule chose que le .deb fait c'est me dire lorsqu'elles ne sont pas présentes, il ne me propose pas de les installer et il ne les installe pas lui même (et j'ai bien vérifié que les bibliothèques étaient dans les dépôts de base etc.)

Dernière modification par Elphias (Le 16/11/2014, à 17:32)


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#14 Le 16/11/2014, à 17:56

Gaara

Re : Création d'un point .deb [RESOLU]

Est-ce que tu as créé un fichier changelog, pour indiquer quelle est la distribution prévue du paquet ?
Exemple du changelog:

machin (0.0.1~ubuntu12.04) precise; urgency=low

   * creation du paquet

-- prenom nom <adresse@internet.fr>  Tue, 6 Nov 2014 09:03:59 +0200

Ne mets pas d'accent dans ce fichier, et dans le control non plus:
Exemple du control:

Source: machin
Maintainer: nom prenom <adresse@internet.fr>
Section: video
Priority: optional
Version: 0.0.1
Package: machin
Architecture: all
Depends: python, python-gtk2, python-vte, python-bs4, mplayer, uni2ascii, wmctrl, ffmpeg, libavcodec-extra-53
Description: ta description

Edit: je met le fichier copyright pour être complet:

Version: 0.0.1
Copyleft: nom prenom - 2014
mail: adresse@internet.fr
Licence: Libre (GPL) (ou autre)

                      Version 3, Juin 2007

Pour l'arborescence:

DEBIAN (tout en maj sinon ça fonctionne pas)
  |_changelog
  |_control
  |_copyright
usr
  |_bin
    machin (lien symbolique vers /usr/share/machin/script)
  |_share
    |_applications
       machin.desktop
    |_doc
       la doc
    |_machin
       tes scripts
    |_icons
       ton icone s'il y a

Enfin, mets tout ça dans un dossier nommé machin (dans le home par exemple) et ouvre un terminal dans le home, puis:

sudo dpkg-deb --build machin

Voilà! smile

Dernière modification par Gaara (Le 16/11/2014, à 18:04)


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#15 Le 17/11/2014, à 18:03

Elphias

Re : Création d'un point .deb [RESOLU]

Merci Gaara pour ta réponse/tuto super clair.
Hélas, marlgré avoir suivi toutes les étapes et toute la structure que tu m'avais indiqué, j'ai un problème lors de l'installation du .deb. Il voit bien les dépendances, il me dit bien qu'elles sont manquantes mais en aucun cas il ne me les télécharge.
"dpkg: dependency problems prevent configuration of machin
   machin depends on g++,however:
    Package g++ is not installed.

dpkg: error processing package machin (--install):
depedency problems - leaving unconfigured
Errors were encountered while processing:
  machin"
Avez-vous déjà rencontré ça ?


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#16 Le 17/11/2014, à 19:08

Gaara

Re : Création d'un point .deb [RESOLU]

Salut,
Non ça ne m'est jamais arrivé vu que mes scripts sont en python. Mais g++ est pour compiler du C++, et j'ai fait une petite recherche, et trouvé ça:
Il faudrait que tu mettes build-essential en dépendance, et non g++


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#17 Le 19/11/2014, à 10:05

Elphias

Re : Création d'un point .deb [RESOLU]

J'ai le même soucis avec build-essential ainsi qu'avec les autres librairies nécessaires (libfuse-dev, wxgtk2.8-dev).
Je vais continuer les recherches, merci pour ton aide wink


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#18 Le 19/11/2014, à 10:11

Elphias

Re : Création d'un point .deb [RESOLU]

J'ai testé l'installation en mode graphique, qui râle aussi et me dit :
"The installation of a package which violates the quality standards isn't allowed. This could cause serious problems on your computer. Please contact the person or organisation who provided this package file and include the details beneath."
Donc il doit y avoir un truc que je fais super mal mais pas moyen de trouver quoi


" Internet c’est avoir toute la sagesse et toute la bassesse du monde au bout des doigts.  " Benoît Gagnon

Elphias / LENOVO Y510P on Debian Wheezy
Core i7 4700MQ - NVIDIA GeForce GT 755M 2Go - 8,00 Go RAM - 1TB 5400rpm + 24GB SSD cache

Hors ligne

#19 Le 19/11/2014, à 10:27

jplemoine

Re : Création d'un point .deb [RESOLU]

il te faut utiliser :

lintian <nom du fichier deb>

Normalement, ça devrait te dire ce qui ne va pas : c'est souvent des problèmes de propriétaire et/ou de droit.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#20 Le 19/11/2014, à 13:44

Christophe C

Re : Création d'un point .deb [RESOLU]

Sinon tu pase par GDEBI pour tester l'installation de ton .deb. Ce logiciel a un onglet lintian, qui donne l'erreur précise.

Puis tu vas sur le site de lintian, tu y copie l'erreur, et tu a un paquet d'explications sur ce que tu a mal fait.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne