added target to build a debian package which will satisfy dependencies when installed
authorMatthias Förste <foerste@schlittermann.de>
Thu, 07 Jul 2011 14:02:45 +0200
changeset 7 47cc1fc1ab73
parent 6 af1d1cf34fbf
child 8 f5e94db98601
added target to build a debian package which will satisfy dependencies when installed
Build.PL
--- a/Build.PL	Thu Jul 07 13:59:14 2011 +0200
+++ b/Build.PL	Thu Jul 07 14:02:45 2011 +0200
@@ -1,7 +1,34 @@
 #!/usr/bin/perl
 
 use Module::Build;
-my $build = Module::Build->new
+
+my $builder = Module::Build->subclass(
+    class => 'My::Module::Build',
+    code => <<'___CODE',
+    use strict;
+    use warnings;
+    use File::Temp;
+    sub ACTION_equivs {
+        my $self = shift;
+        my %provides = (
+            'POSIX' => 'perl-base',
+            'File::Path' => 'perl-modules',
+        );
+        my %deps = ( ( map { (my $d = $_ ) =~ s/::/-/g;
+             defined $provides{$_} ? $provides{$_} : 'lib' . lc $d . '-perl'
+               => $self->requires->{$_} == 0 ? '' : ' (>= ' . $self->requires->{$_} . ')' 
+             } keys %{$self->requires} ),
+         'at' => ''
+        );
+        my $c = new File::Temp or die "Can't tempfile";
+        print $c "Package: libius-dav-htpasswd-perl-deps\n";
+        print $c 'Depends: ', join ', ', map { "$_$deps{$_}" } keys %deps;
+        system('equivs-build', $c->filename);
+    }
+___CODE
+);
+
+my $build = $builder->new
 (
     module_name => 'Ius::Dav::Htpasswd',
     license  => 'gpl',