Поиск подходящей версии для Бранча: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
м (источник неправильного написания названия дистрибутива, в т.ч. и в википедии)
 
(не показана 1 промежуточная версия 1 участника)
Строка 7: Строка 7:
И бэкпортировать свежий пакет в бранч не позволяют старые версии пакетов, которые редко или вообще не обновляются в бранче.
И бэкпортировать свежий пакет в бранч не позволяют старые версии пакетов, которые редко или вообще не обновляются в бранче.


Чтобы понять почему это происходит нужно прочесть политику создания бранчей в Altlinux и чем они отличаются от Сизифа.
Чтобы понять почему это происходит нужно прочесть политику создания бранчей в Alt linux и чем они отличаются от Сизифа.


== Процесс ==
== Процесс ==
Строка 16: Строка 16:
=== Тянем с git.alt gear-репозиторий ===
=== Тянем с git.alt gear-репозиторий ===


   $rpmgp -g name_pckg
   $ rpmgp -g name_pckg
   $cd name_pckg
   $ cd name_pckg


=== Ищем тэг или коммит с релизом, который мы пробуем собрать в бранч ===
=== Ищем тэг или коммит с релизом, который мы пробуем собрать в бранч ===


   $git tag
   $ git tag
   или
   или
   $git log
   $ git log


Запоминаем имя нужнго тэга или копируем хеш нужного коммита
Запоминаем имя нужного тэга или копируем хеш нужного коммита


=== Создаём ветку с именем нужной нам версии ===
=== Создаём ветку с именем нужной нам версии ===
Строка 98: Строка 98:
</pre>
</pre>


После чего ждём пиьсмо на почту с результатом.
После чего ждём письмо на почту с результатом.


Если пришло письмо "EPERM" - Значит что задание собралось и отправлено на модерацию к "главному" по бранчу.
Если пришло письмо "EPERM" - Значит что задание собралось и отправлено на модерацию к "главному" по бранчу.
    
    
[[Категория: Бэкпорт ]]
[[Категория: Бэкпорт ]]

Текущая версия от 11:07, 31 мая 2019

 Основная статья и список необходимых пакетов - 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" - Значит что задание собралось и отправлено на модерацию к "главному" по бранчу.