summaryrefslogtreecommitdiff
path: root/Debian/Debhelper/Dh_Getopt.pm
diff options
context:
space:
mode:
authorjoey <joey>2001-05-29 22:24:20 +0000
committerjoey <joey>2001-05-29 22:24:20 +0000
commita524668098e5215a64ac4cc466b3de6590d13cfe (patch)
tree277495c22fc3c42b5980e85c069cc1e2e9818bb1 /Debian/Debhelper/Dh_Getopt.pm
parentc9c53916d94447ed7b33a6c1956142081071c206 (diff)
r472: * Fixed issues with extended parameters to dh_gencontrol including spaces
and quotes. This was some histirical cruft that deals with splitting up the string specified by -u, and it should not have applied to the set of options after --. Now that it's fixed, any and all programs that support a -- and options after it, do not require any special quoting of the succeeding options. Quote just like you would in whatever program those options go to. So, for example, dh_gencontrol -Vblah:Depends='foo, bar (>= 1.2)' will work just as you would hope. This fix does NOT apply to -u; don't use -u if you must do something complex. Closes: #89311 * Made escape_shell output a lot better.
Diffstat (limited to 'Debian/Debhelper/Dh_Getopt.pm')
-rw-r--r--Debian/Debhelper/Dh_Getopt.pm13
1 files changed, 10 insertions, 3 deletions
diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm
index 6d545e36..191227da 100644
--- a/Debian/Debhelper/Dh_Getopt.pm
+++ b/Debian/Debhelper/Dh_Getopt.pm
@@ -177,10 +177,17 @@ sub parseopts {
error("I have no package to build");
}
+ if (defined $options{U_PARAMS}) {
+ # Split the U_PARAMS up into an array.
+ my $u=$options{U_PARAMS};
+ undef $options{U_PARAMS};
+ push @{$options{U_PARAMS}}, split(/\s+/,$u);
+ }
+
# Anything left in @ARGV is options that appeared after a --
- # These options are added to U_PARAMS, while the non-option
- # values we collected replace them in @ARGV;
- $options{U_PARAMS}.=join(' ', @ARGV);
+ # These options are added to the U_PARAMS array, while the
+ # non-option values we collected replace them in @ARGV;
+ push @{$options{U_PARAMS}}, @ARGV;
@ARGV=@{$options{ARGV}} if exists $options{ARGV};
return %options;