Contents
On maintient une copie d'AlternC ici: https://github.com/Koumbit/AlternC
Pour alternC avec PHP-FPM, voir AlternCPhpFpm.
C'est surtout utilisé pour produire des packages quand on a besoin et que upstream est pas assez vite / à jour pour nous. On veut toutefois ne pas trop diverger, puis contribuer les changements upstream.
Développement
Nous avons pour le moment 3 projets dans github pour faire la gestion des patchs vers alternc.
https://github.com/Koumbit/alternc-certificate-provider-letsencrypt (ancien package alternc-certbot)
On garde normalement la branch master en synchronisation avec upstream.
On fait des packages à partir de la branch "pu"
Environnments de dev
https://github.com/LeLutin/alternc-vagrant ou github.com/kienanstewart/alternc-vagrant
- en local avec puppet 4.x
Créer une demande sur AlternC/AlternC
Do it
https://github.com/AlternC/AlternC/issues
Le numéro de demande va être utiliser plus tard pour identifier les branches
Gestion des branches
Branches spéciales:
pu: cette branche agglomère tout les changements proposés
Une fois que "pu" est re-merger vers stable-3.1 (ou le master en cours), on peut supprimer les branches des demandes spécifiques (git push -d origin XXX-short-description
Procèdure de créer un patch
- Clôner le dépôt à partir de la branch master (depuis le 22 juin)
Créer une nouvelle branche de travail: git checkout -b XXX-short-description, ou X est le numéro de demande
- Faire le travail
- Tester en local
Pousser vers notre dépôt: git push origin XXX-short-description
- Ouvrir un pull request sur AlternC/AlternC pour la demande
Merger les patches proposés ensemble
Assurer d'être à jour: git fetch
Se balancer sur la branche "pu": git checkout pu
Mettre à jour cette branche: git merge origin/pu
Merger la patch proposé: git merge origin/XXX-short-description
Pousser vers GitHub: git push origin pu
Tester le package de PU
Tester
Il y a une boîte vagrant pour aider a faire les tests: https://github.com/lelutin/alternc-vagrant
sur un vps avec alternc 3.3.11
On veut installer le package qui est disponible dans les repos "unstable" de Koumbit. Par défaut, sur les vps avec puppet, on a configuré les repos de Koumbit pour aller chercher "stable".
# echo "deb http://debian.koumbit.net/debian unstable main" > /etc/apt/sources.list.d/koumbit_unstable.list
Ensuite, on peut faire la commande suivante pour voir la version du package alternc de disponible.
# apt-cache policy alternc alternc: Installé : 3.3.11 Candidat : 3.3.11 Table de version : *** 3.3.11 390 390 http://debian.alternc.org jessie/main amd64 Packages 100 /var/lib/dpkg/status 3.3.10+0~20180517224408.4~1.gbpcfa43a 1 1 http://debian.koumbit.net/debian unstable/main amd64 Packages 3.2.11 390 390 http://debian.alternc.org wheezy/main amd64 Packages
On veut aller installer une version bien spécifique.
# apt-get install alternc=3.3.10+0~20180517224408.4~1.gbpcfa43a ... Les paquets suivants seront mis à une VERSION INFÉRIEURE : alternc 0 mis à jour, 0 nouvellement installés, 1 remis à une version inférieure, 0 à enlever et 0 non mis à jour.
On doit rouler alternc.install -f pour compléter la mise à jour.
On veut aussi mettre le package sur "hold" pour être sur de voir l'application d'une mise à jour automatique.
# apt-mark hold alternc
Création d'un release
On ne veut pas forcément merger nos releases upstream, donc on garde une branche à part pour les releases présentement
Get all branches:
git fetch origin
Checkout la branche de releases:
git checkout -b koumbit-releases origin/koumbit-releases
Merge les changements de la branche 'pu':
git merge pu
Ajouter une entrée à debian/changelog, en suivant la formulaire établi. Eg.
@TODO
Une fois que les packages sont buildés, copy vers testing et/ou stable:
@TODO