Girar/girar-nmu: различия между версиями

Материал из ALT Linux Wiki
Строка 44: Строка 44:


=== утилиты для проведения NMU. ===
=== утилиты для проведения NMU. ===
Эти утилиты принимают либо список путей к файлам, либо список %{NAME} src.rpm файлов.
Для удобства утилита {{cmd|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-sort-transaction ====

Версия от 20:24, 21 ноября 2010


Знакомство с утилитами girar-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).

Пример:

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 comit.

утилиты для проведения 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

girar-nmu-task-add

girar-nmu-task-for-each

Использование 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`