The following commit has been merged in the master branch:
commit ed84a9339452b934f4e740e389820e852a8bcd31
Author: Raphaël Hertzog <[email protected]>
Date:   Tue Aug 2 14:15:17 2011 +0200

    Dpkg::BuildOptions: enable usage of alternative variable names

diff --git a/scripts/Dpkg/BuildOptions.pm b/scripts/Dpkg/BuildOptions.pm
index 2638017..1accdec 100644
--- a/scripts/Dpkg/BuildOptions.pm
+++ b/scripts/Dpkg/BuildOptions.pm
@@ -19,7 +19,7 @@ package Dpkg::BuildOptions;
 use strict;
 use warnings;
 
-our $VERSION = "1.00";
+our $VERSION = "1.01";
 
 use Dpkg::Gettext;
 use Dpkg::ErrorHandling;
@@ -33,16 +33,18 @@ Dpkg::BuildOptions - parse and update build options
 =head1 DESCRIPTION
 
 The Dpkg::BuildOptions object can be used to manipulate options stored
-in the DEB_BUILD_OPTIONS environment variable.
+in environment variables like DEB_BUILD_OPTIONS and
+DEB_BUILD_MAINT_OPTIONS.
 
 =head1 FUNCTIONS
 
 =over 4
 
-=item my $bo = Dpkg::BuildOptions->new()
+=item my $bo = Dpkg::BuildOptions->new(%opts)
 
 Create a new Dpkg::BuildOptions object. It will be initialized based
-on the value of the DEB_BUILD_OPTIONS environment variable.
+on the value of the environment variable named $opts{'envvar'} (or
+DEB_BUILD_OPTIONS if that option is not set).
 
 =cut
 
@@ -53,9 +55,10 @@ sub new {
     my $self = {
         options => {},
        source => {},
+       envvar => $opts{'envvar'} // "DEB_BUILD_OPTIONS",
     };
     bless $self, $class;
-    $self->merge($ENV{DEB_BUILD_OPTIONS}, "DEB_BUILD_OPTIONS");
+    $self->merge($ENV{$self->{'envvar'}}, $self->{'envvar'});
     return $self;
 }
 
@@ -169,14 +172,14 @@ sub output {
 =item $bo->export([$var])
 
 Export the build options to the given environment variable. If omitted,
-DEB_BUILD_OPTIONS is assumed. The value set to the variable is also
-returned.
+the environment variable defined at creation time is assumed. The value
+set to the variable is also returned.
 
 =cut
 
 sub export {
     my ($self, $var) = @_;
-    $var = "DEB_BUILD_OPTIONS" unless defined $var;
+    $var = $self->{'envvar'} unless defined $var;
     my $content = $self->output();
     $ENV{$var} = $content;
     return $content;
@@ -184,6 +187,13 @@ sub export {
 
 =back
 
+=head1 CHANGES
+
+=head2 Version 1.01
+
+Enable to use another environment variable instead of DEB_BUILD_OPTIONS.
+Thus add support for the "envvar" option at creation time.
+
 =head1 AUTHOR
 
 Raphaël Hertzog <[email protected]>
diff --git a/scripts/t/300_Dpkg_BuildOptions.t 
b/scripts/t/300_Dpkg_BuildOptions.t
index d5979e4..a715549 100644
--- a/scripts/t/300_Dpkg_BuildOptions.t
+++ b/scripts/t/300_Dpkg_BuildOptions.t
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-use Test::More tests => 22;
+use Test::More tests => 24;
 use Dpkg::ErrorHandling;
 
 use strict;
@@ -66,3 +66,7 @@ $ENV{DEB_BUILD_OPTIONS} = 'foobar';
 $dbo = Dpkg::BuildOptions->new();
 $dbo->set("noopt", 1);
 is($dbo->output(), "foobar noopt", "output");
+
+$dbo = Dpkg::BuildOptions->new(envvar => "OTHER_VARIABLE");
+is($dbo->get("parallel"), 5, "import from other variable, check parallel");
+ok($dbo->has("noopt"), "import from other variable, check noopt");

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to