[OE-core] perl packaging, Makefile.PL versus Build.PL?

Jens Rehsack rehsack at gmail.com
Fri Nov 18 12:58:38 UTC 2016


> Am 18.11.2016 um 11:24 schrieb Robert P. J. Day <rpjday at crashcourse.ca>:
> 
> 
>  still going to have a few more questions on the standards for
> packaging perl source into OE recipes, here's the first one.
> 
>  as i read it, there are two build standards for perl source in OE:
> 
>  cpan.bbclass:		Makefile.PL build-based
>  cpan_build.bbclass:	(newer) Build.PL build-based

Err: Wrong - Module::Build has been written after ExtUtil::MakeMaker exists,
but it has been removed from Perl core, because ExtUtils::MakeMaker is
much better maintained and has better compatibilities (even if it still
can improved ^^)

> so if one peruses the source at CPAN, it should be obvious which build
> system is relevant, no? so what about source that has *both* those
> files?
> 
>  https://metacpan.org/pod/Parse::DMIDecode

Look into it: https://metacpan.org/source/NICOLAW/Parse-DMIDecode-0.03/Makefile.PL
shows clearly, that the Makefile.PL is a wrapper for cpan shells which don't
support Build.PL (very old, but when Nicola uploaded it in 2007, 5.8 was bleeding
edge and 5.004 or 5.005 were widely spread.

You can also refer to https://github.com/rehsack/Packager-Utils/blob/master/lib/Packager/Utils/Role/Packages/Bitbake.pm#L507-L517 for some inspiration.

> which has both of those install scripts in the top-level directory,
> although the INSTALL file clearly refers to the newer build system:
> 
>  perl Build.PL
>  perl Build
>  perl Build test
>  perl Build install
> 
> does it make any logical sense for both of those files to be there?
> backward compatibility? any other reason? or am i just wildly
> misunderstanding something?

For some people: yes. For others: No.

Cheers
--
Jens Rehsack - rehsack at gmail.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161118/2a079218/attachment-0002.sig>


More information about the Openembedded-core mailing list