Anomalie #5520
ferméSubstitution LOGDATE de configure.in et problème de build non déterministe
100%
Description
Le `configure.in` indique de substituer la variable `LOGDATE`.
AC_SUBST(LOGDATE) LOGDATE=`(git log -1 || echo 2013) | grep Date |cut -c6-`
Actuellement, seul `CORE_init.php.in` utilise cette variable :
/**
[...]
* @note Build
* @VERSION@-@RELEASE@, @LOGDATE@
[...]
*/
Le problème est que en fonction de la manière, et l'environnement, utilisé pour builder le webinst, le fichier `CORE_init.php` produit sera différent bien que la source soit "identique" : le build n'est pas déterministe.
Par exemple, si je builde le webinst alors que le sous-répertoire `.git` est présent, alors `LOGDATE` sera valué avec la date du dernier commit.
Par contre, si je builde à partir d'un "git archive", alors le répertoire `.git` n'est pas présent et la commande "git log -1" échoue. Dans ce cas, le fallback "echo 2013" est lui aussi inopérant car le "cut -c6-" va le supprimer et on aura alors une valeur vide.
De plus, le format de date retourné par "git log" est dépendant de la configuration de l'utilisateur (e.g. git-config `log.date`).
Si ce `LOGDATE` n'est pas strictement nécessaire, je propose de le supprimer.
Mis à jour par Marc Claverie il y a presque 11 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.20
Mis à jour par Éric Brison il y a plus de 10 ans
Cette date est utilisée pour la documentation produite.
Le module est produit par nous, sur nos dépôt. Normalement nous maîtrisons la chaîne de production.
Tout autre production ne fait pas parti du support.
Mis à jour par Éric Brison il y a plus de 10 ans
Le problème initial est pour la production de patch qui réalise un diff
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de À analyser à Intégré
- % réalisé changé de 0 à 100
Appliqué par commit dynacase-core|commit:aa762f420c37fbeea76662a7cfb80390321fb7bf.