FreeSource : AltLinux/Sisyphus/devel/gear/geartags

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Использование .gear-tags


Цель использования gear-tags – получить в .src.rpm-е тарбол оригинальных сырцов + кумулятивный патч наших изменений.

Структура репозитория должна быть примерно такой:
master и upstream связаны следующим образом: когда-то, сразу после прикладывания патчей (версия нашего проекта foo совпадает в master и upstream) для создания общего base, в бранче master был выполнен


В дальнейшем, при обновлении версии, производится


При этом все наши интегрированные патчи, спек, sources – сохраняются. Если возникает конфликт, git об этом напишет, остаётся лишь устранить его.

Для реализации поставленной задачи необходимо несколько вникнуть в применение директив файла .gear-rules, и соответствующим образом его модифицировать. Найти информацию можно в заголовке /usr/bin/gear или в man-странице gear-rules(5)
Итак, нам необходимо, чтобы в тарбол помещалось оригинальное дерево исходников:


В данном случае мы говорим, что tar-файл необходимо завернуть директорию foo, которая должна быть взята из тага v@version@. Так же можно использовать не таг, а непосредственно идентификатор коммита (sha1 хэш)
@version@ – это тот Version, что прописан в спеке.

Теперь нужно сделать кумулятивный diff:

Здесь тоже всё просто – делается diff между директорией foo тага v@version@ и директорий foo из текущего бранча (master). Имя diff-а по умолчанию %name-%version-%release.patch.

Осталось сформировать список тагов, с которыми должен работать gear. Для этого предназначена специальная утилита gear-update-tag(1)


И не забыть закоммитить:


Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/gear
AltLinux/Sisyphus/devel/git