LINUX.ORG.RU

Аналог live ebuild в Debian?


0

0

Есть питоновский проект в репозитории mercurial'а, хочется удобного способа делать из него пакет для Debian не заморачиваясь с нумерацией версий и выкладыванием промежуточных tarball'ов. Т.е. например именуя по дате сборки или порядковому номеру ревизии (хэш не подходит т.к. по нему не понятно какой из пакетов новее).

Идеал - автоматическая генерация пакета сразу после коммита в специальный репозиторий.

Для примера можно ссылки на существующие пакеты где применяется подобный подход и написаны необходимые для этого скрипты.

> Идеал - автоматическая генерация пакета сразу после коммита в специальный репозиторий.

Т.е. continuous integration вы не используете? А зря - после коммита можно было бы автоматически прогонять тесты и собирать deb.

ntp
()
Ответ на: комментарий от ntp

Тесты будут, но позже и если руки дойдут (проект небольшой и особой необходимости покрывать его тестами пока нет). К тому же тесты не препятствуют сборке пакета.

cyberax
() автор топика
Ответ на: комментарий от cyberax

Нет, я имел в виду, что вам лучше всего подойдет CI демон (hudson, buildbot, etc), который будет после коммита запускать скрипты на сборку.

Питоновские distutils умеют собирать rpm, который через alien можно конвертировать в deb. На все не больше десятка строчек в bash-скрипте.

Можно через alien -i и без конвертирования ставить rpm.

ntp
()
Ответ на: комментарий от ntp

А есть checkinstall, который из сорцов сам генерит deb

TERRANZ ★★★★
()
Ответ на: комментарий от TERRANZ

Если я правильно понял, то checkinstall не подходит для питоновского проекта использующего distutils. Скорее тут подойдёт stdeb, но он у меня почему-то отваливается вот с такой ошибкой:

dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean
dh clean
Unknown option: buildsystem
dh: unknown option; aborting

и далее питоновский traceback

cyberax
() автор топика

По интеграции с системами контроля версий нашёл mercurial-buildpackage, но документации по нему почти нет. Понравилось как всё описано для bazaar, с указанием нескольких вариантов размещения исходников проекта и метаданных пакета (в одном репозитории или отдельно):

http://jameswestby.net/bzr/builddeb/user_manual/

Ещё неплохо сделана пакетизация чужого проекта с использованием Mercurial Queues вот здесь: https://bitbucket.org/yuja/hgsubversion-deb/wiki/Home

А вот здесь написано как расширить setup.py своими командами (например чтобы не городить Makefile или дополнительный скрипт для сборки): http://stackoverflow.com/questions/1710839/custom-distutils-commands

cyberax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.