]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_auto_install
Fix typo in French translation, about debian/package.README.Debian files.
[debhelper.git] / dh_auto_install
index b35810a338d5cd39d536f15fdcea0a7dbb308f33..e05ea2d6914dcf5690beca314d878d05c60fd150 100755 (executable)
@@ -19,11 +19,11 @@ B<dh_auto_install> [S<I<debhelper options>>] [S<B<--> I<params>>]
 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, it is used.
+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 to act on. In the multiple binary package case, the files are
-instead installed into debian/tmp/, and should be moved from there to the
+package. In the multiple binary package case, the files are instead
+installed into debian/tmp/, and should be moved from there to the
 appropriate package build directory using L<dh_install(1)> or
 L<dh_movefiles(1)>.
 
@@ -32,7 +32,7 @@ If the Makefile was generated by MakeMaker from a Makefile.PL, it will
 automatically set PREFIX=/usr too, since such Makefiles need that.
 
 This is intended to work for about 90% of packages. If it doesn't work, or
-tries to use the wrong clean target, you're encoruaged to skip using
+tries to use the wrong clean target, you're encouraged to skip using
 dh_auto_install at all, and just run make install manually.
 
 =head1 OPTIONS
@@ -42,7 +42,7 @@ dh_auto_install at all, and just run make install manually.
 =item B<--> I<params>
 
 Pass "params" to the program that is run. These can be used to suppliment
-or override the any standard parameters that dh_auto_clean passes.
+or override the any standard parameters that dh_auto_install passes.
 
 =back
 
@@ -51,7 +51,8 @@ or override the any standard parameters that dh_auto_clean passes.
 init();
 
 my $destdir;
-if (@{$dh{DOPACKAGES}} > 1) {
+my @allpackages=getpackages();
+if (@allpackages > 1) {
        $destdir="debian/tmp";
 }
 else {
@@ -67,13 +68,11 @@ if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
                push @params, "PREFIX=/usr";
        }
        foreach my $target (qw{install}) {
-               # Make --question returns false if the target is
-               # up-to-date. But we still want to run the target in this
-               # case. So check if a target exists by seeing if make outputs
-               # "Making target".
-               my $ret=`LANG=C $ENV{MAKE} --question $target 2>/dev/null`;
+               # 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 ($ret =~ /^Making \Q$target\E/m) {
+               if (length $ret) {
                        doit($ENV{MAKE}, $target,
                                @params,
                                @{$dh{U_PARAMS}});
@@ -82,12 +81,15 @@ if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
        }
 }
 elsif (-e "setup.py") {
-       doit("python setup.py", "install", 
+       doit("python", "setup.py", "install", 
                "--root=$destdir",
                "--no-compile", "-O0",
                @{$dh{U_PARAMS}});
 }
-
+elsif (-e "Build.PL" && -e "Build") {
+       doit("perl", "Build", "install", "destdir=$destdir",
+               "create_packlist=0", @{$dh{U_PARAMS}});
+}
 
 =head1 SEE ALSO