Incoming/HOWTO: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 65: Строка 65:
  $ rsync myfile.src.rpm incoming:/incoming/Sisyphus/myfile.src.rpm
  $ rsync myfile.src.rpm incoming:/incoming/Sisyphus/myfile.src.rpm
  $
  $
== Управление ACL пакетов ==
Внимание! Управлять ACL могут только лидеры (первые в списке ACL) пакета.
В советах ниже ''ВАШЕ_ИМЯ'' означает имя в Team (почта, аккаунты в git.alt и incoming).
=== Добавление кого-либо в ACL пакета ===
echo ПАКЕТ add КТО_ТО > ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incoming/notes/Sisyphus/
=== Передача пакета кому-то ещё ===
echo ПАКЕТ add КТО_ТО > ВАШЕ_ИМЯ
echo ПАКЕТ leader КТО_ТО >> ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incoming/notes/Sisyphus/
=== Выдача NMU на пакет ===
echo ПАКЕТ nmu КТО_ТО > ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incoming/notes/Sisyphus/
=== Отказ от пакета ===
Эта команда снимает ограничения на NMU и не-NMU заливку пакета. После следующей заливки заливающий будет объявлен майнтайнером пакета и ACL на пакет будет сброшен.
echo ПАКЕТ rem #all > ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incoming/notes/Sisyphus/
=== Передача пакета в общую разработку ===
Эта команда снимает ограничения на NMU и не-NMU заливку пакета.
echo ПАКЕТ add @everybody > ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incoming/notes/Sisyphus/
== Управление группами ==
Внимание! Управлять составом группы могут только лидеры (первые в списке членов) группы.
=== Создание группы ===
Вручную, письмом на [mailto:incoming@altlinux.org incoming], с названием группы и начальным списком участников.
=== Добавление в группу ===
echo ГРУППА add КТО_ТО > ВАШЕ_ИМЯ
rsync --inplace ВАШЕ_ИМЯ incoming:/incomnig/notes/Sisyphus/

Версия от 20:00, 1 декабря 2008

Решения конкретных задач, связанных с Incoming.

На этой странице подразумевается настройка SSH, приведённая здесь.

Проверка настроенности Incoming

$ ssh incoming
Connection to devel.altlinux.org closed.
$ rsync incoming:/incoming/
drwxr-x--x        4096 2007/10/30 20:28:31 .
drwxrws--T        4096 2008/08/12 04:31:05 Daedalus
drwxrwx--T       28672 2008/08/15 02:32:09 Sisyphus
drwxr-s---        4096 2007/04/25 06:12:42 backports
drwxrws--T        4096 2008/08/05 10:30:00 join
drwxr-x--x        4096 2006/06/11 01:09:37 notes
drwxr-s---        4096 2008/05/30 22:20:47 updates
$

Полезные ключи rsync

-v
выдавать больше информации в процессе
-a
рекурсивное копирование с сохранением симлинков, прав, mtime, владельца и группы файлов
--stats
выдавать статистику передачи
-P
сохранять частично переданные файлы при обрыве, показывать прогресс операции

Управление пакетами

Просмотр содержимого Incoming

$ rsync incoming:/incoming/Sisyphus/
drwxrwx--T       28672 2008/08/15 02:32:09 .
-rw-r--r--    15049105 2008/07/03 19:34:28 FirebirdCS-2.0.3-alt1.src.rpm
...
-rw-r--r--     1472330 2008/07/28 21:01:29 zebra-0.95a-alt1.src.rpm
$

Скачивание к себе файла из Incoming

$ rsync incoming:/incoming/Sisyphus/zebra-0.95a-alt1.src.rpm .
$

Удаление всех своих файлов из определённой директории

$ rsync -r --delete /var/empty/ incoming:/incoming/Sisyphus/
rsync: delete_file: unlink(zebra-0.95a-alt1.src.rpm) failed: Operation not permitted (1)
...
rsync: delete_file: unlink(FirebirdCS-2.0.3-alt1.src.rpm) failed: Operation not permitted (1)
$

Для чужих файлов (разумеется) выдаётся permission denied. Чтобы удалить только часть своих файлов, нужно вместо /var/empty/ подсунуть директорию, где находятся файлы, которые удалять не нужно.

Пересборка пакета

Если в incoming лежит пакет, который не пересобрался из-за проблем со сборочной средой, то его можно заставить пересобраться ещё раз. Для этого необходимо сделать touch локальному файлу и синхронизировать его с копией, лежащей в incoming.

$ ls myfile.src.rpm
myfile.src.rpm
$ touch myfile.src.rpm
$ rsync myfile.src.rpm incoming:/incoming/Sisyphus/myfile.src.rpm
$