Где поставить последний git commit id в rpm
Я хотел бы добавить последний "git commit id" к моим RPM, чтобы иметь надежный способ отслеживать источники, используемые для сборки пакета.
Я мог бы использовать тег rpm release
, но он уже используется для номеров релизов и дат в случае моментальных снимков. Я не хочу перегружать это еще больше.
Существует ли другой тег или механизм для хранения последнего commit-id в rpm?
1 ответ:
Я не знаю ничего в формате спецификации, специально разработанном для этого, но я вижу несколько вариантов:
- используйте тег
version
- Вы упомянули тег
release
в своем вопросе, но это относится к версии пакета , а не к версии программного обеспечения. Ревизия Git гораздо больше похожа на версию программного обеспечения,чем на версию пакета.- для стабильных релизов вы все еще можете использовать числовые теги, такие как
1.0
, Если хотите, но я бы посоветовал вам убедиться, что это соответствует тегу Git с тем же именем, поэтому ваша версия всегда будет иметь значение для Git.- Это означает, что вы, вероятно, также должны использовать тег
serial
, чтобы RPM мог выяснить, как заказать версии. (Это может быть не нужно, если вы метите правильно и используете метод ниже для определения вашей версии.)- это будет включать ревизию в имя вашего пакета или, по крайней мере, в имя файла, и это звучит так, как будто вы этого не хотите.
- назовите свое имя. исходный архив с хэшем Git, а затем используйте тег
url
, напримерhttp://example.com/software/software-abcd123.zip
.
- вам не нужно будет включать ревизию в имя файла пакета, используя этот метод.
В первом случае (и, возможно, во втором), возможно, стоит использовать
git describe
чтобы определить номер версии git-aware, например$ git describe HEAD 1.0.0-3-gabcd123 '-.-' | |'--.--' | | | `---- Short Git hash | | `-------- Indicates that a Git hash follows | `---------- Three commits ahead of the previous tag name `-------------- The name of the base tag
Обратите внимание, что ваш RPM
version
не может содержать дефисов, поэтому эту версию, возможно, придется переписать на что-то вроде1.0.0_3_gabcd123
.