|
|
(не показаны 3 промежуточные версии 3 участников) |
Строка 1: |
Строка 1: |
| [[Category:Devel]] | | [[Category:Sisyphus]] |
| {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/Perl}}
| |
| > Ну вообще-то для перловых пакетов и надо использовать -bi. > Алексей Турбин об этом писал неоднократно.
| |
| Не всегда, а иногда, даже изредка. :)
| |
|
| |
|
| Дело в том, что если в пакете есть `make test', в котором происходит
| | Наилучшее текущее приближение к HOWTO по упаковке perl-модулей и perl-приложений находится в пакете rpm-build-perl, в файле [http://git.altlinux.org/people/at/packages/?p=rpm-build-perl.git;a=blob_plain;f=README.ALT;hb=HEAD README.ALT]. |
| загрузка (и тестирование) всех модулей, которые будут установлены, то
| |
| -bi использовать не надо. | |
|
| |
|
| Если же в пакете тестов нету, т.е. `make test' говорит
| | Для простой упаковки модулей из CPAN (или соответствующих CPAN-овским рекомендациям по упаковке), можно также воспользоваться утилитой [http://packages.altlinux.org/ru/Sisyphus/srpms/cpan2rpm cpan2rpm]. |
| 'No tests defined for $(NAME) extension.', то использовать -bi почти
| |
| наверняка надо, т.к. perl.req (в конце стадии -bi) производит
| |
| полноценную загрузку модулей для синтаксического анализа (вернее, для
| |
| анализа дерева опкодов), при которой отрабатывают все директивы "use"
| |
| и некоторые директивы "require" (это особенность самой загрузки модулей,
| |
| то есть самого перла, а не perl.req).
| |
|
| |
|
| Что касается просто программ, написанных на перле, то рекомендую в конце
| | Для генерации man1 для скриптов в %_bindir: |
| секции %build добавить что-нибудь вроде
| |
|
| |
|
| ./prog --version
| | # perl-podlators is required for pod2man conversion. |
| | | BuildRequires: perl-podlators |
| или
| | ... |
| | | %build |
| %__perl -Mblib ./prog --version
| | %perl_vendor_build INSTALLMAN1DIR=%_man1dir |
| | |
| если в каталоге blib после сборки есть модули.
| |
| | |
| Это должно зафиксировать все сборочные зависимости.
| |
| А также это тест на минимальную работоспособность.
| |
| | |
| А вообще треды лучше оторвать. Rafael Garcia-Suarez стал собирать перл
| |
| для мандраки без тредов вообще. Кстати, вот с ним интервью:
| |
| [http://www.perl.com/pub/a/2005/02/24/mandrakelinux.html http://www.perl.com/pub/a/2005/02/24/mandrakelinux.html]
| |
| | |
| ''at@''
| |
| | |
| Если 'make test' запускается посредством макросов из
| |
| /etc/rpm/macros.d/perl5, то стоит добавить в них проверку, выключающую
| |
| запуск 'make test' под buildreq'ом.
| |
| | |
| За неимением (пока) секции %check, я в своих пакетах обычно использую
| |
| такую конструкцию:
| |
| %{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%make_build -k check}}} | |
| | |
| ''ldv@''
| |
Наилучшее текущее приближение к HOWTO по упаковке perl-модулей и perl-приложений находится в пакете rpm-build-perl, в файле README.ALT.
Для простой упаковки модулей из CPAN (или соответствующих CPAN-овским рекомендациям по упаковке), можно также воспользоваться утилитой cpan2rpm.
Для генерации man1 для скриптов в %_bindir:
# perl-podlators is required for pod2man conversion.
BuildRequires: perl-podlators
...
%build
%perl_vendor_build INSTALLMAN1DIR=%_man1dir