| Действия | Команды | Результат в gitk --all |
| Создание репозитария | $ mkdir ser2net $ cd ser2net $ git init-db | |
| Создание и сохранение в бранче master файла .gear/rules, описывающего правила построения srpm | $ mkdir .gear $ cat > .gear/rules << EOF > copy: *.init > tar: ser2net > EOF $ git add . $ git commit -m 'Initial commit' | ![]() |
| Создание дополнительных бранчей | $ git branch upstream $ git branch srpm $ git branch srpm-4.0 | |
| Загрузка исходного кода в бранч upstream | $ git checkout upstream $ cp /download/ser2net-2.3.tar.gz . $ tar -zxf ser2net-2.3.tar.gz $ rm -f ser2net-2.3.tar.gz $ mv ser2net-2.3 ser2net $ git add . $ git commit -m 'Upstream initial commit' $ git tag ser2net-2.3 | ![]() |
| Создание спека и инитскрипта в бранче srpm | $ git checkout srpm $ vim ser2net.init $ vim ser2net.spec $ git add . $ git commit -m 'Initial spec and initscript' | ![]() |
| Объединение бранчей srpm и upstream, правка спека, создание пакета для Sisyphus | $ git checkout srpm $ git merge ser2net-2.3 $ vim ser2net.spec # меняем release $ add_changelog ser2net.spec $ vim ser2net.spec # пишем changelog $ gear --commit --hasher — hsh # тестируем $ git commit -a -m 'First build for Sisyphus' $ git tag srpm-ser2net-2.3 $ gear --rpmbuild — rpm -bs --sign --nodeps $ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.3-alt1.src.rpm devel:/incoming/Sisyphus/ | ![]() |
| Объединение бранчей srpm-4.0 и srpm, правка спека, создание пакета для branch/4.0 | $ git checkout srpm-4.0 $ git merge srpm-ser2net-2.3 $ vim ser2net.spec # меняем release $ add_changelog ser2net.spec $ vim ser2net.spec # пишем changelog $ gear --commit --hasher — hsh # тестируем $ git commit -a -m 'Backport to branch/4.0' $ git tag srpm-4.0-ser2net-2.3 $ gear --rpmbuild — rpm -bs --sign --nodeps $ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.3-alt0.M40.src.rpm devel:/incoming/updates/4.0/ | ![]() |
| Обновление исходного кода из апстрима | $ git checkout upstream $ gear-update /download/ser2net-2.4.tar.gz ser2net $ git commit -a -m 'Upstream update' $ git tag ser2net-2.4 | ![]() |
| Объединение бранчей srpm и upstream, правка спека, создание новой версии пакета для Sisyphus | $ git checkout srpm $ git merge ser2net-2.4 $ vim ser2net.spec # меняем release $ add_changelog ser2net.spec $ vim ser2net.spec # пишем changelog $ gear --commit --hasher — hsh # тестируем $ git commit -a -m 'new version' $ git tag srpm-ser2net-2.4 $ gear --rpmbuild — rpm -bs --sign --nodeps $ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.4-alt1.src.rpm devel:/incoming/Sisyphus/ | ![]() |
| Объединение бранчей srpm и upstream, правка спека, создание новой версии пакета для branch/4.0 | $ git checkout srpm-4.0 $ git merge srpm-ser2net-2.4 $ vim ser2net.spec # меняем release $ add_changelog ser2net.spec $ vim ser2net.spec # пишем changelog $ gear --commit --hasher — hsh # тестируем $ git commit -a -m 'new backport to branch/4.0' $ git tag srpm-4.0-ser2net-2.4 $ gear --rpmbuild — rpm -bs --sign --nodeps $ rsync -va --partial --stats --delete-after -e ssh /RPM/SRPMS/ser2net-2.4-alt0.M40.src.rpm devel:/incoming/updates/4.0/ | ![]() |