-=| gregor herrmann, Tue, Dec 21, 2010 at 12:44:04AM +0100 |=- > On Mon, 20 Dec 2010 10:51:06 -1000, Joel Roth wrote: > > What I tried is: > > > > use Debian::AptContents; > > my $c = Debian::AptContents->new({ homedir => '/tmp/dh-make-perl'}); > > > > my $dep = $c->find_perl_module_package('Padre','123.0'); > > > > print $dep->ver; # 123.0 (actual version is 0.76.ds1-1) > > Hm. I guess the Debian::Dependency only returns what's fed to it. > I thought it also knows additonally about the available versions ... From the POD: Given Perl module name (e.g. Foo::Bar), returns a Debian::Dependency object representing the required Debian package and version. If the module is a core one, suitable dependency on perl is returned. So unless the dependency is in the core, the $version parameter is used verbatim. Basically you tell find_perl_module_package "give me a suitable Debian package dependency for that module and version" and it does just that. If you want to depend on Padre 123.0 (for example in META.yml), this would translate to "padre (>= 123.0)". Of course, such a dependency would be unsatisfiable given the available padre package versions, but find_perl_module_package doesn't care. As for finding available package versions, I am not sure what would be the best approach. We usually leave this to the package manager :) rmadison is a tool that can help, but it requires network connection and may not match what is available from the package repositories listed in /etc/apt/soures.list. Another way is to query apt's local database perhaps via AptPkg::PkgRecords.
Attachment:
signature.asc
Description: Digital signature