Git.alt/Путь пакета в сизиф: различия между версиями
< Git.alt
(→Вариант второй: быстрый и "правильный".: Попытка сделать внятную инструкцию) |
Ulysses (обсуждение | вклад) м (Исправлена опечатка, обновлена на актуальную команда для добавления удаленного репозитория) |
||
(не показано 19 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Неоконченные страницы]] | [[Категория:Неоконченные страницы]] | ||
[[Категория:Git.alt]] | [[Категория:Git.alt]] | ||
[[Категория:Руководства]] | |||
Дано: | Дано: | ||
# Имеем самосборный guake-0.4.0-alt0.2.src.rpm | # Имеем самосборный подписанный guake-0.4.0-alt0.2.src.rpm | ||
# Умеем собирать в ~/RPM | # Умеем собирать в ~/RPM | ||
# Умеем собирать в hasher | # Умеем собирать в hasher | ||
Строка 13: | Строка 14: | ||
Как можно быстрее протолкнуть пакет в сизиф. | Как можно быстрее протолкнуть пакет в сизиф. | ||
== Вариант первый: быстрый и маргинальный | == Предварительно == | ||
; [[Справочник по git.alt#SSH-доступ|Cконфигурируем ssh]] | |||
$ cat .ssh/config | |||
UseRoaming no | |||
# Управление git | |||
Host git.alt | |||
HostName gitery.altlinux.org | |||
Port 222 | |||
User alt_USERNAME | |||
# girar - сборочница gear | |||
Host girar | |||
HostName gyle.altlinux.org | |||
Port 222 | |||
User alt_USERNAME | |||
== Вариант первый: быстрый и маргинальный == | |||
: Как можно быстрее протолкнуть пакет в сизиф. | |||
$ rsync -vP guake-0.4.0-alt0.2.src.rpm | $ rsync -vP guake-0.4.0-alt0.2.src.rpm girar: | ||
$ ssh | $ ssh girar build srpm guake-0.4.0-alt0.2.src.rpm | ||
Всё! | Всё! | ||
== Вариант второй: быстрый и "правильный" | == Вариант второй: быстрый и "правильный" == | ||
Начинаем: [[Git.alt/Краткое руководство]] | Начинаем: [[Git.alt/Краткое руководство]] | ||
==== Cоздадим новый репозиторий ==== | |||
Cоздадим новый | Cоздадим новый репозиторий на gitery.altlinux.org: | ||
arc@arc-laptop ~ $ ssh | arc@arc-laptop ~ $ ssh git.alt init-db guake | ||
girar-init-db: /people/arc/packages/guake.git | girar-init-db: /people/arc/packages/guake.git | ||
Создадим пустой локальный | Создадим пустой локальный репозиторий: | ||
arc@arc-laptop ~ $ mkdir -p ~arc/Documents/ALTLinux/devel | arc@arc-laptop ~ $ mkdir -p ~arc/Documents/ALTLinux/devel/quake | ||
arc@arc-laptop ~ $ cd ~arc/Documents/ALTLinux/devel | arc@arc-laptop ~ $ cd ~arc/Documents/ALTLinux/devel/quake | ||
arc@arc-laptop ~/Documents/ALTLinux/devel $ | arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ | ||
arc@arc-laptop ~/Documents/ALTLinux/devel $ git init | arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ git init | ||
Initialized empty Git repository in /home/arc/Documents/ALTLinux/devel/.git/ | Initialized empty Git repository in /home/arc/Documents/ALTLinux/devel/quake/.git/ | ||
Связываем с | Связываем локальный репозиторий с репозиторием на gitery.altlinux.org: | ||
git remote add origin gitery | git remote add origin gitery:packages/guake.git | ||
==== Добавляем нужное содержимое и коммитим ==== | |||
Простейший вариант - есть чистые исходники. | |||
: Добавляем исходники в локальный репозиторий: | |||
$ cp -r ~/src/quake/* ./ | |||
$ git add . | |||
: Коммитим: | |||
$ git commit -m "Upstream at `date +%F`" | |||
: Ставим подписанный тэг с версией: | |||
$ git tag -s -m "0.4.0-alt0.2" 0.4.0-alt0.2 | |||
Тут есть тонкости с расположением файлов, .gear/rules и пр. | |||
Другой вариант - когда уже собран SRPM. | |||
: Сначала импортируем SRPM: | |||
$ gear-srpmimport quake-0.4.0-alt0.2.src.rpm | |||
: Затем подписываем: | |||
$ gear-create-tag -f | $ gear-create-tag -f | ||
: Если в gnupg по умолчанию стоит другой ключ, указываем нужный в опции «-u» (список своих ключей смотрим командой {{cmd|gpg -K}}): | |||
$ gear-create-tag -fu FAF2CACE | |||
: Пример: | |||
arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ gear-create-tag -f | |||
arc@arc-laptop ~/Documents/ALTLinux/devel/ | |||
Необходим пароль для доступа к секретному ключу пользователя: | Необходим пароль для доступа к секретному ключу пользователя: | ||
"Anton A. Vinogradov (for altlinux.org) <arc@altlinux.org>" | "Anton A. Vinogradov (for altlinux.org) <arc@altlinux.org>" | ||
1024-бит DSA ключ, ID FAF2CACE, создан 2009-12-27 | 1024-бит DSA ключ, ID FAF2CACE, создан 2009-12-27 | ||
==== Отправляем содержимое локального git на gitery.altlinux.org ==== | |||
Команда: {{cmd|git push origin master}} | |||
: Пример: | |||
arc@arc-netbook ALTLinux/devel/quake $ git push origin master | |||
arc@arc-netbook ALTLinux/devel/ | |||
Counting objects: 207, done. | Counting objects: 207, done. | ||
Delta compression using up to 2 threads. | Delta compression using up to 2 threads. | ||
Строка 100: | Строка 98: | ||
Repacking repository... done | Repacking repository... done | ||
Updating committer date cache... done | Updating committer date cache... done | ||
To ssh:// | To ssh://git.alt/people/arc/packages/quake.git | ||
6e1f660..d90e600 master -> master | 6e1f660..d90e600 master -> master | ||
Отправляем tag локального git на | ==== Отправляем tag локального git на gitery.alt ==== | ||
Команда: {{cmd|git push --tags}} или {{cmd|git push origin master --tags}} | |||
arc@arc-netbook ALTLinux/devel/ | : Пример: | ||
arc@arc-netbook ALTLinux/devel/quake $ git push --tags | |||
Counting objects: 10, done. | Counting objects: 10, done. | ||
Delta compression using up to 2 threads. | Delta compression using up to 2 threads. | ||
Строка 111: | Строка 111: | ||
Writing objects: 100% (6/6), 1.14 KiB, done. | Writing objects: 100% (6/6), 1.14 KiB, done. | ||
Total 6 (delta 2), reused 0 (delta 0) | Total 6 (delta 2), reused 0 (delta 0) | ||
girar-sendmail: email notification about `refs/tags/0. | girar-sendmail: email notification about `refs/tags/0.4.0-alt0.2' update sent. | ||
Repacking repository... done | Repacking repository... done | ||
Updating committer date cache... done | Updating committer date cache... done | ||
To ssh:// | To ssh://git.alt/people/arc/packages/quake.git | ||
* [new tag] 0. | * [new tag] 0.4.0-alt0.2 -> 0.4.0-alt0.2 | ||
Если где-то ошиблись и нужно "передвинуть" тэг: | |||
git tag -f -s -m "Move 0.4.0-alt0.2" 0.4.0-alt0.2 | |||
git push -f --tags | |||
Запускаем сборку | ==== Запускаем сборку ==== | ||
Команда: {{cmd|ssh girar build packages/имя-пакета.git версия}} | |||
arc@arc-netbook ALTLinux/devel/ | : Пример: | ||
arc@arc-netbook ALTLinux/devel/quake $ ssh girar build packages/quake.git 0.4.0-alt0.2 | |||
new task #22846: owner=arc repo=sisyphus | new task #22846: owner=arc repo=sisyphus | ||
task #22846: added #1: build tag 0. | task #22846: added #1: build tag 0.4.0-alt0.2 from /people/arc/packages/quake.git | ||
task #22846: queued, result will be emailed to arc@altlinux.org | task #22846: queued, result will be emailed to arc@altlinux.org | ||
Результат смотрим в почте и на странице http://git.altlinux.org/tasks/22846 |
Текущая версия от 10:11, 19 ноября 2024
Дано:
- Имеем самосборный подписанный guake-0.4.0-alt0.2.src.rpm
- Умеем собирать в ~/RPM
- Умеем собирать в hasher
- Имеем смутное представление что такое git
- Понятия не имеем, что такое gear
- Не имеем времени "сражаться с этим в воображении"
Надо: Как можно быстрее протолкнуть пакет в сизиф.
Предварительно
$ cat .ssh/config UseRoaming no # Управление git Host git.alt HostName gitery.altlinux.org Port 222 User alt_USERNAME # girar - сборочница gear Host girar HostName gyle.altlinux.org Port 222 User alt_USERNAME
Вариант первый: быстрый и маргинальный
- Как можно быстрее протолкнуть пакет в сизиф.
$ rsync -vP guake-0.4.0-alt0.2.src.rpm girar: $ ssh girar build srpm guake-0.4.0-alt0.2.src.rpm
Всё!
Вариант второй: быстрый и "правильный"
Начинаем: Git.alt/Краткое руководство
Cоздадим новый репозиторий
Cоздадим новый репозиторий на gitery.altlinux.org:
arc@arc-laptop ~ $ ssh git.alt init-db guake girar-init-db: /people/arc/packages/guake.git
Создадим пустой локальный репозиторий:
arc@arc-laptop ~ $ mkdir -p ~arc/Documents/ALTLinux/devel/quake arc@arc-laptop ~ $ cd ~arc/Documents/ALTLinux/devel/quake arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ git init Initialized empty Git repository in /home/arc/Documents/ALTLinux/devel/quake/.git/
Связываем локальный репозиторий с репозиторием на gitery.altlinux.org:
git remote add origin gitery:packages/guake.git
Добавляем нужное содержимое и коммитим
Простейший вариант - есть чистые исходники.
- Добавляем исходники в локальный репозиторий:
$ cp -r ~/src/quake/* ./ $ git add .
- Коммитим:
$ git commit -m "Upstream at `date +%F`"
- Ставим подписанный тэг с версией:
$ git tag -s -m "0.4.0-alt0.2" 0.4.0-alt0.2
Тут есть тонкости с расположением файлов, .gear/rules и пр.
Другой вариант - когда уже собран SRPM.
- Сначала импортируем SRPM:
$ gear-srpmimport quake-0.4.0-alt0.2.src.rpm
- Затем подписываем:
$ gear-create-tag -f
- Если в gnupg по умолчанию стоит другой ключ, указываем нужный в опции «-u» (список своих ключей смотрим командой gpg -K):
$ gear-create-tag -fu FAF2CACE
- Пример:
arc@arc-laptop ~/Documents/ALTLinux/devel/quake $ gear-create-tag -f Необходим пароль для доступа к секретному ключу пользователя: "Anton A. Vinogradov (for altlinux.org) <arc@altlinux.org>" 1024-бит DSA ключ, ID FAF2CACE, создан 2009-12-27
Отправляем содержимое локального git на gitery.altlinux.org
Команда: git push origin master
- Пример:
arc@arc-netbook ALTLinux/devel/quake $ git push origin master Counting objects: 207, done. Delta compression using up to 2 threads. Compressing objects: 100% (109/109), done. Writing objects: 100% (115/115), 67.51 KiB, done. Total 115 (delta 84), reused 0 (delta 0) girar-sendmail: email notification about `refs/heads/master' update sent. Repacking repository... done Updating committer date cache... done To ssh://git.alt/people/arc/packages/quake.git 6e1f660..d90e600 master -> master
Отправляем tag локального git на gitery.alt
Команда: git push --tags или git push origin master --tags
- Пример:
arc@arc-netbook ALTLinux/devel/quake $ git push --tags Counting objects: 10, done. Delta compression using up to 2 threads. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 1.14 KiB, done. Total 6 (delta 2), reused 0 (delta 0) girar-sendmail: email notification about `refs/tags/0.4.0-alt0.2' update sent. Repacking repository... done Updating committer date cache... done To ssh://git.alt/people/arc/packages/quake.git * [new tag] 0.4.0-alt0.2 -> 0.4.0-alt0.2
Если где-то ошиблись и нужно "передвинуть" тэг:
git tag -f -s -m "Move 0.4.0-alt0.2" 0.4.0-alt0.2 git push -f --tags
Запускаем сборку
Команда: ssh girar build packages/имя-пакета.git версия
- Пример:
arc@arc-netbook ALTLinux/devel/quake $ ssh girar build packages/quake.git 0.4.0-alt0.2 new task #22846: owner=arc repo=sisyphus task #22846: added #1: build tag 0.4.0-alt0.2 from /people/arc/packages/quake.git task #22846: queued, result will be emailed to arc@altlinux.org
Результат смотрим в почте и на странице http://git.altlinux.org/tasks/22846