]> git.donarmstrong.com Git - debhelper.git/commitdiff
Always respect DEB_${flag}_{APPEND,SET} envvars.
authorModestas Vainius <modax@debian.org>
Sun, 19 Jun 2011 20:53:14 +0000 (23:53 +0300)
committerJoey Hess <joey@kitenet.net>
Sun, 19 Jun 2011 22:01:32 +0000 (18:01 -0400)
Do that even when dpkg-buildpackage modifies environment variables. Also
document DEB_${flag}_{APPEND,SET} as recommended way to override standard build
flags.

Debian/Debhelper/Dh_Lib.pm
debian/changelog
dh
dh_auto_build
dh_auto_configure

index 174970b010c052966e27e551a28bdd568dd907cf..86f729adab3f1ea2fe8e7a0db38d2c518418d090 100644 (file)
@@ -917,7 +917,7 @@ sub set_buildflags {
        $buildflags->load_config();
        foreach my $flag ($buildflags->list()) {
                next unless $flag =~ /^[A-Z]/; # Skip flags starting with lowercase
-               if (! exists $ENV{$flag}) {
+               if (! exists $ENV{$flag} || $buildflags->get_origin($flag) eq "env") {
                        $ENV{$flag} = $buildflags->get($flag);
                }
        }
index 3be2eda4761f5ab94c66f60c65d4b0ab6863041d..743daa075a63b5d249f3562791ea08f4c492b722 100644 (file)
@@ -12,7 +12,9 @@ debhelper (8.1.7) UNRELEASED; urgency=low
     in --libexecdir when using autoconf. Closes: #541458
   * dh_auto_build, dh_auto_configure, dh: Set environment variables
     listed by dpkg-buildflags --export. Any environment variables that
-    are already set to other values will not be changed.
+    are already set to other values will not be changed unless
+    appropriate DEB_${flag}_{APPEND,SET} environment variables are also
+    set (see dpkg-buildflags(1)).
     Closes: #544844
   * Correct docs about multiarch and v9. Closes: #630826
 
diff --git a/dh b/dh
index aba8c270efb29d8bc9c4ebbcec67e14775d63b58..5ea6643ad33205b5cada9f410bfbeab78489e72a 100755 (executable)
--- a/dh
+++ b/dh
@@ -193,6 +193,18 @@ sequence addons like this:
        %:
                dh $@ --with quilt
 
+In order to override standard build flags, export appropriate environment
+variables as documented in the L<dpkg-buildflags(1)> manual page. They will be
+preferred over directly exported their counterparts (CFLAGS, CXXFLAGS, LDFLAGS
+etc.). For example, to append -Wall to the standard CFLAGS and CXXFLAGS, use:
+
+       #!/usr/bin/make -f
+       export DEB_CFLAGS_APPEND = -Wall
+       export DEB_CXXFLAGS_APPEND = -Wall
+       
+       %:
+               dh $@
+
 Here is an example of overriding where the B<dh_auto_>I<*> commands find
 the package's source, for a package where the source is located in a
 subdirectory.
index dccd04a0436a48cd6713ad19a2b0db9d573daf23..77b55eef84d5ee48d1249018e4ff402f7c2c1056 100755 (executable)
@@ -25,6 +25,11 @@ This is intended to work for about 90% of packages. If it doesn't work,
 you're encouraged to skip using B<dh_auto_build> at all, and just run the
 build process manually.
 
+In order to override standard build flags, export appropriate environment
+variables as documented in the L<dpkg-buildflags(1)> manual page. They will be
+preferred over directly exported their counterparts (CFLAGS, CXXFLAGS, LDFLAGS
+etc.).
+
 =head1 OPTIONS
 
 See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
index daf5ed047af223fbf8a61544d0ef4a4b20acf851..f08c0f6f5d2e47715742f4c2b1cdafd537b05893 100755 (executable)
@@ -28,6 +28,11 @@ This is intended to work for about 90% of packages. If it doesn't work,
 you're encouraged to skip using B<dh_auto_configure> at all, and just run
 F<./configure> or its equivalent manually.
 
+In order to override standard build flags, export appropriate environment
+variables as documented in the L<dpkg-buildflags(1)> manual page. They will be
+preferred over directly exported their counterparts (CFLAGS, CXXFLAGS, LDFLAGS
+etc.).
+
 =head1 OPTIONS
 
 See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build