Girar/girar-nmu: различия между версиями
Нет описания правки |
|||
Строка 5: | Строка 5: | ||
== Знакомство с утилитами girar-nmu == | == Знакомство с утилитами girar-nmu == | ||
утилиты предназначены для проведения NMU. | |||
=== утилиты общего назначения. === | === утилиты общего назначения. === | ||
Строка 43: | Строка 45: | ||
последний build commit. | последний build commit. | ||
=== утилиты для | === утилиты для подготовки NMU. === | ||
Эти утилиты принимают либо список путей к файлам, либо список %{NAME} src.rpm файлов. | Эти утилиты принимают либо список путей к файлам, либо список %{NAME} src.rpm файлов. | ||
Строка 58: | Строка 60: | ||
==== girar-nmu-local-build ==== | ==== girar-nmu-local-build ==== | ||
=== утилиты для заливки NMU пакетов на сборку. === | |||
Опции: | |||
* {{cmd|-t task ID}}. | |||
* {{cmd|-H git.alt alias}}. По умолчанию, {{cmd|git.alt}}. | |||
==== girar-nmu-task-add ==== | ==== girar-nmu-task-add ==== | ||
girar-nmu-task-add [-t taskid] `cat names.txt` | |||
Добавляет пакеты, подготовленные с помощью {{cmd|girar-nmu-prepare}}, на сборку в указанный task. | |||
Полученный task надо запустить на сборку вручную с помощью | |||
ssh git.alt task run | |||
==== girar-nmu-task-for-each ==== | ==== girar-nmu-task-for-each ==== | ||
girar-nmu-task-for-each `cat names.txt` | |||
В отличие от {{cmd|girar-nmu-task-add}} | |||
запускает на сборку пакеты автоматически каждый пакет в отдельной task. | |||
== Использование girar-nmu utils на примере обновления perl == | == Использование girar-nmu utils на примере обновления perl == |
Версия от 23:51, 21 ноября 2010
Знакомство с утилитами girar-nmu
утилиты предназначены для проведения NMU.
утилиты общего назначения.
Опции:
- -b rpm репозиторий, например, -b 5.1. По умолчанию sisyphus.
- -d локальная ветвь git. Позволяет менять имя используемой локальной ветви git
для тех команд, гд это имеет смысл.
girar-get-upload-method <name>
Позволяет быстро узнать, как нужно заливать указанный пакет: через src.rpm или через git tag в git/gear репозитории.
Примеры:
$ girar-get-upload-method xmms srpm
$ girar-get-upload-method -b p5 hplip git
girar-fetch-build-commit
Удобна, когда на ваш пакет сделан NMU и чужой NMU commit нужно втянуть в ваш репозиторий. По умолчанию, за имя локальной ветки берется имя rpm репозитория (sisyphus или значение опции -b).
Пример:
hplip.git $ girar-fetch-build-commit From git://git.altlinux.org/gears/h/hplip 1359385..1970106 sisyphus -> sisyphus
girar-clone-build-commit <name>
Клонирует репозиторий для name с git://git.altlinux.org/gears/, Устанавливает локальную ветвь git (по умолчанию master) на последний build commit.
утилиты для подготовки NMU.
Эти утилиты принимают либо список путей к файлам, либо список %{NAME} src.rpm файлов. Для удобства утилита girar-nmu-helper-name2path позволяет преобразовать список имен в список путей к файлам.
girar-nmu-helper-name2path /path/to/files/SRPMS `cat names.txt` > files.txt
Обратное преобразование можно выполнить так:
rpmquery --queryformat '%{NAME}\n' -p `cat files.txt`
girar-nmu-sort-transaction
girar-nmu-prepare
girar-nmu-local-build
утилиты для заливки NMU пакетов на сборку.
Опции:
- -t task ID.
- -H git.alt alias. По умолчанию, git.alt.
girar-nmu-task-add
girar-nmu-task-add [-t taskid] `cat names.txt`
Добавляет пакеты, подготовленные с помощью girar-nmu-prepare, на сборку в указанный task. Полученный task надо запустить на сборку вручную с помощью
ssh git.alt task run
girar-nmu-task-for-each
girar-nmu-task-for-each `cat names.txt`
В отличие от girar-nmu-task-add запускает на сборку пакеты автоматически каждый пакет в отдельной task.
Использование girar-nmu utils на примере обновления perl
План будет следующий: I. Получаем список пакетов, сортируем транзакцию. II. Готовим новые версии. III. Добавляем в task.
cd /var/ftp/pub/Linux/ALT girar-nmu-helper-sort-transaction --mark '^libperl\.so\.5\.' \ /Sisyphus/files/SRPMS /Sisyphus/files/noarch/RPMS /Sisyphus/files/i586/RPMS \ > names
girar-nmu-helper-name2path /Sisyphus/files/SRPMS `cat names` > files girar-nmu-prepare --changelog '- rebuild with new perl' --hook ./perl_510_upgrade.pl `cat files`