Comment créer un package .deb d'un programme.sh (ensemble de scripts) en bash

Fermé
Utilisateur anonyme - 6 déc. 2019 à 09:20
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 3 janv. 2020 à 02:13
Bonjour,

je m'explique, je suis entrain de développer un script "couteau suisse" qui permet de réaliser un ensemble de tâche d'admin sur linux. Le problème c'est que je ne sais pas comment packager un ensemble de sous dossier contenant des scripts d'appel.

J'ai déjà réussi avec build essential à packager simplement le fichier main.sh, mais pas le reste du projet ce qui, avouez le est bien contraignant.

ex :

projet
-- main.sh
---- source.d
--------- script1.sh
---------- script2.sh
....

Je vous remercie de votre aide par avance
A voir également:

4 réponses

mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
6 déc. 2019 à 10:49
Bonjour,

Il suffit de regarder la documentation ou un tutoriel, par exemple celui-ci.

Bonne chance
0
Merci, mais j’ai regardé la doc et ça n’explique pas ce que je veux faire de manière précis.
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
27 déc. 2019 à 16:31
Bonjour,

Pardon pour la réponse tardive, tu peux regarder ce tutoriel qui est plus détaillé.

Bonne chance
0
Salut, j’étais déjà tombé sur ce tuto, il explique la démarche à suivre pour un seul fichier .sh alors que dans le cadre d’un projet perso, j’ai un ensemble de fichier .sh avec des sous dossier, voilà le problème lol
0
Utilisateur anonyme
28 déc. 2019 à 07:08
Salut merci de ta rep, je vais voir mon côté si j'y arrive
Bonnes fêtes de fin d'année :)
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
Modifié le 3 janv. 2020 à 02:15
Bonjour,

En fait ce qu'il faut bien comprendre, c'est que ce qui est à la racine du paquet (hormis
DEBIAN/
) est décompressé dans le répertoire
/
du système sur lequel le paquet est installé. Donc, il faut au moment de générer ton paquet construire cette arborescence.

Dans cet exemple, seul un fichier est donc déployé (
/usr/bin/myecho
), ce qui explique pourquoi à la racine du paquet tu as un répertoire
DEBIAN/
(qui contient les méta données du paquets) et un répertoire
usr/
(qui sera décompressé dans
/usr
). Si tu avais pour ce script mettons une image, l'endroit "logique" serait de la mettre par exemple dans
/usr/share/images/myecho/foo.jpg
. Si tu avais en plus un fichier de configuration, un chemin logique serait
/etc/myecho/myecho.conf
. Si enfin tu avais un autre script, il serait logique de le mettre dans
/usr/bin/myecho2.sh
Ton paquet suivrait donc la hiérarchie suivante :


-->myecho/
--->DEBIAN/
----->control (fichier décrivant les informations relatives à notre paquet)
----->postinst (script exécuté après l'installation du paquet)
----->postrm (script exécuté après la désinstallation du paquet)
--->etc/
----->myecho
------->myecho.conf

--->usr/
----->bin/
------->myecho (notre script, exposé ci-dessus)
----->share/
------->images/
--------->myecho
----------->foo.jpg

------->doc/
--------->README (informations relatives à l'utilisation de myecho)
--------->copyright
--------->changelog (changements apportés par rapport à la dernière version)
--------->changelog.Debian (idem, mais seulement pour le paquet Debian)


Les chemins "logiques" dont je parle sont la conséquence de la FHS.

Bonne chance
0