summaryrefslogtreecommitdiff
path: root/Debian/Debhelper
diff options
context:
space:
mode:
authorModestas Vainius <modestas@vainius.eu>2009-06-13 17:25:31 +0300
committerModestas Vainius <modestas@vainius.eu>2009-06-13 17:30:57 +0300
commit62935f37b81b97baa72efd77a9e913756a60ac2c (patch)
tree99fc241bb40736571cd0bac79619a185e567da23 /Debian/Debhelper
parent9be81947e83e65726f2f34311276a153b5178a18 (diff)
Revert "Improvements in DH_OPTIONS handling and DH_AUTO_OPTIONS envvar support."
This mostly reverts commit f897611a77726655aea258af0c4d52a8ce759ebc. Remaining cosmetic changes (all functional changes have been reverted): * Refactoring of option string into split_options_string() sub (no semantic changes though). * Cosmetic change in Dh_Buildsystems.pm. Breaks testsuite.
Diffstat (limited to 'Debian/Debhelper')
-rw-r--r--Debian/Debhelper/Dh_Buildsystems.pm17
-rw-r--r--Debian/Debhelper/Dh_Getopt.pm35
-rw-r--r--Debian/Debhelper/Dh_Lib.pm4
3 files changed, 18 insertions, 38 deletions
diff --git a/Debian/Debhelper/Dh_Buildsystems.pm b/Debian/Debhelper/Dh_Buildsystems.pm
index 8e9920f1..ac09dd28 100644
--- a/Debian/Debhelper/Dh_Buildsystems.pm
+++ b/Debian/Debhelper/Dh_Buildsystems.pm
@@ -108,27 +108,30 @@ sub load_all_buildsystems {
sub buildsystems_init {
my %args=@_;
+ # TODO: Not documented in the manual pages yet.
+ # Initialize options from environment variables
+ if (exists $ENV{DH_AUTO_BUILDDIRECTORY}) {
+ $opt_builddir = $ENV{DH_AUTO_BUILDDIRECTORY};
+ }
+ if (exists $ENV{DH_AUTO_BUILDSYSTEM}) {
+ $opt_buildsys = $ENV{DH_AUTO_BUILDSYSTEM};
+ }
+
# Available command line options
my %options = (
- "d" => undef, # cancel default D_FLAG option spec
"d=s" => \$opt_sourcedir,
"sourcedirectory=s" => \$opt_sourcedir,
"b:s" => \$opt_builddir,
"builddirectory:s" => \$opt_builddir,
- "c=s" => \$opt_buildsys,
+ "m=s" => \$opt_buildsys,
"buildsystem=s" => \$opt_buildsys,
"l" => \$opt_list,
"--list" => \$opt_list,
);
$args{options}{$_} = $options{$_} foreach keys(%options);
-
- # Pass options from the DH_AUTO_OPTIONS environment variable
- if (defined $ENV{DH_AUTO_OPTIONS}) {
- $args{extra_args} = $ENV{DH_AUTO_OPTIONS};
- }
Debian::Debhelper::Dh_Lib::init(%args);
}
diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm
index 2a5aa6c2..9ca9d167 100644
--- a/Debian/Debhelper/Dh_Getopt.pm
+++ b/Debian/Debhelper/Dh_Getopt.pm
@@ -71,9 +71,9 @@ sub NonOption {
sub getoptions {
my $array=shift;
- my $extraoptions=shift;
+ my %options=%{shift()} if ref $_[0];
- my %options=(
+ Getopt::Long::GetOptionsFromArray($array,
"v" => \$dh{VERBOSE},
"verbose" => \$dh{VERBOSE},
@@ -137,35 +137,21 @@ sub getoptions {
"ignore=s" => \&AddIgnore,
- "<>" => \&NonOption,
- );
-
- # Merge extra options and cancel default ones as needed (undef)
- if (defined $extraoptions) {
- for my $opt (keys %$extraoptions) {
- if (defined $extraoptions->{$opt}) {
- $options{$opt}=$extraoptions->{$opt};
- }
- else {
- delete $options{$opt};
- }
- }
- }
+ %options,
- Getopt::Long::GetOptionsFromArray($array, %options);
+ "<>" => \&NonOption,
+ )
}
sub split_options_string {
my $str=shift;
-
$str=~s/^\s+//;
- return map { $_=~s/\\(\s)/$1/g; $_=~s/\s+$//g; $_ } split(/(?<!\\)\s+/,$str);
+ return split(/\s+/,$str);
}
# Parse options and set %dh values.
sub parseopts {
my $options=shift;
- my $extra_args=shift;
my @ARGV_extra;
@@ -208,15 +194,6 @@ sub parseopts {
}
}
- if (defined $extra_args) {
- my @extra_opts=split_options_string($extra_args);
- my $ret=getoptions(\@extra_opts, $options);
- if (!$ret) {
- warning("warning: ignored unknown options");
- }
- push @ARGV_extra, @extra_opts;
- }
-
my $ret=getoptions(\@ARGV, $options);
if (!$ret) {
warning("warning: unknown options will be a fatal error in a future debhelper release");
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index b3162d07..28a90f7b 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -29,10 +29,10 @@ sub init {
# Getopt::Long, which I'd prefer to avoid loading at all if possible.
if ((defined $ENV{DH_OPTIONS} && length $ENV{DH_OPTIONS}) ||
(defined $ENV{DH_INTERNAL_OPTIONS} && length $ENV{DH_INTERNAL_OPTIONS}) ||
- (defined $params{extra_args}) || grep /^-/, @ARGV) {
+ grep /^-/, @ARGV) {
eval "use Debian::Debhelper::Dh_Getopt";
error($@) if $@;
- Debian::Debhelper::Dh_Getopt::parseopts($params{options}, $params{extra_args});
+ Debian::Debhelper::Dh_Getopt::parseopts($params{options});
}
# Another way to set excludes.