[SCM] Git repository for devscripts branch, master, updated. v2.11.9-4-g8631936
James McCoy
jamessan at debian.org
Fri Jun 29 02:09:50 UTC 2012
The following commit has been merged in the master branch:
commit 8631936c537335d66bb685dab55844d5fde262b5
Author: James McCoy <jamessan at debian.org>
Date: Thu Jun 28 22:09:22 2012 -0400
dscverify: Use GetOptions to handle argument parsing.
Closes: #679148
Signed-off-by: James McCoy <jamessan at debian.org>
diff --git a/debian/changelog b/debian/changelog
index b32bef1..539295e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,7 @@ devscripts (2.11.10) UNRELEASED; urgency=low
[ James McCoy ]
* build-rdeps, chdist, debsnap, dpkg-depcheck, rc-alert: Exit when unknown
options are provided. (Closes: #679374)
+ * dscverify: Use GetOptions to handle argument parsing. (Closes: #679148)
-- Benjamin Drung <bdrung at debian.org> Sun, 17 Jun 2012 23:33:41 +0200
diff --git a/scripts/dscverify.pl b/scripts/dscverify.pl
index e7af118..1a3ec1c 100755
--- a/scripts/dscverify.pl
+++ b/scripts/dscverify.pl
@@ -26,6 +26,7 @@ use strict;
use Cwd;
use File::Basename;
use POSIX qw(:errno_h);
+use Getopt::Long qw(:config gnu_getopt);
BEGIN {
eval { require Digest::MD5; };
@@ -346,52 +347,22 @@ sub main {
@rings = split /\s*:\s*/, $config_vars{'DSCVERIFY_KEYRINGS'};
}
- ## handle command-line options
- while (@ARGV > 0) {
- if ($ARGV[0] eq '--help') { usage; exit 0; }
- if ($ARGV[0] eq '--version') { print $version; exit 0; }
- if ($ARGV[0] =~ /^(--no(sig|-sig-)check|-u)$/) { $verify_sigs = 0; shift @ARGV; }
- if ($ARGV[0] =~ /^--no-?conf$/) {
- xdie "$ARGV[0] is only acceptable as the first command-line option!\n";
- }
- if ($ARGV[0] eq '--no-default-keyrings') {
- $use_default_keyrings = 0;
- shift @ARGV;
- }
- if ($ARGV[0] eq '--keyring') {
- shift @ARGV;
- if (@ARGV > 0) {
- my $ring = shift @ARGV;
- if (-r $ring) {
- push @rings, $ring;
- }
- else {
- xwarn "Keyring $ring unreadable\n";
- }
- }
- # Don't need an 'else' here; a trailing --keyring will cause
- # the program to die anyway (no .changes file)
- next;
- }
- if ($ARGV[0] =~ s/^--keyring=//) {
- my $ring = shift @ARGV;
- if (-r $ring) {
- push @rings, $ring;
- }
- else {
- xwarn "Keyring $ring unreadable\n";
- }
- next;
- }
- if ($ARGV[0] eq '--verbose') {
- shift @ARGV;
- $verbose = 1;
- }
- if ($ARGV[0] eq '--') {
- shift @ARGV; last;
- }
- last;
- }
+ GetOptions(
+ 'help' => sub { usage; exit 0; },
+ 'version' => sub { print $version; exit 0; },
+ 'sigcheck|sig-check!' => \$verify_sigs,
+ 'u' => sub { $verify_sigs = 0 },
+ 'noconf|no-conf' => sub {
+ die "--$_[0] is only acceptable as the first command-line option!\n";
+ },
+ 'default-keyrings!' => \$use_default_keyrings,
+ 'keyring=s@' => sub {
+ my $ring = $_[1];
+ if (-r $ring) { push @rings, $ring; }
+ else { die "Keyring $ring unreadable\n" }
+ },
+ 'verbose' => \$verbose,
+ ) or do { usage; exit 1 };
@ARGV or xdie "no .changes or .dsc files specified\n";
--
Git repository for devscripts
More information about the devscripts-devel
mailing list