Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: Project Metadata Model

by educated_foo (Vicar)
on Jan 29, 2012 at 13:18 UTC ( [id://950570]=note: print w/replies, xml ) Need Help??


in reply to Re: Project Metadata Model
in thread Project Metadata Model

I don't find this any better than the equivalent Makefile.PL:
# This file provides instructions for packaging. @prefix : <http://purl.org/NET/cpan-uri/terms#> . <http://purl.org/NET/cpan-uri/dist/all-your-base-are-belong-to/project +> :perl_version_from _:main ; :version_from _:main ; :readme_from _:main ; :test_requires "Test::More 0.61", "File::Basename", "File::Spec", +"Data::Dumper" ; :requires "parent", "version 0.77". _:main <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileN +ame> "lib/all/your/base/are/belong/to.pm" .
Worse, apparently your packaging script just bundles a bunch of RDF-parsing modules, then calls them from Makefile.PL, so an ordinary CPAN author has to learn your nonstandard RDF system to contribute to your modules. Perl already has at least 3 widely-used formats to describe a module: ExtUtils::MakeMaker, Module::Build, and Module::Install; people should think hard before adding yet another.

Replies are listed 'Best First'.
Re^3: Project Metadata Model
by tobyink (Canon) on Jan 29, 2012 at 21:04 UTC

    Except that Makefile.PL is an executable file, and if you want the data it contains, you need to run it. Run it and hope that it doesn't hose your system.

    Module::Package (which I use) is just a wrapper for Module::Install - which itself is mostly a wrapper for ExtUtils::MakeMaker.

      It's not that hard to parse a simple Makefile.PL, and a pile of RDF can't represent a complicated one anyways (e.g. can RDF prompt the user for optional deps?). If you want to make things really easy for yourself, use a standard format for your Makefile.PL, which your tools know how to parse. Besides, if you're honestly dealing with modules you trust so little, you should probably audit all the code, including both Makefile.PL and the big pile of stuff in inc/.

      In any case, CPAN Testers somehow manages to run oodles of untrusted code without any systems being hosed.

Re^3: Project Metadata Model
by Xiong (Hermit) on Jan 29, 2012 at 19:49 UTC

    Perhaps one of the existing formats can be extended to cover the use case?

    I'm not the guy you kill, I'm the guy you buy. —Michael Clayton

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://950570]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2024-04-18 13:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found