Projet

Général

Profil

Actions

Anomalie #5520

fermé

Substitution LOGDATE de configure.in et problème de build non déterministe

Ajouté par Jérôme Augé il y a environ 11 ans. Mis à jour il y a plus de 10 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
12/05/2015
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:
Non

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.

Actions

Formats disponibles : Atom PDF