Собственный репозиторий
Задумал я тут перевести свой репозиторий со старинной (еще времен hamm)
структуры на современную структуру с pool.
В частности, и по причине того, что теперь необходимо поддерживать две
архитектуры - i386 и amd64
Попробовал воспользоваться reprepro. Наткнулся на две проблемы:
1. Штатным способом добавления пакетов в reprepro является указание
файла changes. Впрочем с .dsc эффект был бы тот же самый.
У меня схема работы следующая
1. Собирается (при помощи pdebuild) пакет для i386. Понятно, что процесс
творческий, требует каких-то правок и пересборок. Но вот пакет
получился. Далее подсовываем получившийся dsc-файл команде
pbuilder build --configfile /etc/pbuilder.amd64.rc
Получаем пакеты для второй архитектуры. Но при пересборке таким способом
пересобирается пакет исходников, и получается немножко другой diff.gz
информация о котором и прописывается в .changes. А структура
хранения pool предполагает что .diff.gz архитектруно независим и общий
для всех арихитектур. И вообще-то он именно такой, а различия чисто
технические.
2. В процессе разработки пакета часто бывает несколько неудачных
попыток. Задирать при каждой такой попытке номер версии - как-то не
хочется. Они у меня тогда быстро трех и четырехзначными станут.
Но мне не удалось найти в документации на reprepro такой ключик, чтобы
он увидев что переданные ему в команде include файлы уже существуют,
молча бы заменил их на указанные в своей базе и в репозитории.
Злобно ругается, что файл с таким именем и другой контрольной суммой
существует, и отваливается. Удалять же вручную все пакеты, собираемые
из одного исходника - так у меня одного vim 26 разных пакетов.
Соответственно, вопрос к тем, кто уже давно на pool перешел - как вы с
этим справляетесь, или что используете вместо reprepro
Reply to: