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

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


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


1.  В ~/.ssh/config добавляем:
1.  В ~/.ssh/config добавляем (внимание: из git выделили gitery, см. [[Git.alt/Справочник#SSH-доступ]]):


  Host git.alt
  Host git.alt
Строка 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). Можно использовать текущий каталог разработки (наверное?).
Строка 21: Строка 28:


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


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


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


Здесь 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. Теперь надо подготовить содержимое каталога. '''Я до сих пор не уверен, что делаю всё верно, пусть старшие товарищи опишут здесь возможные правильные варианты.'''
Строка 44: Строка 41:
При этом у меня был проверенный заранее в хешере srpm.
При этом у меня был проверенный заранее в хешере srpm.


8. Добавляем тег к сборке (указываем версию):
8. Добавляем тег к сборке:
  $ git tag -s "pakname-version"
  $ gear-create-tag
 
Где version - версия собираемого пакета. Обязательно указывать ключ -s, а не -a, т.к. тег должен быть подписан.


9. Отправляем изменения на сервер
9. Отправляем изменения на сервер
Строка 67: Строка 62:




Если Вы подготовили новую версию пакета, выполните пп. 8-10.
Если Вы подготовили новую версию пакета, новые изменения надо сначала закоммитить:
  $git commit -a
 
Затем выполните пп. 8-10, указав новый тег версии, который должен быть больше старой версии. Не забудьте внести изменения в spec-файл.
Теги старой версии (до commit) не наследуются, поэтому сначала убедитесь, что все изменения внесены, сделайте commit  и только потом создавайте тег.


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


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

Версия от 07:35, 31 мая 2019

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

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

1. В ~/.ssh/config добавляем (внимание: из git выделили gitery, см. Git.alt/Справочник#SSH-доступ):

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 remote add origin git.alt:packages/pakname.git

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

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

 gear-srpmimport path-to/pakname.srpm

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

8. Добавляем тег к сборке:

$ gear-create-tag

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


Если Вы подготовили новую версию пакета, новые изменения надо сначала закоммитить:

 $git commit -a

Затем выполните пп. 8-10, указав новый тег версии, который должен быть больше старой версии. Не забудьте внести изменения в spec-файл. Теги старой версии (до commit) не наследуются, поэтому сначала убедитесь, что все изменения внесены, сделайте commit и только потом создавайте тег.

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

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