Perl

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(Import from freesource.info)
(packages.altlinux.org)
 
(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@''
+

Текущая версия на 15:49, 18 февраля 2014


Наилучшее текущее приближение к 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
 
Личные инструменты