]> git.donarmstrong.com Git - debhelper.git/commitdiff
Make perl_makemaker work properly when in source building is enforced.
authorModestas Vainius <modestas@vainius.eu>
Thu, 11 Jun 2009 08:47:20 +0000 (11:47 +0300)
committerModestas Vainius <modestas@vainius.eu>
Thu, 11 Jun 2009 08:54:52 +0000 (11:54 +0300)
This is backwards compatible (with << 7.3) until build, test and clean steps
are not reimplemented in the backwards compatibility breaking way. However,
this is absolutely necessary for enforce_in_source_building() to work in corner
cases (when build directory is set) in build, test and clean steps as the next
class (makefile) does not enforce it. makefile will fail as it will look for
Makefile in the build directory rather than the source directory.

Signed-off-by: Modestas Vainius <modestas@vainius.eu>
Debian/Debhelper/Buildsystem/perl_makemaker.pm

index ebce9a5878cb65dd57797bea32e2799d12682589..4281fa26c88460fc5e3773bf6123967e01ff49c9 100644 (file)
@@ -17,13 +17,22 @@ sub check_auto_buildable {
        my $this=shift;
        my ($step)=@_;
 
-       # Handles configure, install; the rest - next class
-       if ($step eq "install" || $step eq "configure") {
-               return -e $this->get_sourcepath("Makefile.PL");
-       }
-       else {
-               return 0;
+       # Handles everything if Makefile.PL exists. Otherwise - next class.
+       if (-e $this->get_sourcepath("Makefile.PL")) {
+               if ($step eq "install" || $step eq "configure") {
+                       return 1;
+               }
+               else {
+                       # This is backwards compatible (with << 7.3) until build, test and
+                       # clean steps are not reimplemented in the backwards compatibility
+                       # breaking way. However, this is absolutely necessary for
+                       # enforce_in_source_building() to work in corner cases in build,
+                       # test and clean steps as the next class (makefile) does not
+                       # enforce it.
+                       return $this->SUPER::check_auto_buildable(@_);
+               }
        }
+       return 0;
 }
 
 sub new {