Incoming/HOWTO
Решения конкретных задач, связанных с Incoming.
На этой странице подразумевается настройка SSH, приведённая здесь.
Полезные ключи rsync
- -v
- выдавать больше информации в процессе
- -a
- рекурсивное копирование с сохранением симлинков, прав, mtime, владельца и группы файлов
- --stats
- выдавать статистику передачи
- -P
- сохранять частично переданные файлы при обрыве, показывать прогресс операции
Проверка настроенности 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 $
Управление пакетами
Просмотр содержимого 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 $
Управление ACL
Внимание! Управлять ACL могут только лидеры (первые в списке ACL) пакета или группы.
Добавление кого-либо в 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/
Создание группы
Вручную, письмом на [1], с названием группы и начальным списком участников.
Добавление в группу
echo ГРУППА add КТО_ТО > ВАШЕ_ИМЯ rsync --inplace ВАШЕ_ИМЯ incoming:/incomnig/notes/Sisyphus/