Incoming/справочник: различия между версиями

Материал из ALT Linux Wiki
(Ссылки)
Нет описания правки
Строка 1: Строка 1:
[[Категория:Sisyphus]]
[[Категория:Devel]]
{{Stub}}
{{Stub}}
[[Категория:Sisyphus]]
__TOC__
__TOC__
<tt>incoming</tt> — это сервер Sisyphus, выполняющий несколько функций:
<tt>incoming</tt> — это сервер Sisyphus, выполняющий несколько функций:
Строка 32: Строка 33:
: Пакеты для [[Backports]] соответствующей ветки
: Пакеты для [[Backports]] соответствующей ветки


Для отправки пакета в <tt>incoming</tt> достаточно переложить его rsync'ом в соответствующую директорию:
Для отправки пакета в <tt>incoming</tt> достаточно переложить его rsync’ом в соответствующую директорию:


  $ rsync blah-0.0-alt0.src.rpm incoming:/incoming/Sisyphus/
  $ rsync blah-0.0-alt0.src.rpm incoming:/incoming/Sisyphus/
Строка 38: Строка 39:


Пакеты, отправляемые в Сизиф, Дедал и updates проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается.
Пакеты, отправляемые в Сизиф, Дедал и updates проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается.
В случае, когда выкладываемый пакет создаёт ''UNMETS'' — нарушенную целостность репозитория по зависимостям — он может быть задержан в incoming до тех пор, пока в нём не наберётся достаточное количетсво новых/пересобранных пакетов, чтобы целостность репозитория не пострадала.


Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку [https://lists.altlinux.org/mailman/listinfo/sisyphus-cybertalk sisyphus-cybertalk@] (для Sisyphus и Daedalus) или [https://lists.altlinux.org/mailman/listinfo/updates-cybertalk updates-cybertalk@] (для updates).
Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку [https://lists.altlinux.org/mailman/listinfo/sisyphus-cybertalk sisyphus-cybertalk@] (для Sisyphus и Daedalus) или [https://lists.altlinux.org/mailman/listinfo/updates-cybertalk updates-cybertalk@] (для updates).
Строка 45: Строка 48:
== ACL ==
== ACL ==


С каждым пакетом в Сизифе связан ACL - список пользователей, которые могут залить пакет в <tt>incoming</tt> и список пользователей, которые могут залить пакет как [[NMU]].
С каждым пакетом в Сизифе связан ACL — список пользователей, которые могут залить пакет в <tt>incoming</tt> и список пользователей, которые могут залить пакет как [[NMU]].


Текущие списки ACL размещаются по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/:
Текущие списки ACL размещаются по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/:
Строка 53: Строка 56:
: Список пользователей, которым разрешён NMU на заливку указанных пакетов и unixtime, когда было выдано разрешение
: Список пользователей, которым разрешён NMU на заливку указанных пакетов и unixtime, когда было выдано разрешение


По умолчанию (после первого прохождения <tt>incoming</tt> свежесобранным пакетом) ACL устанавливается в "разрешено только майнтейнеру".
По умолчанию (после первого прохождения <tt>incoming</tt> свежесобранным пакетом) ACL устанавливается в «разрешено только майнтейнеру».


Первый пользователь в списке list.src.classic являетя ''лидером'' пакета и может менять его ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета.
Первый пользователь в списке list.src.classic являетя ''лидером'' пакета и может менять его ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета.
Строка 61: Строка 64:
=== Группы ===
=== Группы ===


Группа - это набор пользователей, обычно вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.
Группа — это набор пользователей, обычно вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.


Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/groups.
Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/groups.
Строка 67: Строка 70:
Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] и указания названия группы и перечисления начального состава группы.
Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] и указания названия группы и перечисления начального состава группы.


Изменяется состав группы её лидером - первым в списке членов группы.
Изменяется состав группы её лидером — первым в списке членов группы.


==== @nobody ====
==== @nobody ====


@nobody - специальная группа. После удаления всех пользователей из ACL пакета, пакет помечается как принадлежащий @nobody. Любой пользователь может залить пакет, принадлежащий @nobody - при этом пакет становится принадлежащим этому пользователю.
@nobody — специальная группа. После удаления всех пользователей из ACL пакета, пакет помечается как принадлежащий @nobody. Любой пользователь может залить пакет, принадлежащий @nobody — при этом пакет становится принадлежащим этому пользователю.


==== @everybody ====
==== @everybody ====


@everybody - специальная группа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.
@everybody — специальная группа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.


=== Изменение ACL ===
=== Изменение ACL ===


Управление ACL пакетов и составом групп производится при помощи размещения файлов "записок" в <tt>incoming</tt>. Это средство применяется для передачи майнтейнерства или расширения доступа, выдачи NMU или объявления пакета неподдерживаемым. Не осуществляемые с помощью этого автомата действия - это создание/уничтожение группы и перенос пакетов в obsolete и orphaned, для их совершения надо писать письма на [mailto:incoming@altlinux.org incoming].
Управление ACL пакетов и составом групп производится при помощи размещения файлов «записок» в <tt>incoming</tt>. Это средство применяется для передачи майнтейнерства или расширения доступа, выдачи NMU или объявления пакета неподдерживаемым. Не осуществляемые с помощью этого автомата действия — это создание/уничтожение группы и перенос пакетов в obsolete и orphaned, для их совершения надо писать письма на [mailto:incoming@altlinux.org incoming].


"Записки" лежат в <tt>incoming</tt> в директории /incoming/notes/Sisyphus/. Каждая записка - это файл с именем майнтайнера.
«Записки» лежат в <tt>incoming</tt> в директории /incoming/notes/Sisyphus/. Каждая записка — это файл с именем майнтайнера.


Для помещения своей записки в <tt>incoming</tt> достаточно  
Для помещения своей записки в <tt>incoming</tt> достаточно


  rsync --inplace<ref>Создание новых файлов в этой директории запрещено, поэтому ключ --inplace необходим</ref> USERNAME incoming:/incoming/notes/Sisyphus/
  rsync --inplace<ref>Создание новых файлов в этой директории запрещено, поэтому ключ --inplace необходим</ref> USERNAME incoming:/incoming/notes/Sisyphus/


Записки обрабатываются раз в час, поэтому быстро переписывать старую записку новой рискованно - предыдущая команда может потеряться. Вместо этого стоит ''добавлять'' новые записи в файл в дополнение к недавно отправленным.
Записки обрабатываются раз в час, поэтому быстро переписывать старую записку новой рискованно — предыдущая команда может потеряться. Вместо этого стоит ''добавлять'' новые записи в файл в дополнение к недавно отправленным.


Справочник по всем возможным командам в "записках" находится [http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/acl.txt здесь].
Справочник по всем возможным командам в «записках» находится [http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/doc/acl.txt здесь].


== Управление ключами ==
== Управление ключами ==

Версия от 21:41, 14 августа 2008

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

incoming — это сервер Sisyphus, выполняющий несколько функций:

  • Приём пакетов для последующего помещения их в репозитории (Sisyphus, Daedalus, backports, updates)
  • Управление ACL пакетов
  • Обновление SSH и PGP-ключей майнтайнеров

Доступ к incoming

incoming доступен по rsync через SSH. Доступ выдаётся при принятии в ALT Linux Team.

Адрес incoming — devel.altlinux.org. Аккаунт для доступа — in_USERNAME, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_».

Пример ~/.ssh/config[1]:

Host incoming
  Hostname devel.altlinux.org
  User in_USERNAME

Для работы из-за прокси и в других сложных условиях SSH на incoming также доступен по адресу devel.altlinux.org:443.

Выкладывание пакетов

В incoming имеется несколько директорий, выложенные в которые пакеты будут забраны скриптами, обработаны, проверены и выложены в репозиторий.

/incoming/Sisyphus
Пакеты для Сизифа
/incoming/Daedalus
Пакеты для Дедала
/incoming/updates/X.Y
Пакеты для updates соответствующей ветки
/incoming/backports/X.Y
Пакеты для Backports соответствующей ветки

Для отправки пакета в incoming достаточно переложить его rsync’ом в соответствующую директорию:

$ rsync blah-0.0-alt0.src.rpm incoming:/incoming/Sisyphus/
$

Пакеты, отправляемые в Сизиф, Дедал и updates проходят пересборку в hasher и проверку с помощью sisyphus_check. В случае ошибок сборки или проверки пакет отвергается.

В случае, когда выкладываемый пакет создаёт UNMETS — нарушенную целостность репозитория по зависимостям — он может быть задержан в incoming до тех пор, пока в нём не наберётся достаточное количетсво новых/пересобранных пакетов, чтобы целостность репозитория не пострадала.

Об удачных/неудачных попытках отправки пакета сообщается отправившим по почте, а также в рассылку sisyphus-cybertalk@ (для Sisyphus и Daedalus) или updates-cybertalk@ (для updates).

Пакеты, отправляемые в Backports, проверяются и пересобираются вручную поддерживающим Backports.

ACL

С каждым пакетом в Сизифе связан ACL — список пользователей, которые могут залить пакет в incoming и список пользователей, которые могут залить пакет как NMU.

Текущие списки ACL размещаются по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/:

list.src.classic
Список пользователей, которым разрешена нормальная заливка каждого из пакетов
list.nmu
Список пользователей, которым разрешён NMU на заливку указанных пакетов и unixtime, когда было выдано разрешение

По умолчанию (после первого прохождения incoming свежесобранным пакетом) ACL устанавливается в «разрешено только майнтейнеру».

Первый пользователь в списке list.src.classic являетя лидером пакета и может менять его ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета.

Кроме пользователей в списке могут быть группы.

Группы

Группа — это набор пользователей, обычно вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа @.

Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/groups.

Создаются группы вручную, с помощью отправки письма на incoming и указания названия группы и перечисления начального состава группы.

Изменяется состав группы её лидером — первым в списке членов группы.

@nobody

@nobody — специальная группа. После удаления всех пользователей из ACL пакета, пакет помечается как принадлежащий @nobody. Любой пользователь может залить пакет, принадлежащий @nobody — при этом пакет становится принадлежащим этому пользователю.

@everybody

@everybody — специальная группа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.

Изменение ACL

Управление ACL пакетов и составом групп производится при помощи размещения файлов «записок» в incoming. Это средство применяется для передачи майнтейнерства или расширения доступа, выдачи NMU или объявления пакета неподдерживаемым. Не осуществляемые с помощью этого автомата действия — это создание/уничтожение группы и перенос пакетов в obsolete и orphaned, для их совершения надо писать письма на incoming.

«Записки» лежат в incoming в директории /incoming/notes/Sisyphus/. Каждая записка — это файл с именем майнтайнера.

Для помещения своей записки в incoming достаточно

rsync --inplace[2] USERNAME incoming:/incoming/notes/Sisyphus/

Записки обрабатываются раз в час, поэтому быстро переписывать старую записку новой рискованно — предыдущая команда может потеряться. Вместо этого стоит добавлять новые записи в файл в дополнение к недавно отправленным.

Справочник по всем возможным командам в «записках» находится здесь.

Управление ключами

TODO

Логи работы incominger

Логи работы incominger — комплекса скриптов, реализующих функциональность incoming — располагаются здесь: http://ftp.altlinux.org/pub/people/incominger/logs/

Примечания

  1. Можно добавить ещё Compression no, так как пакеты — большая часть пересылаемых данных — уже сжата.
  2. Создание новых файлов в этой директории запрещено, поэтому ключ --inplace необходим