diff options
-rwxr-xr-x | dh_auto_build | 16 | ||||
-rwxr-xr-x | dh_auto_clean | 29 | ||||
-rwxr-xr-x | dh_auto_configure | 40 | ||||
-rwxr-xr-x | dh_auto_install | 39 | ||||
-rwxr-xr-x | dh_auto_test | 23 |
5 files changed, 17 insertions, 130 deletions
diff --git a/dh_auto_build b/dh_auto_build index 75ce51cf..9cfe70ef 100755 --- a/dh_auto_build +++ b/dh_auto_build @@ -7,7 +7,7 @@ dh_auto_build - automatically builds a package =cut use strict; -use Debian::Debhelper::Dh_Lib; +use Debian::Debhelper::Dh_Buildsystems; =head1 SYNOPSIS @@ -37,18 +37,8 @@ or override any standard parameters that dh_auto_build passes. =cut -init(); - -if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") { - doit(exists $ENV{MAKE} ? $ENV{MAKE} : "make", @{$dh{U_PARAMS}}); -} -elsif (-e "setup.py") { - doit("python", "setup.py", "build", @{$dh{U_PARAMS}}); -} -elsif (-e "Build.PL" && -e "Build") { - $ENV{MODULEBUILDRC} = "/dev/null"; - doit("perl", "Build", @{$dh{U_PARAMS}}); -} +my $manager = new Debian::Debhelper::Dh_Buildsystems; +$manager->run_dh_auto_tool(); =head1 SEE ALSO diff --git a/dh_auto_clean b/dh_auto_clean index 610155ae..75f3ce48 100755 --- a/dh_auto_clean +++ b/dh_auto_clean @@ -7,7 +7,7 @@ dh_auto_clean - automatically cleans up after a build =cut use strict; -use Debian::Debhelper::Dh_Lib; +use Debian::Debhelper::Dh_Buildsystems; =head1 SYNOPSIS @@ -38,31 +38,8 @@ or override the any standard parameters that dh_auto_clean passes. =cut -init(); - -if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") { - $ENV{MAKE}="make" unless exists $ENV{MAKE}; - foreach my $target (qw{distclean realclean clean}) { - # 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, @{$dh{U_PARAMS}}); - last; - } - } -} -elsif (-e "setup.py") { - doit("python", "setup.py", "clean", "-a", @{$dh{U_PARAMS}}); - # The setup.py might import files, leading to python creating pyc - # files. - doit('find', '.', '-name', '*.pyc', '-exec', 'rm', '{}', ';'); -} -elsif (-e "Build.PL" && -e "Build") { - $ENV{MODULEBUILDRC} = "/dev/null"; - doit("perl", "Build", "--allow_mb_mismatch", 1, "distclean", @{$dh{U_PARAMS}}); -} +my $manager = new Debian::Debhelper::Dh_Buildsystems; +$manager->run_dh_auto_tool(); =head1 SEE ALSO diff --git a/dh_auto_configure b/dh_auto_configure index 0445c343..e846e999 100755 --- a/dh_auto_configure +++ b/dh_auto_configure @@ -7,7 +7,7 @@ dh_auto_configure - automatically configure a package prior to building =cut use strict; -use Debian::Debhelper::Dh_Lib; +use Debian::Debhelper::Dh_Buildsystems; =head1 SYNOPSIS @@ -17,7 +17,7 @@ B<dh_auto_configure> [S<I<debhelper options>>] [S<B<--> I<params>>] dh_auto_configure is a debhelper program that tries to automatically configure a package prior to building. It looks for and runs a ./configure -script, Makefile.PL, or Build.PL. A standard set of parameters is +script, Makefile.PL, Build.PL, or cmake. A standard set of parameters is determined and passed to the program that is run. If no program to run is found, dh_auto_configure will exit without doing anything. @@ -38,40 +38,8 @@ or override the standard parameters that dh_auto_configure passes. =cut -init(); - -if (-x "configure") { - # Standard set of options for configure. - my @opts; - push @opts, "--build=".dpkg_architecture_value("DEB_BUILD_GNU_TYPE"); - push @opts, "--prefix=/usr"; - push @opts, "--includedir=\${prefix}/include"; - push @opts, "--mandir=\${prefix}/share/man"; - push @opts, "--infodir=\${prefix}/share/info"; - push @opts, "--sysconfdir=/etc"; - push @opts, "--localstatedir=/var"; - push @opts, "--libexecdir=\${prefix}/lib/".sourcepackage(); - push @opts, "--disable-maintainer-mode"; - push @opts, "--disable-dependency-tracking"; - # Provide --host only if different from --build, as recommended in - # autotools-dev README.Debian: When provided (even if equal) autotools - # 2.52+ switches to cross-compiling mode. - if (dpkg_architecture_value("DEB_BUILD_GNU_TYPE") ne dpkg_architecture_value("DEB_HOST_GNU_TYPE")) { - push @opts, "--host=".dpkg_architecture_value("DEB_HOST_GNU_TYPE"); - } - doit("./configure", @opts, @{$dh{U_PARAMS}}); -} -elsif (-e "Makefile.PL") { - # If set to a true value then MakeMaker's prompt function will - # # always return the default without waiting for user input. - $ENV{PERL_MM_USE_DEFAULT}=1; - doit("perl", "Makefile.PL", "INSTALLDIRS=vendor", @{$dh{U_PARAMS}}); -} -elsif (-e "Build.PL") { - $ENV{PERL_MM_USE_DEFAULT}=1; # Module::Build can also use this. - $ENV{MODULEBUILDRC} = "/dev/null"; - doit("perl", "Build.PL", "installdirs=vendor", @{$dh{U_PARAMS}}); -} +my $manager = new Debian::Debhelper::Dh_Buildsystems; +$manager->run_dh_auto_tool(); =head1 SEE ALSO diff --git a/dh_auto_install b/dh_auto_install index 264725ca..c115a184 100755 --- a/dh_auto_install +++ b/dh_auto_install @@ -8,6 +8,7 @@ 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 @@ -48,7 +49,8 @@ or override the any standard parameters that dh_auto_install passes. =cut -init(); +my $manager = new Debian::Debhelper::Dh_Buildsystems; +$manager->init_dh_auto_tool(); my $destdir; my @allpackages=getpackages(); @@ -60,40 +62,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}}); -} +$manager->run_dh_auto_tool($destdir); =head1 SEE ALSO diff --git a/dh_auto_test b/dh_auto_test index ea2d7fdc..9dda30fb 100755 --- a/dh_auto_test +++ b/dh_auto_test @@ -7,7 +7,7 @@ dh_auto_test - automatically runs a package's test suites =cut use strict; -use Debian::Debhelper::Dh_Lib; +use Debian::Debhelper::Dh_Buildsystems; =head1 SYNOPSIS @@ -44,29 +44,12 @@ tests will be performed. =cut -init(); - if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nocheck/) { exit 0; } -if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") { - $ENV{MAKE}="make" unless exists $ENV{MAKE}; - foreach my $target (qw{test check}) { - # 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, @{$dh{U_PARAMS}}); - last; - } - } -} -elsif (-e "Build.PL" && -e "Build") { - $ENV{MODULEBUILDRC} = "/dev/null"; - doit(qw/perl Build test/, @{$dh{U_PARAMS}}); -} +my $manager = new Debian::Debhelper::Dh_Buildsystems; +$manager->run_dh_auto_tool(); =head1 SEE ALSO |