|
|
(не показано 27 промежуточных версий 4 участников) |
Строка 1: |
Строка 1: |
| [[Категория:Sisyphus]] | | [[Категория:Sisyphus]] |
| [[Категория:Devel]] | | [[Категория:Devel]] |
| [[Категория:Справочник]] | | [[Категория:Справочники]] |
| {{Stub}} | | {{Historical}} |
| __TOC__
| |
| <tt>incoming</tt> — это сервер Sisyphus, выполняющий несколько функций:
| |
| * Приём пакетов для последующего помещения их в репозитории (Sisyphus, Daedalus, backports, updates)
| |
| * Управление ACL пакетов
| |
| * Обновление SSH и PGP-ключей майнтайнеров
| |
| | |
| == Доступ к <tt>incoming</tt> == | | == Доступ к <tt>incoming</tt> == |
|
| |
|
| <tt>incoming</tt> доступен по rsync через SSH. Доступ выдаётся при [[Join|принятии]] в ALT Linux Team. | | <tt>incoming</tt> доступен по rsync через SSH. Доступ выдавался при [[Join|принятии]] в ALT Linux Team. После введения в строй сборки через [[git.alt]] больше не выдаётся. |
|
| |
|
| Адрес <tt>incoming</tt> — <tt>devel.altlinux.org</tt>. Аккаунт для доступа — <tt>in_USERNAME</tt>, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_». | | Адрес <tt>incoming</tt> — <tt>gyle.altlinux.org</tt>, порт ssh - 222. Аккаунт для доступа — <tt>in_USERNAME</tt>, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_». |
|
| |
|
| Пример <tt>~/.ssh/config</tt><ref>Можно добавить ещё <tt>Compression no</tt>, так как пакеты — большая часть пересылаемых данных — уже сжата.</ref>: | | Пример <tt>~/.ssh/config</tt><ref>Можно добавить ещё <tt>Compression no</tt>, так как пакеты — большая часть пересылаемых данных — уже сжата.</ref>: |
| Host incoming | | Host incoming |
| Hostname devel.altlinux.org | | Hostname gyle.altlinux.org |
| User in_USERNAME | | User in_USERNAME |
| | | Port 222 |
| Для работы [[fsi:SSHFirewall|из-за прокси]] и в других сложных условиях SSH на <tt>incoming</tt> также доступен по адресу <tt>devel.altlinux.org:443</tt>.
| |
|
| |
|
| == Выкладывание пакетов == | | == Выкладывание пакетов == |
|
| |
|
| В <tt>incoming</tt> имеется несколько директорий, выложенные в которые пакеты будут забраны скриптами, обработаны, проверены и выложены в репозиторий.
| |
| ;/incoming/Sisyphus
| |
| : Пакеты для Сизифа
| |
| ;/incoming/Daedalus
| |
| : Пакеты для Дедала
| |
| ;/incoming/updates/X.Y
| |
| : Пакеты для updates соответствующей ветки
| |
| ;/incoming/backports/X.Y
| |
| : Пакеты для [[Backports]] соответствующей ветки
| |
|
| |
|
| Для отправки пакета в <tt>incoming</tt> достаточно переложить его rsync’ом в соответствующую директорию: | | Для отправки пакета в <tt>incoming</tt> достаточно переложить его rsync’ом в сборочную. Пакет должен быть предварительно подписан PGP-ключом. |
|
| |
|
| $ rsync blah-0.0-alt0.src.rpm incoming:/incoming/Sisyphus/ | | $ rsync pkg-0.0-alt0.src.rpm incoming: |
| $ | | $ |
|
| |
|
| Пакеты, отправляемые в Сизиф, Дедал и updates проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается. | | После этого надо создать сборочное задание при помощи ssh-интерфейса: |
| | | ssh incoming build pkg-0.0-alt0.src.rpm |
| В случае, когда выкладываемый пакет создаёт ''UNMETS'' — нарушенную целостность репозитория по зависимостям — он может быть задержан в incoming до тех пор, пока в нём не наберётся достаточное количество новых/пересобранных пакетов, чтобы целостность репозитория не пострадала.
| | |
| | Пакеты, отправляемые в Сизиф и его [[branches|ветки]], проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается. |
|
| |
|
| Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку [https://lists.altlinux.org/mailman/listinfo/sisyphus-cybertalk sisyphus-cybertalk@] (для Sisyphus и Daedalus) или [https://lists.altlinux.org/mailman/listinfo/updates-cybertalk updates-cybertalk@] (для updates).
| |
|
| |
|
| Пакеты, отправляемые в Backports, проверяются и пересобираются вручную поддерживающим Backports.
| | Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку [https://lists.altlinux.org/mailman/listinfo/sisyphus-cybertalk sisyphus-cybertalk@] (для Sisyphus) или [https://lists.altlinux.org/mailman/listinfo/updates-cybertalk updates-cybertalk@] (для updates). |
|
| |
|
| == ACL == | | == ACL == |
|
| |
|
| С каждым пакетом в Сизифе связан ACL — список пользователей, которые могут залить пакет в <tt>incoming</tt> и список пользователей, которые могут залить пакет как [[NMU]].
| | Когда-то [[ACL]] на пакеты управлялся через Incoming. Теперь вместо этого используется SSH-интерфейс [[git.alt]]. |
| | |
| Текущие списки ACL размещаются по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/:
| |
| ; list.src.classic
| |
| : Список пользователей, которым разрешена нормальная заливка каждого из пакетов
| |
| ; list.nmu
| |
| : Список пользователей, которым разрешён NMU на заливку указанных пакетов и unixtime, когда было выдано разрешение
| |
| | |
| По умолчанию (после первого прохождения <tt>incoming</tt> свежесобранным пакетом) ACL устанавливается в «разрешено только майнтейнеру».
| |
| | |
| Первый пользователь в списке list.src.classic являетя ''лидером'' пакета и может менять его ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета.
| |
| | |
| Кроме пользователей в списке могут быть ''группы''.
| |
| | |
| === Группы ===
| |
| | |
| Группа — это набор пользователей, обычно вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.
| |
| | |
| Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/groups.
| |
| | |
| Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] и указания названия группы и перечисления начального состава группы.
| |
| | |
| Изменяется состав группы её лидером — первым в списке членов группы.
| |
| | |
| ==== @nobody ====
| |
| | |
| @nobody — специальная группа. После удаления всех пользователей из ACL пакета, пакет помечается как принадлежащий @nobody. Любой пользователь может залить пакет, принадлежащий @nobody — при этом пакет становится принадлежащим этому пользователю.
| |
| | |
| ==== @everybody ====
| |
| | |
| @everybody — специальная группа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.
| |
| | |
| === Изменение ACL ===
| |
| | |
| Управление ACL пакетов и составом групп производится при помощи размещения файлов «записок» в <tt>incoming</tt>. Это средство применяется для передачи майнтейнерства или расширения доступа, выдачи NMU или объявления пакета неподдерживаемым. Не осуществляемые с помощью этого автомата действия — это создание/уничтожение группы и перенос пакетов в obsolete и orphaned, для их совершения надо писать письма на [mailto:incoming@altlinux.org incoming].
| |
| | |
| «Записки» лежат в <tt>incoming</tt> в директории /incoming/notes/Sisyphus/. Каждая записка — это файл с именем майнтайнера.
| |
| | |
| Для помещения своей записки в <tt>incoming</tt> достаточно
| |
| | |
| rsync --inplace<ref>Создание новых файлов в этой директории запрещено, поэтому ключ --inplace необходим</ref> USERNAME incoming:/incoming/notes/Sisyphus/
| |
| | |
| Записки обрабатываются раз в час, поэтому быстро переписывать старую записку новой рискованно — предыдущая команда может потеряться. Вместо этого стоит ''добавлять'' новые записи в файл в дополнение к недавно отправленным.
| |
| | |
| Справочник по всем возможным командам в «записках» находится [http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/acl.txt здесь].
| |
|
| |
|
| == Управление ключами == | | == Управление ключами == |
|
| |
|
| TODO
| | Для обновления ssh- или PGP-ключа его нужно скопировать в директорию <tt>/incoming/join/</tt> и написать письмо на [mailto:incoming@altlinux.org incoming]. |
|
| |
|
| == Логи работы <tt>incominger</tt> == | | == Логи работы <tt>incominger</tt> == |
|
Архивная информация. Описываемые в этой статье вещи больше не используются и оставлены только для обратной совместимости.
|
Доступ к incoming
incoming доступен по rsync через SSH. Доступ выдавался при принятии в ALT Linux Team. После введения в строй сборки через git.alt больше не выдаётся.
Адрес incoming — gyle.altlinux.org, порт ssh - 222. Аккаунт для доступа — in_USERNAME, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_».
Пример ~/.ssh/config[1]:
Host incoming
Hostname gyle.altlinux.org
User in_USERNAME
Port 222
Выкладывание пакетов
Для отправки пакета в incoming достаточно переложить его rsync’ом в сборочную. Пакет должен быть предварительно подписан PGP-ключом.
$ rsync pkg-0.0-alt0.src.rpm incoming:
$
После этого надо создать сборочное задание при помощи ssh-интерфейса:
ssh incoming build pkg-0.0-alt0.src.rpm
Пакеты, отправляемые в Сизиф и его ветки, проходят пересборку в hasher и проверку с помощью sisyphus_check. В случае ошибок сборки или проверки пакет отвергается.
Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку sisyphus-cybertalk@ (для Sisyphus) или updates-cybertalk@ (для updates).
ACL
Когда-то ACL на пакеты управлялся через Incoming. Теперь вместо этого используется SSH-интерфейс git.alt.
Управление ключами
Для обновления ssh- или PGP-ключа его нужно скопировать в директорию /incoming/join/ и написать письмо на incoming.
Логи работы incominger
Логи работы incominger — комплекса скриптов, реализующих функциональность incoming — располагаются здесь: http://ftp.altlinux.org/pub/people/incominger/logs/
Примечания
- ↑ Можно добавить ещё Compression no, так как пакеты — большая часть пересылаемых данных — уже сжата.