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
