Поиск подходящей версии для Бранча
Основная статья и список необходимых пакетов - Gear + Hasher
Преамбула
Бывает такая ситуация что в Сизифе слишком свежий пакет, а в бранче слишком старый.
И бэкпортировать свежий пакет в бранч не позволяют старые версии пакетов, которые редко или вообще не обновляются в бранче.
Чтобы понять почему это происходит нужно прочесть политику создания бранчей в Alt linux и чем они отличаются от Сизифа.
Процесс
!!! Подобрать пакет для примера !!!
Тянем с git.alt gear-репозиторий
$ rpmgp -g name_pckg $ cd name_pckg
Ищем тэг или коммит с релизом, который мы пробуем собрать в бранч
$ git tag или $ git log
Запоминаем имя нужного тэга или копируем хеш нужного коммита
Создаём ветку с именем нужной нам версии
$git checkout -b Name_release имя_тэга или $git checkout -b Name_release хеш_коммита
Нас должно автоматически переключить в новую ветку
Пробуем бэкпортировать и получаем ошибку
ВНИМАНИЕ : Для наглядности процесса далее все примеры будут приведены для бранча p7
$ rpmbph -b p7 error: pathspec 'p7' did not match any file(s) known to git. Error in rpmbph: Can't checkout branch p7. Use FULLPATH_TO_WORK_DIR/packagename.spec.p7 manually or remove it.
Меняем старый спек на только что сгенерированный
$ mv Packagename.spec.p7 Packagename.spec $ rm Packagename.spec.p7
Комментируем и создаём ветку p№ вручную
$ git commit Packagename.spec -m "initial p7 branch build" $ git checkout -b p7
Работаем в ветке p№
Проверяем что находимся в нужной ветке и пробуем собрать
$ git status On branch p7 nothing to commit, working directory clean $rpmbsh
Если не получилось - работаем над ошибками.
Все изменения теперь будем сохранять в ветку p7.
Если стало ясно что и данная версия слишком нова для бранча, то удаляем данную ветку p№ и возвращаемся к пункту : Ищем тэг или коммит с релизом, который мы пробуем собрать в бранч
Идея в том что при выполнении команды $ rpmbph -b p№ у Вас не должно быть уже существующей ветки p№
Поэтому если Вы считаете что нужно сохранить результат Вашей работы, то нужно отпочковаться от ветки p№ и удалить саму ветку p№
$ git checkout -b p7_backup $ git checkout -D p7
Отправка в Сизиф
Проверяем что находимся в ветке p7 :
$ git status On branch p7 nothing to commit, working directory clean
И отправляем в Сизиф на сборку:
$ rpmbs git.alt -u
После чего ждём письмо на почту с результатом.
Если пришло письмо "EPERM" - Значит что задание собралось и отправлено на модерацию к "главному" по бранчу.