ACL
С каждым пакетом в Сизифе связан ACL — список пользователей, которые могут залить регулярный пакет в incoming или запустить сборку с помощью git.alt, и список пользователей, которые могут залить/собрать пакет как NMU. Для NMU дополнительно указывается интервал действия разрешения.
ACL
Текущие списки Sisyphus ACL размещаются по адресу http://git.altlinux.org/acl/:
- list.packages.sisyphus
- Список пользователей, которым разрешена нормальная заливка каждого из пакетов
- list.nmu.sisyphus
- Список пользователей, которым разрешён NMU на заливку указанных пакетов, unixtime начала действия разрешения и опциональный unixtime окончания действия разрешения.
Кроме того, ACL доступен в SSH-интерфейсе git.alt, в команде acl show.
По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено только майнтейнеру». Майнтейнером считается группа, если тэг Packager пакета установлен в <имягруппы>@packages.altlinux.org или член Team, указанный в Packager, в противном случае.
Первый пользователь в ACL является лидером пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.
Кроме пользователей в списке могут быть группы.
Группы
Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа @.
Текущий список групп Сизифа размещается по адресу http://git.altlinux.org/acl/list.groups.sisyphus, а также доступен в SSH-интерфейсе git.alt, в команде acl show.
Создаются группы вручную, с помощью отправки письма на incoming с указанием названия группы и начального состава группы.
Изменяется состав группы с помощью SSH-интерфейса git.alt её лидером — первым в списке членов группы.
@nobody
@nobody — специальная псевдогруппа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody, при этом он становится владельцем этого пакета.
@everybody
@everybody — специальная псевдогруппа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.
Управление ACL
Управление ACL происходит с помощью SSH-интерфейса git.alt. См справочник по git.alt для описания синтаксиса и действий команд.
HOWTO
Добавление кого-либо в ACL пакета
$ ssh git.alt acl sisyphus ПАКЕТ add КТО_ТО
Передача пакета кому-то ещё
$ ssh git.alt acl sisyphus ПАКЕТ add КТО_ТО $ ssh git.alt acl sisyphus ПАКЕТ leader КТО_ТО
Выдача NMU на пакет
$ ssh git.alt acl sisyphus ПАКЕТ nmu КТО_ТО
Отказ от пакета
Эта команда снимает ограничения на NMU и не-NMU заливку пакета. После следующей заливки заливающий будет объявлен майнтайнером пакета и ACL на пакет будет сброшен.
$ ssh git.alt acl sisyphus ПАКЕТ del '#all'
Передача пакета в общую разработку
Эта команда снимает ограничения на NMU и не-NMU заливку пакета.
$ ssh git.alt acl sisyphus ПАКЕТ add @everybody
Управление группами
Внимание! Управлять составом группы могут только лидеры (первые в списке членов) группы.
Создание группы
Вручную, письмом на incoming, с названием группы и начальным списком участников.
Добавление в группу
$ ssh git.alt acl sisyphus @ГРУППА add КТО_ТО