Le Jeudi 7 Juillet 2005 15:44, Leif Thande a écrit :
> l'idée est intéressante. À l'aide de codes dans le changelog du genre
> [security-fix] ou [package-maj] , on pourrait ensuite les "parser"
> pour déterminer de quel genre d'update il s'agit. De cette façon, il
> serait possible de faire seulement les mises à jour de sécurité. Je
> rêve peut-être en couleur...

Ajouter ce genre d'informations me semble être une bonne idée. Dans un premier 
temps, il faudrait lister les mot-clés que l'on veut utiliser (security-fix, 
bug-fix, ...). On peut s'inspirer des gestionnaires de paquets existants pour 
cela.

Ensuite, il faut déterminer à quel endroit on place cette information dans le 
nbuild. Perso, j'en vois deux possibles :

- Le fichier « infos «, avec une nouvelle variable NC_RELEASE_PURPOSE qui 
aurait pour valeur un ou plusieurs des mots-clés définis ci-dessus. Par 
exemple : NC_RELEASE_PURPOSE="bug-fix security-fix" ;

- Le fichier « changelog », dans lequel chaque entrée pourrait contenir un ou 
plusieurs des mots-clés définis.

L'avantage de placer cette information dans le fichier changelog est qu'il est 
possible de connaître la raison pour laquelle une nouvelle version du paquet 
à été faite pour chacune de ses releases. Alors que dans le fichier infos, on 
ne peut indiquer cette raison que pour la dernière release du paquet (du 
moins avec la méthode proposée, qui a l'avantage de rester simple).

Pour info, le format du fichier changelog est le suivant :

% 1.0-nga1 Gontran <[EMAIL PROTECTED]> 2005-07-08T09:53:00Z
- First stable version.

% 1.0beta-nga1 Gontran <[EMAIL PROTECTED]> 2005-07-07T14:29:00Z
- First beta version.

Il y a une entrée pour chaque release du paquet, de la plus récente à la moins 
récente. Chacune débute par un entête « % ... », contenant successivement la 
version du paquet à laquelle se rapporte l'entrée, l'auteur de cette release 
avec son email, et la date de création de cette release. Les lignes suivantes 
représentent le contenu du changelog pour cette entrée, jusqu'à la prochaine 
entrée ou la fin du fichier.

la question est maintenant de savoir où on place les nouvelles informations : 
dans l'entête ou dans le corps du texte ? Perso, j'aurai tendance à préférer 
l'entête, mais il faut savoir que le contenu de l'entête est généré par la 
conmande pack au moment où le nbuild est créé. Il s'agit là d'une facilité 
pour le nbuildeur qui, lorsqu'il crée une nouvelle release d'un paquet, doit 
juste ajouter ceci au début du fichier changelog :

%
- la raison de cette nouvelle release

et la commande pack complétera automatiquement l'entête vide comme ceci :

% 1.0-nga2 Gontran <[EMAIL PROTECTED]> 2008-07-08T10:14:00Z
- la raison de cette nouvelle release

lors de la création du nbuild. Elle est capable de retrouver ces informations 
avec ce qui est indiqué dans les fichiers infos et Ncooker.conf.

Mais les raisons de la création d'une nouvelle release ne peuvent pas être 
connues de la commande pack. Il faut que le nbuildeur les indique 
explicitement.
Une possibilité serait que le nbuildeur n'ajoute pas un entête vide au début 
du changelog, mais qu'il y mette ces mot-clés :

% [bug-fix security-fix]
- la raison de cette nouvelle release

et la commande pack compléterait comme ceci :

% 1.0-nga2 Gontran <[EMAIL PROTECTED]> 2008-07-08T10:14:00Z [bug-fix 
security-fix]
- la raison de cette nouvelle release


Voilà, c'est une proposition, dites-moi ce que vous en pensez. Je suis preneur 
d'autres idées ;-)

++
Gontran

Répondre à