#536838 dh-make-perl: Incorrect assumptions about perl module version -> debian package version #536838
- Package:
- dh-make-perl
- Source:
- dh-make-perl
- Submitter:
- Paul LeoNerd Evans
- Date:
- 2010-05-07 16:33:08 UTC
- Severity:
- normal
My Build.PL states:
build_requires => {
'XML::SAX::ParserFactory' => '1.00',
...
}
which comes out in META.yml as:
build_requires:
XML::SAX::ParserFactory: 1.00
...
dh-make-perl parsed this into:
Build-Depends-Indep: perl (>= 5.6.0-12), perl-modules,
libxml-sax-perl (>= 1.00)
This is an incorrect assumption about the mapping from perl module
versions into debian package versions.
As it happens, I only have installed:
ii libxml-sax-perl 0.96+dfsg-1 Perl module for using and building Perl SAX2 XML processors
which provides:
package XML::SAX::ParserFactory;
...
$VERSION = '1.01';
and should therefore be sufficient to build this module.
Hi, Hmmm. Not really. The Debian package version format is defined as <upstream_version>-<debian_revision> So IMHO tools in Debian should be able to assume that a given upstream version really reflects the upstream version of a given project. The problem is somewhere different: Upstream seems to handle to seperate versions and does not keep it in sync, this seems to be clearly wrong and he should be educated to change this. Best Regards, Patrick
If Perl modules are allowed to have a different version for the distribution and for the included modules, then dh-make-perl should support that.
I agree that this would be nice; it just seems that noone has yet come up with an idea on how dh-make-perl should know that libfoo-perl 0.08 ships Bar::Baz 0.15. Cheers, gregor
-=| gregor herrmann, Wed, Sep 23, 2009 at 06:55:59PM +0200 |=- Sounds like Module::CoreList, but for non-core modules. Does such a thing exist?
Could dh-make-perl not utilize CPAN's module index for finding out which version of the distribution is required to get a certain module version?
-=| Maximilian Gass, Thu, May 06, 2010 at 11:07:54AM +0200 |=-
Tht would solve the problem only when the wanted module version is
available in the latest distrobution on CPAN. This *is* the case with
XML-SAX-ParserFactory now.
Any idea what to do when it is not? For example one looks for Foo::Bar
0.14, but CPAN::Shell->expand('Module', 'Foo::Bar') returns info about
Foo::Bar 0.16.