Incoming/acl
ACL пакетов
Пакеты в Sisyphus имеют ACL: набор пользователей, которым разрешено собирать пакет через git.alt или заливать src.rpm через Incoming.
Управление ACL производится с помощью SSH-интерфейса git.alt.
acl
Команда acl требует указания репозитория, над которым производится работа. На данный момент используется только репозиторий Sisyphus, для которого используется метка sisyphus.
Если в командной строке указан только репозиторий, но не указана подкоманда, то список команд читается со стандартного ввода, по одной команде на строку, и выполняется тразакционно: ошибка в выполнении хотя бы одной команды отменяет действие всего набора команд.
acl show
$ ssh git.alt acl <binary repository> <package> show
Показывает ACL указанного пакета
$ ssh git.alt acl sisyphus bugzilla show bugzilla @nobody
$ ssh git.alt acl <binary repository> @<group> show
Показывает состав указанной группы майнтайнеров.
$ ssh git.alt acl sisyhpus @python show @python ns ldv george akhavr bga lav swi at hiddenman sin mithraen kas
acl add/del
Эти операции выполняются асинхронно. Результат будет сообщён по e-mail.
$ ssh git.alt acl <binary repository> <package> add|del <login>|@<group> ...
Добавляет/удаляет указанных пользователей и группы в/из ACL указанного пакета. Данную операцию может производить только лидер пакета.
$ ssh git.alt acl sisyphus keyjnote add damir girar-acl: 1 command(s) queued $ ssh git.alt acl sisyphus keyjnote del damir girar-acl: 1 command(s) queued
$ ssh git.alt acl <binary repository> @<group> add|del <login>|@<group> ...
Добавляет/удаляет указанных пользователей и группы в/из указанной группы. Данную операцию может производить только лидер группы.
$ ssh git.alt acl sisyphus keyjnote add @python girar-acl: 1 command(s) queued $ ssh git.alt acl sisyphus keyjnote del @python girar-acl: 1 command(s) queued
acl replace
Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.
$ ssh git.alt acl <binary repository> <package>|@<group> replace <login>|@<group> <login>|@<group>
Заменяет укзаанную запись в ACL пакета или составе группы на вторую указанную.
$ ssh git.alt acl sisyphus keyjnote replace dottedmag @python
Заменяет в ACL пакета keyjnote запись dottedmag на @python.
acl leader
Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.
$ ssh git.alt acl <binary repository> <package> leader <login>|@<group>
Устанавливает лидера пакета - указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, обязаны присутствовать в списке ACL пакета.
$ ssh git.alt acl sisyphus keyjnote leader @python
$ ssh git.alt acl <binary repository> @<group> leader <login>|@<group>
Устанавливает лидера группы - указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, обязаны присутствовать в списке членов группы.
$ ssh git.alt acl sisyphus @python leader ns
acl nmu
Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.
$ ssh git.alt acl <binary repository> <package> nmu add|del [<login> [<start date> [<end date>]]]
Выдаёт/снимает разрешение на проведение NMU указанного пакета.
Параметры:
- login - аккаунт, которому даётся разрешение на NMU. * или отсутствие параметра означает "кому угодно"
- start date - дата начала действия NMU, в формате unixtime. Отсутствие параметра означает "немедленно"
- end date - дата окончания действия NMU, в формате unixtmie. Отсутствие параметра означает "никогда".
Исторические подробности
До 17 ноября 2008 года управление ACL осуществлялось не через git.alt, а размещением файлов записок (notes) в определённой директории Incoming.