admin:procedures:creer_paquet_chapril
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
admin:procedures:creer_paquet_chapril [2020/08/23 10:29] – créée fpoulain | admin:procedures:creer_paquet_chapril [2020/08/23 13:41] (Version actuelle) – [Ajout du contenu] fpoulain | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
+ | L' | ||
+ | |||
+ | Maintenir un logiciel patché se fait par d' | ||
+ | |||
+ | <note tip>Nous recommandons la lecture du [[https:// | ||
+ | |||
+ | ===== Dépendances de packaging ===== | ||
+ | |||
+ | On installera: | ||
+ | apt install devscripts debhelper debmake dupload | ||
+ | |||
+ | ===== Création du paquet ===== | ||
+ | |||
+ | On va créer un paquet « native » (i.e. qui ne dérive pas d'u packaging existant) '' | ||
+ | <code bash> | ||
+ | mkdir foobar-chapril | ||
+ | cd foobar-chapril | ||
+ | debmake -n | ||
+ | </ | ||
+ | Notez que debmake s' | ||
+ | |||
+ | On obtient: | ||
+ | < | ||
+ | . | ||
+ | └── debian | ||
+ | ├── changelog | ||
+ | ├── compat | ||
+ | ├── control | ||
+ | ├── copyright | ||
+ | ├── README.Debian | ||
+ | ├── rules | ||
+ | ├── source | ||
+ | │ | ||
+ | │ | ||
+ | └── watch | ||
+ | </ | ||
+ | |||
+ | Un des fichiers les plus importants est debian/ | ||
+ | <code conf debian/ | ||
+ | Source: foobar-chapril | ||
+ | Section: admin | ||
+ | Priority: optional | ||
+ | Maintainer: Chapril Administrator Team < | ||
+ | Build-Depends: | ||
+ | Standards-Version: | ||
+ | Homepage: http:// | ||
+ | |||
+ | Package: foobar-chapril | ||
+ | Architecture: | ||
+ | Depends: ${misc: | ||
+ | Description: | ||
+ | This package provide set of disrutiptive solutions to help Chapril admins to | ||
+ | have a ready-to-use software collection. | ||
+ | </ | ||
+ | |||
+ | Il est aussi de bon ton d' | ||
+ | |||
+ | ===== Ajout du contenu ===== | ||
+ | |||
+ | On ajoute le fichier à installer : | ||
+ | mkdir etc/ | ||
+ | touch etc/foobar | ||
+ | |||
+ | Et on [[https:// | ||
+ | <code conf debian/ | ||
+ | etc/* etc/ | ||
+ | </ | ||
+ | |||
+ | ===== Édition du changelog ===== | ||
+ | |||
+ | Plutôt qu' | ||
+ | dch | ||
+ | |||
+ | Le format attendu de changelog ressemble à une succession de blocs avec l' | ||
+ | <code conf debian/ | ||
+ | foobar-chapril (0.1) stable; urgency=low | ||
+ | |||
+ | * Initial release. | ||
+ | |||
+ | -- François Poulain < | ||
+ | </ | ||
+ | |||
+ | On veillera à donner une adresse pour laquelle on peut signer avec GPG. | ||
+ | |||
+ | ===== Build ===== | ||
+ | |||
+ | On build dans le dossier du paquet: | ||
+ | debuild | ||
+ | |||
+ | <note important> | ||
+ | < | ||
+ | Now signing changes and any dsc files... | ||
+ | | ||
+ | gpg: « No Body < | ||
+ | gpg: / | ||
+ | debsign: gpg error occurred! | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Essai en local ==== | ||
+ | |||
+ | Vu la nocivité du paquet on peut l' | ||
+ | < | ||
+ | $ sudo dpkg -i ../ | ||
+ | [sudo] Mot de passe de francois : | ||
+ | Sélection du paquet foobar-chapril précédemment désélectionné. | ||
+ | (Lecture de la base de données... 507123 fichiers et répertoires déjà installés.) | ||
+ | Préparation du dépaquetage de ../ | ||
+ | Dépaquetage de foobar-chapril (0.1) ... | ||
+ | Paramétrage de foobar-chapril (0.1) ... | ||
+ | |||
+ | $ dpkg -S / | ||
+ | foobar-chapril: | ||
+ | |||
+ | $ sudo dpkg -P foobar-chapril | ||
+ | (Lecture de la base de données... 507128 fichiers et répertoires déjà installés.) | ||
+ | Suppression de foobar-chapril (0.1) ... | ||
+ | Purge des fichiers de configuration de foobar-chapril (0.1) ... | ||
+ | </ | ||
+ | |||
+ | ===== Upload sur le dépôt ===== | ||
+ | |||
+ | Pour la première fois il va falloir configurer dupload: | ||
+ | |||
+ | <code perl ~/ | ||
+ | package config; | ||
+ | |||
+ | $cfg{' | ||
+ | fqdn => " | ||
+ | method => " | ||
+ | login => " | ||
+ | incoming => "/ | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | Ensuite on passe par dupload pour l' | ||
+ | dupload --to=chapril ../ | ||
+ | |||
+ | Un cron se charge toutes les 5 minutes d' | ||
+ | |||
+ | ===== Commit dans le git ===== | ||
+ | |||
+ | Avant de commiter on nettoie les fichiers temporaires engendrés par le build : | ||
+ | dh clean |
admin/procedures/creer_paquet_chapril.1598178580.txt.gz · Dernière modification : 2020/08/23 10:29 de fpoulain