SrpmToGitTry: различия между версиями

Материал из ALT Linux Wiki
(Создана новая страница размером == Как собрать пакет на git.alt, если есть srpm или tgz+spec. == Вводная - Вы хотите собр...)
 
Нет описания правки
Строка 12: Строка 12:


Где NAME - выданное при регистрации имя, а ~/.ssh/id_dsa.alt - сгенерированный при регистрации публичный ssh-ключ.
Где NAME - выданное при регистрации имя, а ~/.ssh/id_dsa.alt - сгенерированный при регистрации публичный ssh-ключ.
1a. Далее выполняем:
$ git config --global user.signingkey "user@altlinux.org"
$ git config --global user.email "user@altlinux.org"
$ git config --global user.name "Vasilij Pupkin"
Здесь user@altlinux.org - идентификатор gpg-ключа для подписи, сгенерированный при регистрации, "Vasilij Pupkin" - Ваше имя и фамилия.


2. Создаём каталог, где будет всё происходить (здесь - pakname). Можно использовать текущий каталог разработки (наверное?).
2. Создаём каталог, где будет всё происходить (здесь - pakname). Можно использовать текущий каталог разработки (наверное?).
Строка 31: Строка 38:


Здесь pakname - имя репозитория, выбранное нами ранее.
Здесь pakname - имя репозитория, выбранное нами ранее.
6. Далее выполняем:
$ git config --global user.signingkey "user@altlinux.org"
$ git config --global user.email "user@altlinux.org"
$ git config --global user.name "Vasilij Pupkin"
Здесь user@altlinux.org - идентификатор gpg-ключа для подписи, сгенерированный при регистрации, "Vasilij Pupkin" - Ваше имя и фамилия.


7. Теперь надо подготовить содержимое каталога. '''Я до сих пор не уверен, что делаю всё верно, пусть старшие товарищи опишут здесь возможные правильные варианты.'''
7. Теперь надо подготовить содержимое каталога. '''Я до сих пор не уверен, что делаю всё верно, пусть старшие товарищи опишут здесь возможные правильные варианты.'''
Строка 69: Строка 69:
Если Вы подготовили новую версию пакета, выполните пп. 8-10.
Если Вы подготовили новую версию пакета, выполните пп. 8-10.


Если Вы хотите собрать другой пакет, выполните пп. 2-10. '''Не уверен насчёт п.6, возможно его надо сделать один раз, как п.1.'''
Если Вы хотите собрать другой пакет, выполните пп. 2-10.


'''Хорошо бы сюда вставить ссылки на http://www.altlinux.org/Git.alt/Справочник, http://www.altlinux.org/Git.alt/Краткое_руководство, HASHER и другие полезные вещи.'''
'''Хорошо бы сюда вставить ссылки на http://www.altlinux.org/Git.alt/Справочник, http://www.altlinux.org/Git.alt/Краткое_руководство, HASHER и другие полезные вещи.'''
[[Категория:Git.alt]]
[[Категория:Git.alt]]

Версия от 18:31, 25 мая 2009

Как собрать пакет на git.alt, если есть srpm или tgz+spec.

Вводная - Вы хотите собрать пакет в git.alt, имея отлаженный в hasher srpm-пакет или spec и архив tgz. Что делать? Предполагается, что Вы член AltLinux Team и Вам выданы ssh- и gpg-ключи.

1. В ~/.ssh/config добавляем:

Host git.alt
 HostName git.altlinux.org
 Port 222
 User git_NAME
 IdentityFile ~/.ssh/id_dsa.alt

Где NAME - выданное при регистрации имя, а ~/.ssh/id_dsa.alt - сгенерированный при регистрации публичный ssh-ключ.

1a. Далее выполняем:

$ git config --global user.signingkey "user@altlinux.org"
$ git config --global user.email "user@altlinux.org"
$ git config --global user.name "Vasilij Pupkin"

Здесь user@altlinux.org - идентификатор gpg-ключа для подписи, сгенерированный при регистрации, "Vasilij Pupkin" - Ваше имя и фамилия.

2. Создаём каталог, где будет всё происходить (здесь - pakname). Можно использовать текущий каталог разработки (наверное?).

$ mkdir pakname
$ cd pakname

3. Создаём репозиторий на git.alt - на один пакет (spec) один репозиторий. В данном случае имя репозитория = имя пакета. Наверное, лучше всего всегда так делать.

$ ssh git.alt init-db pakname 

4. Инициализируем git локально:

$ git-init

5. Теперь нужно настроить git. Добавляем в .git/config строки:

[remote "origin"]
      url = git.alt:packages/pakname.git
      fetch = refs/heads/master:refs/heads/master
      push = refs/heads/master:refs/heads/master

Здесь pakname - имя репозитория, выбранное нами ранее.

7. Теперь надо подготовить содержимое каталога. Я до сих пор не уверен, что делаю всё верно, пусть старшие товарищи опишут здесь возможные правильные варианты. Я делал так:

 gear-srpmimport path-to/pakname.srpm

При этом у меня был проверенный заранее в хешере srpm.

8. Добавляем тег к сборке (указываем версию):

$ git tag -s "pakname-version"

Где version - версия собираемого пакета. Обязательно указывать ключ -s, а не -a, т.к. тег должен быть подписан.

9. Отправляем изменения на сервер

$ git push
$ git push --tags

10. Если всё ОК, запрашиваем сборку:

$ ssh git.alt build pakname pakname-version

Здесь pakname - имя репозитория (=имя пакета), а pakname-version - имя тега.

11. Теперь можно посмотреть статус Ваших сборок:

$ ssh git.alt task ls


Если сборка не удалась, Вы обновили исходники и уверены, что уж теперь-то всё получится, выполните пп. 9-10.

$ git push
$ ssh git.alt build pakname pakname-version


Если Вы подготовили новую версию пакета, выполните пп. 8-10.

Если Вы хотите собрать другой пакет, выполните пп. 2-10.

Хорошо бы сюда вставить ссылки на http://www.altlinux.org/Git.alt/Справочник, http://www.altlinux.org/Git.alt/Краткое_руководство, HASHER и другие полезные вещи.