ACL

Материал из ALT Linux Wiki
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

С каждым пакетом в каждом репозитории пакетов связан ACL (Approve Control List) — список пользователей и групп пользователей, которые могут отправить свою или одобрить чужую сборку этого пакета с помощью git.alt в этот репозиторий пакетов.

ACL

Текущие списки Sisyphus ACL размещаются по адресу http://git.altlinux.org/acl/:

list.packages.sisyphus
Список пользователей, которым разрешена нормальная заливка каждого из пакетов
list.groups.sisyphus
Список групп пользователей

Кроме того, ACL можно посмотреть с помощью команды git.alt acl show.

По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено майнтейнеру и всем кто захочет». Майнтейнером считается группа, если тэг Packager пакета установлен в <имягруппы>@packages.altlinux.org или член Team, указанный в Packager, в противном случае.

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

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

Группы

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

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

Изменяется состав группы с помощью команд семейства git.alt acl её лидером — первым в списке членов группы.

@nobody

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

@everybody

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

Управление ACL

Управление ACL происходит с помощью команд семейства git.alt acl.

HOWTO

Добавление кого-либо в ACL пакета

$ ssh git.alt acl sisyphus ПАКЕТ add КТО_ТО

Передача пакета кому-то ещё

$ ssh git.alt acl sisyphus ПАКЕТ leader КТО_ТО

Передача пакета в общую разработку

Эта команда снимает ограничения на NMU и не-NMU заливку пакета.

$ ssh git.alt acl sisyphus ПАКЕТ add @everybody

Отказ от пакета

Для полного отказа от сопровождения пакета необходимо удалить себя из ACL пакета.

$ ssh git.alt acl sisyphus ПАКЕТ show
ПАКЕТ   вася петя
$ ssh git.alt acl sisyphus ПАКЕТ del вася

Управление группами

Внимание! Управлять составом группы могут только лидеры (первые в списке членов) группы.

Создание группы

Вручную, письмом в список рассылки devel, с названием группы и начальным списком участников.

Добавление в группу

$ ssh git.alt acl sisyphus @ГРУППА add КТО_ТО