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

Utilisateur anonyme -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -
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

4 réponses

mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Bonjour,

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

Bonne chance
0
Techenherbe
 
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 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Bonjour,

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

Bonne chance
0
Techenherb
 
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
 
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 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
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