2017-07-17 1 views
1

Comment la distribution linux comme Redhat, SLES construit-elle ses RPM. La tâche principale que je veux comprendre est comment leur système de construction identifie-t-il seulement les fichiers changés dans un RPM particulier et incrémente la version de RPM?Comment augmenter automatiquement la version de RPM uniquement si les fichiers sont modifiés

J'ai essayé plusieurs façons d'accomplir cette tâche. 1) J'ai essayé d'utiliser le mécanisme d'indexation où j'ai essayé de suivre tous les fichiers du RPM avec leur md5sum et leur horodatage, puis d'incrémenter la version du RPM si l'une des valeurs du fichier md5sum est modifiée. Mais cette approche n'est pas évolutive. Y at-il un logiciel de construction qui peut être utilisé pour le même?

+2

Pour autant que je sache, la version est maintenue manuellement et un 'changelog' est maintenu – dlmeetei

Répondre

1

Après avoir regardé l'un des fichier de spécification que Redhat maintient, tog-pegasus.spec On observe que

1) version est pas automatiquement incrémentée lorsqu'un correctif est introduit. C'est maintenu manuellement.

2) Toute modification de la base de code est documentée par la directive %changelog .

3) Tout changement est appliqué par patch commande

Peut être, vous pouvez suivre la même chose :)

0

Vous pouvez voir le processus dans Fedora, où les dépôts Git sont publics et contenir tous les commits (pas écrasés entre les versions). Voici un exemple:

dist-git pour Red Hat Enterprise Linux n'est pas que différent, mais vous obtenez seulement les exportations de temps en temps publiques par https://git.centos.org, de sorte que le processus est moins clair de la à l'extérieur.

Et oui, j'aurais aimé qu'il y ait plus d'automatisation ...