Dear list, Following the recent thread on the Packaging list [1], and since those questions arise fairly often during reviews, I think it'd be a good idea to discuss some possible updates to our packaging guidelines. We all have different opinions on Perl packaging but I'd like to find some common ground and set some standard how to do things to unify our style. At least a little bit. First, the dependencies, both build- and run-time. Personally I like to list every module which is actually used since this means the package only fails to build when there's an actual issue, not just a change in the dependency chain. I also think not listing some modules only because it's unlikely they'd get removed from core makes packaging harder and more confusing, rather than the opposite. Of course, we could compose and maintain a list of exceptions, modules not required to be explicitly listed even when used, however that's just extra, needless effort. Additionally, there's no guarantee perl itself gets pulled in, therefore I think it too should be build-required if it's actually called in the spec (and it always is). Second, the %{__perl} macro. What are the benefits of using this (subjectively) ugly macro compared to simple 'perl'? The only case in which I find it useful is when we actually require the absolute path, e.g. in shebang corrections. Third, the MODULE_COMPAT macro. Currently our guidelines enforce the following form: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) I propose the following forms are also accepted (the latter two in case we accept simple 'perl' too): perl(:MODULE_COMPAT_%(eval "$(%{__perl} -V:version)"; echo $version)) perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) perl(:MODULE_COMPAT_%(eval "$(perl -V:version)"; echo $version)) Fourth, ExtUtils::MakeMaker vs Module::Build. Module::Build is currently being deprecated and removed from core, ExtUtils::MakeMaker becoming, once again, the preferred way. Our guidelines should be updated to reflect that. And fifth, installation paths. I suppose the guidelines should explicitly state the vendor paths should be used. That's all I can think of now. Please, do share your views. Also, what would you like to change or improve? Thanks, Petr [1] https://lists.fedoraproject.org/pipermail/packaging/2013-July/009274.html
Attachment:
pgpbNZyvljMBg.pgp
Description: PGP signature
-- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel