Git/start2: различия между версиями
< Git
Asy (обсуждение | вклад) Нет описания правки |
м (Буллшыт, см. devel@) |
||
Строка 38: | Строка 38: | ||
Апдейт пакета сделан, пора готовить задание на сборку. Решаем, что в Сизиф собираем ветку sisyphus. | Апдейт пакета сделан, пора готовить задание на сборку. Решаем, что в Сизиф собираем ветку sisyphus. | ||
* Вывод команд не приводися | * Вывод команд не приводися. | ||
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. Если, конечно, там ошибок не получится.