Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Gunnar Wolf <gwolf <at> gwolf.org>
Subject: Bug#501688: dh-make-perl ignoring build_requires in Makefile.PL
Newsgroups: gmane.linux.debian.devel.bugs.general
Date: Monday 13th October 2008 00:40:33 UTC (over 8 years ago)
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.

The main problem with the first way is that we'd have to do separate
(but very similar) logic for the different build systems; the problem
with the second one is that we don't want to actually run the tests
beforehand - I'm not really familiar with Module::Depends::Intrusive,
but it would probably require running and not just compiling the code
(i.e. as modules are often required by calling "use_ok" instead of the
regular "use"), and it could lead to funny circles (as tests use the
module we are building) probably tricky to break.

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 :-(

-- 
Gunnar Wolf - [email protected] - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF
 
CD: 58ms