LTS DEV NOTES
Notes - Mainteneur Dolibarr 18 LTS
Préparation
Pour réaliser une release sur la branche de maintenance, on peut s'inspirer de la documentation sur Dolibarr :
https://github.com/Dolibarr/dolibarr/blob/develop/dev/build/makepack-howto.md
Création de la release Dolibarr 18.0.7
Ici nous allons créer la release 18.0.7 à partir du premier commit après la release 18.0.6 (sortie le 13 novembre 2024) :
Préparation du Changelog et de la version de la release
Création du fichier temporaire avec tous les changements qui va servir pour le fichier “Changelog”
# se placer dans le dossier Dolibarr que l'on a cloné depuis le dépôt Git > cd /var/www/html/dolibarr # se placer sur la branche 18.0 (récupéré en upstream) > git checkout 18.0 # mettre à jour la branche > git pull upstream 18.0 # récupérer les tags de la branche upstream afin d'avoir le tag de la dernière release > git fetch upstream --tags # création d'une branche locale pour le travail > git checkout -b 18.0.7_lts # création d'un fichier temporaire pour préparer le Changelog avec les FIX, NEW et SEC # ici on a supprimé la partie 'sed -e "s/^[0-9a-z]* //"' (pas compris à quoi ça sert ?) par rapport au fichier 'makepack-howto.md' qui se trouve sur le lien Github Dolibarr présenté au début de cette documentation # ici on a ajouté les PR concernant les correctifs de sécurité en ajoutant le mot-clé 'SEC' # ici on a enlevé les lignes qui commencent par ' Merge ' pour éviter d'avoir les "Merge pull" et "Merge branch" > git log 18.0.6.. | grep -e 'FIX\|NEW\|SEC' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' | grep -ve "^\s*Merge " > /tmp/changelogtocopy
Ensuite copie le contenu du fichier “/tmp/changelogtocopy” dans le fichier “Changelog” se trouvant à la racine des sources de Dolibarr en y ajoutant les lignes suivantes avant le contenu des changements (FIX, NEW, SEC) au début du fichier :
***** ChangeLog for 18.0.7 compared to 18.0.6 ***** 121 files changed, 1007 insertions(+), 371 deletions(-)
On reformate les lignes des changements si besoin.
Pour connaître le nombre de fichiers changés on peut utiliser la commandes :
> git diff --shortstat 18.0.6
Mettre à jour le numéro de version avec 18.0.7 dans le fichier “htdocs/filefunc.inc.php”
if (!defined('DOL_VERSION')) {
define('DOL_VERSION', '18.0.7'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
}
Et si on est sur une version LTS, on peut ajouter “LTS” dans le titre de l'application Dolibarr :
if (!defined('DOL_APPLICATION_TITLE')) {
define('DOL_APPLICATION_TITLE', 'Dolibarr LTS');
}
Création de la release
Commiter tous ces changements
# ajouter tous les changements > git add . # et les commiter > git commit -m "Prepare 18.0.7"
Lancer la commande “makepack-dolibarr.pl” (utiliser le chemin complet)
# exporter les variables d'environnement (sous Linux) # si vous lancer la commande 'makepack-dolibarr.pl': celle-ci affichera une aide pour exporter ces variables sous Linux ou Windows > export DESTIBETARC='/tmp'; export DESTISTABLE='/tmp'; # lancer la commande en utilisant le chemin complet > /var/www/html/dolibarr/build/makepack-dolibarr.pl # choisir la cible Makepack version 4.0 Building/publishing package name: dolibarr Building/publishing package version: 18.0.7 Source directory (SOURCE): /var/www/html/php74/easya3/dolibarr/build/.. Target directory (DESTI) : /tmp 0 - ALL (1..10) (Need ISCC.exe,rpmbuild,xz,flatpack,tar,rpmbuild,dpkg dpatch,rpmbuild,7z,rpmbuild,tar) 1 - Generate check file 2 - TGZ (Need tar) 3 - ZIP (Need 7z) 4 - RPM_GENERIC (Need rpmbuild) 5 - RPM_FEDORA (Need rpmbuild) 6 - RPM_MANDRIVA (Need rpmbuild) 7 - RPM_OPENSUSE (Need rpmbuild) 8 - DEB (Need dpkg dpatch) 9 - EXEDOLIWAMP (Need ISCC.exe) 10 - SNAPSHOT (Need tar) 98 - ASSO (publish) (Need git ssh rsync) 99 - SF (publish) (Need git ssh rsync) Choose one target number or several separated with space (0 - 99): 0 # note: ici on tape 2 pour ne générer que le TGZ et une fois validé il faut utiliser le code 0 pour générer tous les paquets # et voilà vous pouvez cliquer sur la touche "Entrée" du clavier pour terminer ----- Summary ----- Package TGZ built successfully in /tmp Press key to finish... # le fichier est dans "/tmp/dolibarr-18.0.7.tgz"
Voilà le fichier de la release 18.0.7 vient d'être crée dans le dossier “/tmp” : il faut alors le vérifier en le décompressant et en installant la version 18.0.7 de Dolibarr.
Publication de la release
Envoyer vers le serveur de l'association
Relancer le script “makepack-dolibarr.pl” avec les options de publication sur le serveur de la fondation Dolibarr (ça sera envoyé sur le dir /home/dolibarr/wwwroot/files/stable sur http://www.dolibarr.org/).
DESTIASSOLOGIN='xxxxxxx' /var/www/html/dolibarr/build/makepack-dolibarr.pl
Envoyer vers le serveur sourceforge
Puis Relancer le script “makepack-dolibarr.pl” avec les options pour publier les fichiers sur SourceForge. Ca ajoutera également le tag de la version officielle 18.0.7.
DESTISFLOGIN='xxxxx,dolibarr' /var/www/html/dolibarr/build/makepack-dolibarr.pl
Annoncer la nouvelle version
Poster un nouveau message sur le site “dolibarr.org” en clonant une actualité passée et relayer l'url de cette actualité sur les réseaux sociaux.