]> git.donarmstrong.com Git - debhelper.git/commitdiff
Support --destdir option in dh_auto_install
authorModestas Vainius <modestas@vainius.eu>
Wed, 26 Aug 2009 20:49:39 +0000 (16:49 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Wed, 26 Aug 2009 20:49:39 +0000 (16:49 -0400)
This patch adds --destdir option to dh_auto_install which allows to override
destdir auto-selection. This basically closes #538201 since the same requested
behaviour can be achieved but in a more clean way.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
dh_auto_install

index b57db8399efb4edae5aaf1ceb2a630d5af462796..b4a355f0497f11bc8a3d72f5013091d2ec97eeb0 100755 (executable)
@@ -9,6 +9,7 @@ dh_auto_install - automatically runs make install or similar
 use strict;
 use Debian::Debhelper::Dh_Lib;
 use Debian::Debhelper::Dh_Buildsystems;
+use File::Spec;
 use Cwd;
 
 =head1 SYNOPSIS
@@ -25,10 +26,11 @@ if the environment variable is set). If there is a setup.py or Build.PL,
 it is used. Note that the Ant build system does not support installation,
 so dh_auto_install will not install files built using Ant.
 
-The files are installed into debian/<package>/ if there is only one binary
-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)>.
+Unless --destdir option is specified, the files are installed into
+debian/<package>/ if there is only one binary 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)>.
 
 DESTDIR is used to tell make where to install the files. 
 If the Makefile was generated by MakeMaker from a Makefile.PL, it will
@@ -45,6 +47,12 @@ system selection and control options.
 
 =over 4
 
+=item B<--destdir=>I<directory>
+
+Install files into the specified I<directory>. If this option is not specified,
+destination directory is determined automatically as described in the
+L</DESCRIPTION> section.
+
 =item B<--> I<params>
 
 Pass "params" to the program that is run. These can be used to supplement
@@ -54,17 +62,23 @@ or override the any standard parameters that dh_auto_install passes.
 
 =cut
 
-buildsystems_init();
-
 my $destdir;
-my @allpackages=getpackages();
-if (@allpackages > 1) {
-       $destdir="debian/tmp";
-}
-else {
-       $destdir=tmpdir($dh{MAINPACKAGE});
+
+buildsystems_init(options => {
+       "destdir=s" => \$destdir,
+});
+
+# If destdir is not specified, determine it automatically
+if (!$destdir) {
+       my @allpackages=getpackages();
+       if (@allpackages > 1) {
+               $destdir="debian/tmp";
+       }
+       else {
+               $destdir=tmpdir($dh{MAINPACKAGE});
+       }
 }
-$destdir=cwd()."/".$destdir;
+$destdir = File::Spec->rel2abs($destdir, Cwd::cwd());
 
 buildsystems_do("install", $destdir);