Какой лучший способ превратить модули CPAN в пакеты Debian?
Всякий раз, когда я работаю над системой любого типа, в которой есть особый способ управления пакетами, я стараюсь придерживаться этого стандарта для управления моими модулями Perl. "Когда в Риме и т. Д."
Например, в системе Win32, использующей ActivePerl, я использую PPM для всего и использую отличный PPM:: Make. В системе RedHat я предпочитаю использовать RPM.
Сейчас я работаю над системой Debian, и мне нужен способ превратить произвольный дистрибутив в стиле CPAN или CPAN в deb.
Google показывает такие опции, как dh-make-perl, CPANPLUS::Dist::Deb и CPAN::Packager::Builder::Deb.
Есть ли у кого-либо опыт работы с этими различными инструментами какие-либо рекомендации относительно того, что использовать или избегать?
Каков наилучший способ обработки файлов deb из стандартных модулей CPAN?
Обновить:
Я нашел статью Ханса Дитера Пирси на эту тему - для своих нужд он предлагает инструменты CPANPLUS. При некоторых обстоятельствах он рекомендует dh-make-perl. Джеремия Фостер (который написал статью, на которую указывает Брайан Д. Фой) отвечает на HDP и приводит аргументы в пользу dh-make-perl.
На idimmu.net также есть пост, описывающий использование dh-make-perl.
ATM, я склоняюсь к dh-make-perl, так как это было трижды рекомендовано (Брайан Д. Фой в качестве доверенного лица для Джереми Фостера, автора idimmu.net и hillu) против CPANPLUS.
5 ответов
dh-make-perl
делает хорошую работу по уходу за повторяющейся и тяжелой подъемом и угадыванием информации из источников. Он работал корректно почти для всех модулей CPAN, которые я упаковал как пакеты Debian (только для официального или внутреннего использования).
Тем не менее, полученный пакет следует рассматривать только как отправную точку для правильных пакетов Debian. dh-make-perl
помещает предупреждения в автоматически сгенерированные, такие как debian/control
(т.е. описание пакета и зависимостей) и debian/copyright
(лицензионная информация).
В ответ на вопрос Манни, я считаю, что это хорошая идея - работать с инструментами, которые ОС или дистрибутив предоставляет для управления пакетами, а не против них. В случае с Debian это означает .deb
пакеты и установка тех. Инструменты сборки Perl и CPAN отлично справляются с обеспечением кроссплатформенной среды сборки и для распространения исходного кода, но по сравнению с инструментами управления пакетами в современных дистрибутивах Linux они работают неоптимально, просто потому, что часто требуется дополнительное ручное вмешательство, которое менее легко автоматизировать на нескольких машинах, чем свернуть пакет.
(Для одноразовых и тестовых установок, установка в /usr/local/
и используя stow(8)
как менеджер пакета бедного человека может быть в порядке.)
Даже если вы просто создаете пакеты для своего собственного использования, рассмотрите возможность связаться с Perl Group Debian и попросить кого-нибудь спонсировать загрузку в Debian, если вы считаете, что данный модуль полезен для других людей.
Джеремия Фостер (Jeremiah Foster) опубликовал статью о превращении дистрибутивов Perl в пакеты Debian в выпуске The Perl Review весной 2009 года.
Я предлагаю вам обратиться к группе поддержки Debian Perl, а не к SO. Просто отправьте по почте адрес, указанный в качестве сопровождающего на любом нечетном пакете:Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
В свое время я добавил несколько модулей в Debian и просто "сделал это вручную". Я все еще поддерживаю некоторые. Это тоже не сложно. но группа теперь поддерживает намного больше пакетов и имеет инструменты.
Здесь тоже очень хороший шаг за шагом. (также со ссылками на другие полезные ресурсы и некоторыми достойными комментариями. [Это датировано 2005 годом, но все еще в основном относительное и многие комментарии гораздо более свежие])
http://www.debian-administration.org/articles/78
вот политика perl Debian (также ссылка на которую есть в статье) http://www.debian.org/doc/packaging-manuals/perl-policy/
Тебе это не понравится, но я действительно думаю, что тебе вообще не следует этого делать. Различные пакеты Perl Debian не предназначены для разработчиков, которым нужны определенные модули Perl на своих машинах. Они были созданы потому, что они нужны другим приложениям, а пользователи хотят или могут захотеть эти приложения.
Пожалуйста, взгляните на ответы на этот вопрос, прежде чем делать то, что вам, вероятно, не следует делать.