summaryrefslogtreecommitdiff
path: root/dh_auto_install
diff options
context:
space:
mode:
Diffstat (limited to 'dh_auto_install')
-rwxr-xr-xdh_auto_install51
1 files changed, 12 insertions, 39 deletions
diff --git a/dh_auto_install b/dh_auto_install
index 264725c..4464702 100755
--- a/dh_auto_install
+++ b/dh_auto_install
@@ -8,18 +8,21 @@ dh_auto_install - automatically runs make install or similar
use strict;
use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
use Cwd;
=head1 SYNOPSIS
-B<dh_auto_install> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_install> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
dh_auto_install is a debhelper program that tries to automatically install
-built files. If there's a Makefile and it contains a "install" target,
-then this is done by running make (or MAKE, if the environment variable is
-set). If there is a setup.py or Build.PL, it is used.
+built files. It does so by running the appropriate command for the build
+system it detects the package uses. For example, if there's a Makefile and
+it contains a "install" target, then this is done by running make (or MAKE,
+if the environment variable is set). If there is a setup.py or Build.PL,
+it is used.
The files are installed into debian/<package>/ if there is only one binary
package. In the multiple binary package case, the files are instead
@@ -39,6 +42,9 @@ dh_auto_install at all, and just run make install manually.
=over 4
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=item B<--> I<params>
Pass "params" to the program that is run. These can be used to supplement
@@ -48,7 +54,7 @@ or override the any standard parameters that dh_auto_install passes.
=cut
-init();
+buildsystems_init();
my $destdir;
my @allpackages=getpackages();
@@ -60,40 +66,7 @@ else {
}
$destdir=cwd()."/".$destdir;
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- $ENV{MAKE}="make" unless exists $ENV{MAKE};
- my @params="DESTDIR=$destdir";
-
- # Special case for MakeMaker generated Makefiles.
- if (-e "Makefile" &&
- system('grep -q "generated automatically by MakeMaker" Makefile') == 0) {
- push @params, "PREFIX=/usr";
- }
-
- foreach my $target (qw{install}) {
- # Use make -n to check to see if the target would do
- # anything. There's no good way to test if a target exists.
- my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
- chomp $ret;
- if (length $ret) {
- doit($ENV{MAKE}, $target,
- @params,
- @{$dh{U_PARAMS}});
- last;
- }
- }
-}
-elsif (-e "setup.py") {
- doit("python", "setup.py", "install",
- "--root=$destdir",
- "--no-compile", "-O0",
- @{$dh{U_PARAMS}});
-}
-elsif (-e "Build.PL" && -e "Build") {
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build", "install", "destdir=$destdir",
- "create_packlist=0", @{$dh{U_PARAMS}});
-}
+buildsystems_do("install", $destdir);
=head1 SEE ALSO