2021-08-24 09:45:20 +02:00
---
title: Openstack - Packaging
description: Mettre à jour et uploader les paquets OpenStack dans Debian.
published: true
2021-11-11 10:10:40 +01:00
date: 2021-08-24T12:24:26.099Z
2021-08-24 09:45:20 +02:00
tags:
editor: markdown
dateCreated: 2021-08-24T07:45:17.852Z
---
2021-08-24 10:41:56 +02:00
# Télécharger le paquet
2021-08-24 10:12:47 +02:00
Se rendre dans le dossier `salsa-scripts` :
```bash
cd ~/stuff/salsa-scripts/
```
Se rendre dans le dossier du paquet :
```bash
cd < paquet > /< paquet >
```
Copier les fichiers `test-requirements.txt` et `requirements.txt` :
```bash
2021-08-24 09:45:20 +02:00
cp test-requirements.txt ../ & & cp requirements.txt ../
2021-08-24 10:12:47 +02:00
```
Télécharger les mises du dode upstream :
```bash
2021-08-24 09:45:20 +02:00
./debian/rules fetch-upstream-remote
2021-08-24 10:12:47 +02:00
```
2021-08-24 14:24:26 +02:00
Repérez le dernier tag du paquets (`git tag`) et créez la variable `$TAG`
```bash
export TAG=< tag >
```
2021-08-24 10:12:47 +02:00
Vérifier que le paquet à été mis à jours pour la nouvelle version d'OpenStack (`meta:series: xena`)
```bash
2021-08-24 14:24:26 +02:00
git show $TAG
2021-08-24 10:12:47 +02:00
```
Faire un merge avec le dernier tag :
```bash
2021-08-24 14:24:26 +02:00
git merge -X theirs $TAG
2021-08-24 10:12:47 +02:00
```
Mettre à jour le changelog de Debian et faire un commit :
```bash
2021-08-24 14:24:26 +02:00
dch --newversion $TAG-1 -D experimental -m "New upstream release."
git commit -a -m "Now packaging $TAG (xena)"
2021-08-24 10:12:47 +02:00
```
Mettre à jours les fichiers `copyrigt` et `control` , `changelog` et faire un commit :
```bash
2021-08-24 09:45:20 +02:00
nano debian/copyright >>> (c) 2021 Mickael Asseline < mickael @ papamica . com >
nano debian/control >>> Mickael Asseline < mickael @ papamica . com > ,
dch -r >>> * Added myself in copyright and uploaders.
git commit -a -m "Added myself in copyright and uploaders."
2021-08-24 10:12:47 +02:00
```
Vérifier s'il y a eu des changements dans les dépendances :
```bash
2021-08-24 09:45:20 +02:00
diff -u ../test-requirements.txt test-requirements.txt
diff -u ../requirements.txt requirements.txt
2021-08-24 10:12:47 +02:00
```
2021-08-24 10:43:46 +02:00
> S'il n'y a aucun changement, passer à [Constuire le paquet](#constuire-le-paquet)
2021-08-24 10:41:56 +02:00
{.is-info}
2021-08-24 10:12:47 +02:00
2021-08-24 10:41:56 +02:00
# Mettre à jour le paquet
2021-08-24 10:12:47 +02:00
Vérifier si la version existe avec :
```bash
rmadison < paquet >
```
Ajouter dans nano `debian/control` >>> après `Build-Depends-Indep:` :
```bash
nano debian/control
```
Faire le tri alphabétique dans les fichiers :
```bash
2021-08-24 09:45:20 +02:00
wrap-and-sort -bastk
2021-08-24 10:12:47 +02:00
```
Mettre à jour le `changelog` et faire un commit :
```bash
2021-08-24 09:45:20 +02:00
dch -r >>> * Added < paquet > to build-depends.
2021-08-24 10:12:47 +02:00
git commit -a -m "Added < paquet > to build-depends."
2021-08-24 10:41:56 +02:00
```
2021-08-24 11:23:53 +02:00
# Mettre à jour les fichiers avec upstream
Si vous rencontrez l'erreur suivante :
> **error**: aborting due to unexpected upstream changes
{.is-danger}
Récupérer le nom du fichier dans le log info juste au dessus :
> **info**: local changes detected, the modified files are: `python-sushy-3.11.1/tox.ini`
{.is-info}
Utiliser `mc` (`sudo apt install mc`) dans le dossier parent pour copier le fichier en question dans votre branche :
2021-08-24 11:31:14 +02:00
```bash
2021-08-24 11:23:53 +02:00
cd ..
mc
```
2021-08-24 11:31:14 +02:00
Dans la fenêtre de gauche, rentrez dans l'archive du paquet et allez chercher le fichier en question, dans la fenêtre de droite, rendez vous dans le dossier de votre paquet à l'emplacement du fichier. Pour le copier, cliquez sur `F5` .
2021-08-24 11:23:53 +02:00
2021-08-24 10:41:56 +02:00
# Constuire le paquet
```bash
./debian/rules gen-orig-xz
gbp buildpackage
```
Uploader le paquet :
```bash
git push
git push --tags
```
Construire le paquet avec Jenkins :
https://bullseye-xena.debian.net >>> paquet >>> build