Git.alt/Путь пакета в сизиф
Дано:
- Имеем самосборный guake-0.4.0-alt0.2.src.rpm
- Умеем собирать в ~/RPM
- Умеем собирать в hasher
- Имеем смутное представление что такое git
- Понятия не имеем, что такое gear
- Не имеем времени "сражаться с этим в воображении"
Надо: Как можно быстрее протолкнуть пакет в сизиф.
Вариант первый: быстрый и маргинальный.
> Как можно быстрее протолкнуть пакет в сизиф.
$ rsync -vP guake-0.4.0-alt0.2.src.rpm git.alt: $ ssh git.alt build srpm guake-0.4.0-alt0.2.src.rpm
Всё!
Вариант второй: быстрый и "правильный".
Начинаем: Git.alt/Краткое руководство
"Создать свой репозиторий на git.alt очень просто"
Создал. Зачем мне test? А как удалить?
ладно. пусть будет.
создадим то, что надо
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 arc@arc-laptop ~ $ cd ~arc/Documents/ALTLinux/devel arc@arc-laptop ~/Documents/ALTLinux/devel $ arc@arc-laptop ~/Documents/ALTLinux/devel $ git init Initialized empty Git repository in /home/arc/Documents/ALTLinux/devel/.git/
"Закоммитить в него нужное содержимое"
Ок. Но в примере ОДИН файл. Если весь каталог, то "*"? -- нет, "." (если текущий, либо же по имени).
Да и что мне заряжать в git для сборки пакета? Скелет RPM?
> "Закоммитить в него нужное содержимое"
> > Ок. Но в примере ОДИН файл. Если весь каталог то "*"?
gear-srpmimport guake-0.4.0-alt0.2.src.rpm
Я знал, что вё должно быть на раз-два! Вот оно! Отсталость выяснить в каком месте тут будет "подпись"
> Отсталость выяснить в каком месте тут будет "подпись"
Тут - ни в каком.
$ gear-create-tag -f
> gear-create-tag -f
ОК. Успешно подписало.
arc@arc-laptop ~/Documents/ALTLinux/devel/squeak/squeak-sources $ gear-create-tag -f Необходим пароль для доступа к секретному ключу пользователя: "Anton A. Vinogradov (for altlinux.org) <arc@altlinux.org>" 1024-бит DSA ключ, ID FAF2CACE, создан 2009-12-27
arc@arc-laptop ~/Documents/ALTLinux/devel/squeak/squeak-sources $
Как я понял это аналогично:
$ git tag -s -m "test-0.1-alt1" test-0.1-alt1 $ git push origin --tags
gear-create-tag никакого push не делает, только git tag. См. тж. gear-upload(1).
Отправляем содержимое локального git на git.alt
arc@arc-netbook ALTLinux/devel/psi-plus $ git push 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/psi-plus.git 6e1f660..d90e600 master -> master
Отправляем tag локального git на git.alt
arc@arc-netbook ALTLinux/devel/psi-plus $ 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.15-alt1.r2102' update sent. Repacking repository... done Updating committer date cache... done To ssh://git.alt/people/arc/packages/psi-plus.git * [new tag] 0.15-alt1.r2102 -> 0.15-alt1.r2102
Запускаем сборку
arc@arc-netbook ALTLinux/devel/psi-plus $ ssh git.alt build packages/psi-plus.git 0.15-alt1.r2102 new task #22846: owner=arc repo=sisyphus task #22846: added #1: build tag 0.15-alt1.r2102 from /people/arc/packages/psi-plus.git task #22846: queued, result will be emailed to arc@altlinux.org