Git/start2: различия между версиями

Материал из ALT Linux Wiki
< Git
Нет описания правки
м (Буллшыт, см. devel@)
Строка 38: Строка 38:
Апдейт пакета сделан, пора готовить задание на сборку. Решаем, что в Сизиф собираем ветку sisyphus.
Апдейт пакета сделан, пора готовить задание на сборку. Решаем, что в Сизиф собираем ветку sisyphus.


* Вывод команд не приводися. Если это первая попытка сформировать задание, то будет отказ в доступе. Надо написать LDV.
* Вывод команд не приводися.
  git checkout sisyphus
  git checkout sisyphus
  git tag -s -m "libunrar3-3.8.5-alt1" libunrar3-3.8.5-alt1
  git tag -s -m "libunrar3-3.8.5-alt1" libunrar3-3.8.5-alt1

Версия от 16:34, 24 апреля 2009

(!!В процессе редактирования!!) Пример переноса пакета на git.alt на примере libunrar3. Предполагается, что доступ уже настроен.

  • создаём где-нибудь какой-нибудь каталог, где будут храниться репозитарии, например ~/RPM/GIT и переходим в него.
  • выполняем git clone git.alt:/archive/l/libunrar3. В результате получим репозитарий libunrar3 из хранилища пакетов, которые ещё ни разу не собирались через git.alt
  • переходим в каталог libunrar3. (отдельный момент: в каталоге libunrar3/.git находится вся информация по репозитарию, включая копии файлов дерева исходников; мне понимание этого несколько помогло)
  • git branch - выводит список веток. Сейчас там только sisyphus, так как пакет из git.alt:/archive
  • создаём репозитарий на git.alt:
ssh git.alt init-db libunrar3
  • репозитарий в git.alt:/archive больше не пригодится. Удаляем его из настроек git и добавляем вместо него только что созданный:
git remote rm  origin
git remote add origin ssh://git.alt/people/asy/packages/libunrar3.git
  • git branch master - создаём ветку master.
  • в принципе, уже можно перенести репозитарий на git.alt:
git push --all
  • можно попробовать собрать пакет:
gear-rpm -ba libunrar3.spec

Больше, в общем-то, делать нечего, так как это пакет той же версии, что и в Sisyphus. Теперь сделаем обновление. В случае libunrar3 работаем c тарболом.

  • переключаемся, допстим, на ветку master
git checkout master
  • находясь в ~/RPM/GIT/libunrar3, выполняем (каталог внутри unrarsrc не совпадает с названием тарбола):
gear-update ../unrarsrc-3.8.5.tar.gz unrar
  • удаляем некоторые ненужные файлы:
git rm unrar-3.5.3_fix.patch
  • добавляем некоторые нужные файлы:
git add unrar-3.8.5_fix.patch
  • правим что надо, spec в частности, после чего коммитим изменения:
git commit -a -m "New version"
  • выполняя поочерёдно git checkout master и git checkout sisyphus, можно наблюдать, как меняются местами два дерева исходников.
  • После проверок можно смержить sisyphus c master
git checkout sisyphus
git merge master
  • синхронизируем git.alt с локальным репозитарием:
git push --all

Апдейт пакета сделан, пора готовить задание на сборку. Решаем, что в Сизиф собираем ветку sisyphus.

  • Вывод команд не приводися.
git checkout sisyphus
git tag -s -m "libunrar3-3.8.5-alt1" libunrar3-3.8.5-alt1
ssh git.alt build packages/libunrar3 libunrar3-3.8.5-alt1

Ну вот, очередная версия пакета собрана в Sisyphus через git.alt. Если, конечно, там ошибок не получится.