Поиск подходящей версии для Бранча: различия между версиями
Sb (обсуждение | вклад) м (источник неправильного написания названия дистрибутива, в т.ч. и в википедии) |
|||
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
Основная статья и список необходимых пакетов - [[ Gear + Hasher ]] | |||
== Преамбула == | == Преамбула == | ||
Строка 5: | Строка 7: | ||
И бэкпортировать свежий пакет в бранч не позволяют старые версии пакетов, которые редко или вообще не обновляются в бранче. | И бэкпортировать свежий пакет в бранч не позволяют старые версии пакетов, которые редко или вообще не обновляются в бранче. | ||
Чтобы понять почему это происходит нужно прочесть политику создания бранчей в | Чтобы понять почему это происходит нужно прочесть политику создания бранчей в Alt linux и чем они отличаются от Сизифа. | ||
== Процесс == | == Процесс == | ||
Строка 14: | Строка 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 | ||
Запоминаем имя | Запоминаем имя нужного тэга или копируем хеш нужного коммита | ||
=== Создаём ветку с именем нужной нам версии === | === Создаём ветку с именем нужной нам версии === | ||
Строка 34: | Строка 36: | ||
=== Пробуем бэкпортировать и получаем ошибку === | === Пробуем бэкпортировать и получаем ошибку === | ||
''' ВНИМАНИЕ ''' : Для наглядности процесса далее все примеры будут приведены для бранча p7 | |||
<pre> | <pre> | ||
Строка 40: | Строка 43: | ||
error: pathspec 'p7' did not match any file(s) known to git. | 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. | Error in rpmbph: Can't checkout branch p7. Use FULLPATH_TO_WORK_DIR/packagename.spec.p7 manually or remove it. | ||
</pre> | |||
Меняем старый спек на только что сгенерированный | |||
<pre> | |||
$ mv Packagename.spec.p7 Packagename.spec | |||
$ rm Packagename.spec.p7 | |||
</pre> | |||
Комментируем и создаём ветку p№ вручную | |||
<pre> | |||
$ git commit Packagename.spec -m "initial p7 branch build" | |||
$ git checkout -b p7 | |||
</pre> | </pre> | ||
=== Работаем в ветке p№ === | === Работаем в ветке p№ === | ||
Проверяем что находимся в нужной ветке и пробуем собрать | |||
<pre> | |||
$ git status | |||
On branch p7 | |||
nothing to commit, working directory clean | |||
$rpmbsh | |||
</pre> | |||
Если не получилось - работаем над ошибками. | |||
Все изменения теперь будем сохранять в ветку p7. | |||
Если стало ясно что и данная версия слишком нова для бранча, то удаляем данную ветку p№ и возвращаемся к пункту : [https://www.altlinux.org/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D1%8F%D1%89%D0%B5%D0%B9_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%91%D1%80%D0%B0%D0%BD%D1%87%D0%B0#.D0.98.D1.89.D0.B5.D0.BC_.D1.82.D1.8D.D0.B3_.D0.B8.D0.BB.D0.B8_.D0.BA.D0.BE.D0.BC.D0.BC.D0.B8.D1.82_.D1.81_.D1.80.D0.B5.D0.BB.D0.B8.D0.B7.D0.BE.D0.BC.2C_.D0.BA.D0.BE.D1.82.D0.BE.D1.80.D1.8B.D0.B9_.D0.BC.D1.8B_.D0.BF.D1.80.D0.BE.D0.B1.D1.83.D0.B5.D0.BC_.D1.81.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D1.8C_.D0.B2_.D0.B1.D1.80.D0.B0.D0.BD.D1.87 Ищем тэг или коммит с релизом, который мы пробуем собрать в бранч ] | |||
Идея в том что при выполнении команды '''$ rpmbph -b p№''' у Вас не должно быть уже существующей ветки '''p№''' | |||
Поэтому если Вы считаете что нужно сохранить результат Вашей работы, то нужно отпочковаться от ветки p№ и удалить саму ветку p№ | |||
<pre> | |||
$ git checkout -b p7_backup | |||
$ git checkout -D p7 | |||
</pre> | |||
=== Отправка в Сизиф === | === Отправка в Сизиф === | ||
Строка 58: | Строка 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" - Значит что задание собралось и отправлено на модерацию к "главному" по бранчу.