Incoming/HOWTO

Материал из ALT Linux Wiki
Small-pyramides.png
Архивная информация.
Описываемые в этой статье вещи больше не используются и оставлены только для обратной совместимости.


Решения конкретных задач, связанных с Incoming. Впрочем, вместо решения проблем с incoming лучше использовать сборку через git.alt.

На этой странице подразумевается настройка 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
$