On Sun Oct 12, 2008 at 07:40:33PM -0500, Gunnar Wolf wrote: > Mark Lawrence dijo [Thu, Oct 09, 2008 at 05:37:46PM +0200]: > > dh-make-perl appears to either ignore, or doesn't recognise the > > build_requires statement used in Module::Install type Makefile.PL > > files. > > > > build_requires 'Test::More' => 0; > > build_requires 'Test::Exception' => 0; > > build_requires 'Test::Memory::Cycle' => 0; > > build_requires 'Test::Pod' => 0; > > > > Consequently the Build-Depends: tag in debian/control is not correct. > > Hi, > > This is due to the fact that dependency information is acquired via > Module::Depends::Intrusive, not by de-constructing Makefile.PL - And > yes, this leaves the packages generated by dh-make-perl with complete > information for the packages themselves, but sometimes incomplete > information about their build-dependencies. > > I think there are two ways out of this one: The first one is to add a > simple parsing for "build_requires" on Makefile.PL (and, of course, > noting it as build-dependencies, not as dependencies). The second one > is to run via Module::Depends::Intrusive the tests as well.
Right, neither of those solutions sound great. However, while reading the POD for Module::Depends::Intrusive I discovered Module::Depends which parses META.yml to determine dependencies. It seems the Intrusive version is something of a workaround until every module distribution writes a META file. dh-make-perl could use Module::Depends and then it has all the information it needs. So I went and looked at the code and it turns out dh-make-perl does use both Module::Depends, and Module::Depends::Intrusive *and* YAML but doesn't seem to use the information it obtains. From what I see the $meta hashref around line 155 should have a $meta->{build_depends} with the info needed. > Anyway, probably the only feasible way is the first one... but I don't > really like it - it will uglify (even!) more our code with repetition :-( Ugly is the word for it! I guess I could think about writing up a patch to fix this issue, but I know if I start down that path I'll want to rewrite the whole thing. With comments even. Is that likely to be accepted? Mark. -- Mark Lawrence -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]