Repocop/RepairMiniHOWTO
Исправляем Репокопом пакеты за 5 минут. Краткое руководство.
Предисловие.
Для исправления пакетов вам понадобится
- локальное зеркало со свежим сизифом (Пусть это /var/ftp/pub/Linux/ALT/Sisyphus).
Если в сизифе еще не появились repocop >= 0.07-alt19 и repocop-unittest >= 0.14, то их можно взять здесь и подложить hasher'у.
- Свежая база repocop (более 100 Mb).
- скрипт repocop-tools-ls-rpmbuild-bs-environment (есть в repocop >= 0.07-alt20 а также здесь.
Знакомимся с предлагаемыми патчами
Ищем свои папки на http://repocop.altlinux.org/pub/repocop/reports/diff/by-acl/ и знакомимся с предложенными патчами.
Создаем песочницу с repocop
Скачиваем скрипт и базу repocop
cd ~ wget -с http://repocop.altlinux.org/pub/repocop/scripts/repocop-tools-ls-rpmbuild-bs-environment chmod 755 ~/repocop-tools-ls-rpmbuild-bs-environment wget -c http://repocop.altlinux.org/pub/repocop/data/repocop-data-current.tar.gz
Создаем песочницу
hsh --initroot-only <опции hasher для вашего Сизифа>
копируем туда базу repocop
cp repocop-data-current.tar.gz </path/to/your/hasher>/chroot/tmp/
и разворачиваем ее внутри песочницы в ~/.repocop
:
hsh-run tar xzf /tmp/repocop-data-current.tar.gz
Устанавливаем в песочницу repocop
hsh-install repocop-tools repocop-unittest
и все пакеты, необходимые для нормального выполнения произвольного rpmbuild -bs
:
hsh-install `~/repocop-tools-ls-rpmbuild-bs-environment -c </path/to/your/hasher>/chroot/usr/src/.repocop`
Еще внутри песочницы нужно дать доступ к сфежему Сизифу. Создаем точку монтирования
hsh-run mkdir /usr/src/Sisyphus
и монтируем туда Сизиф:
sudo mount --bind /var/ftp/pub/Linux/ALT/Sisyphus </path/to/your/hasher>/chroot/usr/src/Sisyphus
песочница к запуску репокопа готова.
Запускаем repocop
repocop-fix-srpm --include-packager='viy,@emacs,@java' \ --acl-file ~/Sisyphus/files/list/list.src.classic \ ~/Sisyphus/files/noarch/RPMS ~/Sisyphus/files/x86_64/RPMS ~/Sisyphus/files/SRPMS
Заметим, что здесь нужно указывать ~/Sisyphus/files/x86_64/RPMS, а не ~/Sisyphus/files/i586/RPMS, поскольку в загруженной с [repocop.altlinux.org] базе данных есть только такие записи.
Вместо viy,@emacs,@java укажите ваш ник и любимые группы, в которые вы входите.