Incoming/справочник

Материал из ALT Linux Wiki

< Incoming(Различия между версиями)
Перейти к: навигация, поиск
(ACL)
(Выкладывание пакетов)
 
(17 промежуточных версий не показаны.)
Строка 2: Строка 2:
[[Категория:Devel]]
[[Категория:Devel]]
[[Категория:Справочники]]
[[Категория:Справочники]]
-
__TOC__
+
{{Historical}}
== Доступ к <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>git.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 git.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’ом в соответствующую директорию. Пакет должен быть предварительно подписан PGP-ключом.
+
Для отправки пакета в <tt>incoming</tt> достаточно переложить его rsync’ом в сборочную. Пакет должен быть предварительно подписан PGP-ключом.
-
  $ rsync blah-0.0-alt0.src.rpm incoming:/incoming/Sisyphus/
+
  $ rsync blah-0.0-alt0.src.rpm incoming:
  $
  $
-
Пакеты, отправляемые в Сизиф, Дедал и updates проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается.
+
После этого надо добавить его в задание при помощи ssh git.alt интерфейса:
 +
ssh incoming task new
 +
ssh incoming task add srpm blah-0.0-alt0.src.rpm
 +
ssh incoming task run
 +
 +
Пакеты, отправляемые в Сизиф и updates проходят пересборку в [[hasher]] и проверку с помощью [[sisyphus_check]]. В случае ошибок сборки или проверки пакет отвергается.
-
В случае, когда выкладываемый пакет нарушает целостность репозитория по зависимостям<ref>создаётся так называемый ''unmet'' - зависимость, которая не может быть удовлетворена в репозитории</ref> — он может быть задержан в 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) или [https://lists.altlinux.org/mailman/listinfo/updates-cybertalk updates-cybertalk@] (для updates).
-
 
+
-
Пакеты, отправляемые в Backports, проверяются и пересобираются вручную поддерживающим Backports.
+
== 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 устанавливается в «разрешено только майнтейнеру». Майнтейнером считается группа, если тэг <tt>Packager</tt> пакета установлен в <tt>имягруппы@packages.altlinux.org</tt> или член Team, указанный в <tt>Packager</tt>, в противном случае.
+
-
 
+
-
Первый пользователь в списке list.src.classic являетя ''лидером'' пакета и может менять его ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета.
+
-
 
+
-
Кроме пользователей в списке могут быть ''группы''.
+
-
 
+
-
=== Группы ===
+
-
 
+
-
Группа — это набор пользователей, обычно вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.
+
-
 
+
-
Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/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 здесь].
+
== Управление ключами ==
== Управление ключами ==

Текущая версия на 10:12, 31 марта 2016

Small-pyramides.png
Архивная информация.
Описываемые в этой статье вещи больше не используются, оставлены только для обратной совместимости или вообще не существуют.


Содержание

Доступ к incoming

incoming доступен по rsync через SSH. Доступ выдавался при принятии в ALT Linux Team. После введения в строй сборки через git.alt больше не выдаётся.

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

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

Host incoming
  Hostname git.altlinux.org
  User in_USERNAME
  Port 222

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

Для отправки пакета в incoming достаточно переложить его rsync’ом в сборочную. Пакет должен быть предварительно подписан PGP-ключом.

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

После этого надо добавить его в задание при помощи ssh git.alt интерфейса: ssh incoming task new ssh incoming task add srpm blah-0.0-alt0.src.rpm ssh incoming task run

Пакеты, отправляемые в Сизиф и updates проходят пересборку в 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/

Примечания

  1. Можно добавить ещё Compression no, так как пакеты — большая часть пересылаемых данных — уже сжата.
 
Личные инструменты