2014-06-24 21:39:24 +02:00
# Les paquets Debian YunoHost
2014-06-24 19:42:48 +02:00
## Architecture
2014-06-24 21:48:19 +02:00
Les paquets YunoHost se trouvent sur la machine yunohost.org dans le répertoire `/home/yunohost/packages.git` .
2014-06-24 19:42:48 +02:00
2016-01-30 22:00:44 +01:00
Le système de build est basé sur debuild et pbuilder. Le fonctionnement de cet ensemble est de générer un chroot qui va embarquer l’ ensemble des dépendances et des outils de build Debian.
2014-06-24 19:42:48 +02:00
2016-03-30 14:32:52 +02:00
La configuration de cet environnement est définie dans le fichier `/etc/pbuilder/megusta-amd64` et permet de construire les paquets sans architecture spécifique.
2014-06-24 19:42:48 +02:00
2014-06-24 22:00:55 +02:00
< div class = "alert alert-info" >
2016-03-30 14:32:52 +02:00
**Attention :** il n’ est pas conseillé d’ être en root pour exécuter les actions suivantes (sauf celles précédées de `sudo` )
2014-06-24 22:00:55 +02:00
< / div >
2015-05-20 22:23:58 +02:00
## Mise à jour d’ un paquet
2014-06-24 19:42:48 +02:00
2014-06-24 22:00:55 +02:00
< br >
#### Paquets avec sources externes
2016-03-30 14:32:52 +02:00
Pour les paquets basés sur des sources GitHub (moulinette, moulinette-yunohost, ssowat, et yunohost-admin), il faut d’ abord récupérer les dernières modifications :
2014-06-24 19:42:48 +02:00
```bash
2014-06-24 21:39:24 +02:00
[yunohost@yunohost] ~/packages.git/moulinette $ cd src
2014-06-24 21:48:19 +02:00
[yunohost@yunohost] ~/packages.git/moulinette/src $ git pull
2014-06-24 19:42:48 +02:00
```
2016-03-30 14:32:52 +02:00
Puis lancer la commande de build du paquet (**attention : vous devez la lancer à la racine du répertoire du paquet**)
2014-06-24 19:42:48 +02:00
```bash
2014-06-24 21:48:19 +02:00
[yunohost@yunohost] ~/packages.git/moulinette/src $ cd ..
[yunohost@yunohost] ~/packages.git/moulinette $ commit-and-build "Message de commit"
```
2014-06-24 22:00:55 +02:00
---
#### Paquets de configuration
2016-03-30 14:32:52 +02:00
Pour mettre à jour un paquet yunohost-config-* il faut se rendre dans le répertoire, faire les modifications voulues sur le paquet (typiquement modifier un script `debian/postinst` ), puis lancer la même commande que pour les paquets avec source :
2014-06-24 21:48:19 +02:00
```bash
[yunohost@yunohost] ~/packages.git/yunohost-config-nginx $ commit-and-build "Message de commit"
2014-06-24 19:42:48 +02:00
```
2014-06-24 21:52:05 +02:00
La commande de build va mettre à jour le fichier changelog Debian (`debian/changelog`) et lancer la création du paquet. Une fois le paquet créé il est automatiquement ajouté dans le dépôt `test` .
2014-06-24 19:42:48 +02:00
2014-06-24 22:00:55 +02:00
---
#### Mettre à jour en production
2016-03-30 14:32:52 +02:00
Pour ajouter le paquet dans le dépôt de `megusta` (stable), il vous faudra exécuter la commande :
2014-06-24 19:42:48 +02:00
```bash
2014-06-24 21:52:05 +02:00
[yunohost@yunohost] ~/packages.git/monpaquet $ commit-and-build "Message de commit" production
2014-06-24 19:42:48 +02:00
```
2014-06-24 21:52:05 +02:00
Une fois les modifications effectuées, vous pouvez exécuter `git push` pour envoyer les modifications sur GitHub.
2014-06-24 19:42:48 +02:00
## Ajout manuel de paquets dans un dépôt
2016-01-30 22:00:44 +01:00
Il est possible d’ ajouter directement des paquets Debian dans le dépôt, c’ est le cas notamment pour les paquets nodejs.
2014-06-24 19:42:48 +02:00
```bash
2017-06-22 15:46:03 +02:00
sudo reprepro -Vb /var/www/repo.yunohost.org/ -C < composant > includedeb < nom_du_dépôt > nom_du_paquet.deb
2014-06-24 19:42:48 +02:00
```
2017-06-22 15:46:03 +02:00
- `<nom_du_dépôt>` peut être `jessie` .
- `<composant>` peut être `stable` ou `testing` .
2014-06-24 22:00:55 +02:00
2014-07-02 20:22:56 +02:00
## Supprimer un paquet d’ un dépôt
2014-06-24 19:42:48 +02:00
2016-01-30 22:00:44 +01:00
Il est possible de supprimer des paquets Debian dans un dépôt, par exemple pour vider l’ ensemble des paquets du dépôt test.
2014-06-24 19:42:48 +02:00
```bash
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb nom_du_dépôt nom_du_paquet
```
2014-06-24 21:39:24 +02:00
## TODO
Modifier le script commit-build pour récupérer les messages de commit git et générer le changelog Debian avec la commande `git-dch` .
2014-06-24 19:42:48 +02:00