]> err.no Git - dpkg/commitdiff
Switch perl programs to use the new Dpkg/ErrorHandling module
authorGuillem Jover <guillem@debian.org>
Thu, 11 Oct 2007 01:14:42 +0000 (04:14 +0300)
committerGuillem Jover <guillem@debian.org>
Thu, 11 Oct 2007 01:23:08 +0000 (04:23 +0300)
16 files changed:
ChangeLog
debian/changelog
scripts/822-date.pl
scripts/Dpkg/ErrorHandling.pm
scripts/changelog/debian.pl
scripts/controllib.pl
scripts/dpkg-architecture.pl
scripts/dpkg-buildpackage.pl [changed mode: 0644->0755]
scripts/dpkg-checkbuilddeps.pl
scripts/dpkg-distaddfile.pl
scripts/dpkg-genchanges.pl
scripts/dpkg-gencontrol.pl
scripts/dpkg-gensymbols.pl
scripts/dpkg-parsechangelog.pl
scripts/dpkg-shlibdeps.pl
scripts/dpkg-source.pl

index cb11987c02632eb94d455ab178ef2aabcf68d297..53f5c89a46f675604d539b5db6084d834ca91299 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2007-10-11  Guillem Jover  <guillem@debian.org>
+
+       * scripts/controllib.pl ($warnable_error, $quiet_warnings): Remove
+       variable declarations.
+       (failure, syserr, error, internerr, warning, warnerror)
+       (subprocerr): Remove functions.
+       (unknown, usageerr): Move functions to ...
+       * scripts/Dpkg/ErrorHandling.pm: ... here.
+       (usageerr): Call usage from main::.
+       (@EXPORT_OK): Add usageerr and unknown.
+
+       * scripts/822-date.pl: Use Dpkg::ErrorHandling.
+       * scripts/changelog/debian.pl: Likewise.
+       * scripts/controllib.pl: Likewise.
+       * scripts/dpkg-architecture.pl: Likewise.
+       * scripts/dpkg-buildpackage.pl: Likewise.
+       * scripts/dpkg-checkbuilddeps.pl: Likewise.
+       * scripts/dpkg-distaddfile.pl: Likewise.
+       * scripts/dpkg-genchanges.pl: Likewise.
+       * scripts/dpkg-gencontrol.pl: Likewise.
+       * scripts/dpkg-gensymbols.pl: Likewise.
+       * scripts/dpkg-parsechangelog.pl: Likewise.
+       * scripts/dpkg-shlibdeps.pl: Likewise.
+       * scripts/dpkg-source.pl: Likewise.
+
+       * scripts/dpkg-buildpackage.pl ($warnable_error): Import from
+       Dpkg::ErrorHandling instead of declaring as our.
+       * scripts/dpkg-source.pl ($warnable_error, $quiet_warnings): Likewise.
+
+       * scripts/822-date.pl: Do not require controllib.pl anymore.
+       * scripts/dpkg-parsechangelog.pl: Likewise.
+       * scripts/dpkg-shlibdeps.pl: Likewise.
+
 2007-10-10  Guillem Jover  <guillem@debian.org>
 
        * scripts/Dpkg/ErrorHandling.pm: Use Dpkg.
index 7e2233578cf8374af42adf515a53d7633bf88df3..3b851c83f3a0333910d62d943a97b1288715c8bf 100644 (file)
@@ -40,6 +40,7 @@ dpkg (1.14.8) UNRELEASED; urgency=low
 
   [ Guillem Jover ]
   * Use shipped perl modules when calling perl programs at build time.
+  * Switch perl programs to use the new Dpkg/ErrorHandling module.
 
   [ Updated dpkg translations ]
   * Polish (Robert Luberda).
index aa83d2a9616dbbc9c6668a5ad72454e77fffb05f..0a0012450a8105a9bb5cca5ce22a00dbd1c9345a 100755 (executable)
@@ -5,12 +5,10 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning);
 
 textdomain("dpkg-dev");
 
-push(@INC, $dpkglibdir);
-require 'controllib.pl';
-
 @ARGV && die _g("Usage: 822-date")."\n";
 
 warning(_g("This program is deprecated. Please use 'date -R' instead."));
index 8601eb511f2812563300c94b608da1d9ec641e35..663927ab1c6767ed8aa067aadb86c507e79fda00 100644 (file)
@@ -4,8 +4,8 @@ use Dpkg;
 use Dpkg::Gettext;
 
 use base qw(Exporter);
-our @EXPORT_OK = qw( failure syserr error internerr warning
-                     warnerror subprocerr );
+our @EXPORT_OK = qw(warning warnerror error failure unknown syserr internerr
+                    subprocerr usageerr $warnable_error $quiet_warnings);
 
 our $warnable_error = 1;
 our $quiet_warnings = 0;
@@ -31,6 +31,12 @@ sub warnerror
     }
 }
 
+sub unknown {
+    my $field = $_;
+    warning(sprintf(_g("unknown information field '%s' in input data in %s"),
+                    $field, $_[0]));
+}
+
 sub subprocerr {
     my ($p) = @_;
     require POSIX;
@@ -46,5 +52,12 @@ sub subprocerr {
     }
 }
 
+sub usageerr
+{
+    printf(STDERR "%s: %s\n\n", $progname, "@_");
+    # XXX: access to main namespace
+    main::usage();
+    exit(2);
+}
 
 1;
index a557009d0eef9f4396a497c3fcd229c1953fab06..85a0b2e33717a6588177bfa5e9354e68e860089e 100755 (executable)
@@ -5,6 +5,7 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(error internerr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
index e7ef8abde68d38aa4a5e048db17c8cff0cd01c31..908455fdf71438deab83b6be335f828a9b4725ba 100755 (executable)
@@ -7,6 +7,7 @@ use English;
 use POSIX qw(:errno_h);
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error failure internerr syserr subprocerr);
 
 textdomain("dpkg-dev");
 
@@ -29,9 +30,6 @@ our @pkg_dep_fields = qw(Pre-Depends Depends Recommends Suggests Enhances
 our @src_dep_fields = qw(Build-Depends Build-Depends-Indep
                          Build-Conflicts Build-Conflicts-Indep);
 
-our $warnable_error = 1;
-our $quiet_warnings = 0;
-
 
 sub getfowner
 {
@@ -655,57 +653,8 @@ sub parsecdata {
     return $index;
 }
 
-sub unknown {
-    my $field = $_;
-    warning(sprintf(_g("unknown information field '%s' in input data in %s"),
-                    $field, $_[0]));
-}
-
 sub syntax {
     &error(sprintf(_g("syntax error in %s at line %d: %s"), $whatmsg, $., $_[0]));
 }
 
-sub failure { die sprintf(_g("%s: failure: %s"), $progname, $_[0])."\n"; }
-sub syserr { die sprintf(_g("%s: failure: %s: %s"), $progname, $_[0], $!)."\n"; }
-sub error { die sprintf(_g("%s: error: %s"), $progname, $_[0])."\n"; }
-sub internerr { die sprintf(_g("%s: internal error: %s"), $progname, $_[0])."\n"; }
-
-sub warning
-{
-    if (!$quiet_warnings) {
-       warn sprintf(_g("%s: warning: %s"), $progname, $_[0])."\n";
-    }
-}
-
-sub usageerr
-{
-    printf(STDERR "%s: %s\n\n", $progname, "@_");
-    &usage;
-    exit(2);
-}
-
-sub warnerror
-{
-    if ($warnable_error) {
-       warning(@_);
-    } else {
-       error(@_);
-    }
-}
-
-sub subprocerr {
-    my ($p) = @_;
-    require POSIX;
-    if (POSIX::WIFEXITED($?)) {
-        die sprintf(_g("%s: failure: %s gave error exit status %s"),
-                    $progname, $p, POSIX::WEXITSTATUS($?))."\n";
-    } elsif (POSIX::WIFSIGNALED($?)) {
-        die sprintf(_g("%s: failure: %s died from signal %s"),
-                    $progname, $p, POSIX::WTERMSIG($?))."\n";
-    } else {
-        die sprintf(_g("%s: failure: %s failed with unknown exit code %d"),
-                    $progname, $p, $?)."\n";
-    }
-}
-
 1;
index 5588976d166a4ab77e7f8a6eb7ce98ba4bfa29b7..ae643d8459fb3c84690391d23055e3e21d8266b1 100755 (executable)
@@ -24,6 +24,7 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning syserr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
old mode 100644 (file)
new mode 100755 (executable)
index 6e83741..579c198
@@ -8,13 +8,13 @@ use File::Basename;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error failure syserr subprocerr usageerr
+                           $warnable_error);
 use Dpkg::BuildOptions;
 
 push (@INC, $dpkglibdir);
 require 'controllib.pl';
 
-our $warnable_error;
-
 textdomain("dpkg-dev");
 
 sub showversion {
index 9e30b84c7b62e51ff9fb6c6a627491feb29659a2..6c14ba472c752b2f62378829019ddada06e24a93 100755 (executable)
@@ -7,6 +7,7 @@ use warnings;
 use Getopt::Long;
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(error);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
index e7ebb329aab8a022a0edbe737e812fe130fde7df..584ac66730095137fd0e4403a86cdcc32f06b673 100755 (executable)
@@ -7,6 +7,7 @@ use POSIX;
 use POSIX qw(:errno_h :signal_h);
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(error syserr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
index d17700b881ff843bfcb49ebdd4ac1a0b4125154e..ff76124022da9ec88459ef32482331ac02fcfd69 100755 (executable)
@@ -7,6 +7,8 @@ use POSIX;
 use POSIX qw(:errno_h :signal_h);
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error failure unknown internerr syserr
+                           subprocerr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
index 140c3cc7bea92eba405fda6e607a5bc82a3a2892..caf40c80b0e5b609847af701e6a1141c78ebe591 100755 (executable)
@@ -7,6 +7,8 @@ use POSIX;
 use POSIX qw(:errno_h);
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error failure unknown internerr syserr
+                           subprocerr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
index 771895526009c2c4dff1230b7e6d126eb299caad..ee51c801aa5800d82c41222ddb13d50dec95dcbf 100755 (executable)
@@ -8,6 +8,7 @@ use Dpkg::Shlibs qw(@librarypaths);
 use Dpkg::Shlibs::Objdump;
 use Dpkg::Shlibs::SymbolFile;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error syserr usageerr);
 
 textdomain("dpkg-dev");
 
index 4a2e370cc5bf4786736f71185308d9ab7df90f1f..a95f2136531f12a50d06fdd70cda070047a41073 100755 (executable)
@@ -7,9 +7,7 @@ use POSIX;
 use POSIX qw(:errno_h);
 use Dpkg;
 use Dpkg::Gettext;
-
-push(@INC,$dpkglibdir);
-require 'controllib.pl';
+use Dpkg::ErrorHandling qw(warning error syserr subprocerr usageerr);
 
 textdomain("dpkg-dev");
 
index 15df7d7fe9aba81d9bdec376a1b3b2f64730b5c3..ab1f9a2df7079373a64733e92eac13ec9ad1205d 100755 (executable)
@@ -7,6 +7,7 @@ use English;
 use POSIX qw(:errno_h :signal_h);
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning error failure syserr usageerr);
 use Dpkg::Path qw(relative_to_pkg_root);
 use Dpkg::Version qw(vercmp);
 use Dpkg::Shlibs qw(find_library);
@@ -20,8 +21,6 @@ chomp $host_arch;
 my @depfields= qw(Suggests Recommends Depends Pre-Depends);
 my $i=0; my %depstrength = map { $_ => $i++ } @depfields;
 
-push(@INC, $dpkglibdir);
-require 'controllib.pl';
 textdomain("dpkg-dev");
 
 my $shlibsoverride= '/etc/dpkg/shlibs.override';
index afbd609ac759598107887d255bf3790eca34a1be..ad4bc045a3961c3592e11b4d0b4c3968053a769c 100755 (executable)
@@ -5,6 +5,9 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning warnerror error failure unknown
+                           internerr syserr subprocerr usageerr
+                           $warnable_error $quiet_warnings);
 
 my @filesinarchive;
 my %dirincluded;
@@ -109,8 +112,6 @@ require 'controllib.pl';
 
 our (%f, %fi);
 our $sourcepackage;
-our $warnable_error;
-our $quiet_warnings;
 our %substvar;
 our @src_dep_fields;