The branch, master has been updated
       via  e847eabd3ceca1c46a8611e796fd387f54c105fb (commit)
       via  d15b5133bb6dfc3e2af0aa44fdb6ed31f08f806b (commit)
       via  1331216d2b7803945c559d8caaa99bfe65d24f6c (commit)
       via  2c0c402c9d1c3a8ef9fe4c9951a4dcbe0c1b183e (commit)
      from  73d1da6222004348adf7810332651939a8380f9d (commit)


- Shortlog ------------------------------------------------------------
e847eab Switch perl programs to use the new Dpkg/ErrorHandling module
d15b513 Dpkg/ErrorHandling.pm: Use Dpkg module instead of defining $progname
1331216 Dpkg/ErrorHandling.pm: Set $warnable_error to 1 to match controllib.pl
2c0c402 Use shipped perl modules when calling perl programs at build time

Summary of changes:
 ChangeLog                      |   49 +++++++++++++++++++++++++++++++++++++
 debian/changelog               |    4 +++
 m4/arch.m4                     |    3 +-
 scripts/822-date.pl            |    4 +--
 scripts/Dpkg/ErrorHandling.pm  |   21 +++++++++++++---
 scripts/changelog/debian.pl    |    1 +
 scripts/controllib.pl          |   53 +---------------------------------------
 scripts/dpkg-architecture.pl   |    1 +
 scripts/dpkg-buildpackage.pl   |    4 +-
 scripts/dpkg-checkbuilddeps.pl |    1 +
 scripts/dpkg-distaddfile.pl    |    1 +
 scripts/dpkg-genchanges.pl     |    2 +
 scripts/dpkg-gencontrol.pl     |    2 +
 scripts/dpkg-gensymbols.pl     |    1 +
 scripts/dpkg-parsechangelog.pl |    4 +--
 scripts/dpkg-shlibdeps.pl      |    3 +-
 scripts/dpkg-source.pl         |    5 ++-
 17 files changed, 90 insertions(+), 69 deletions(-)
-----------------------------------------------------------------------
Details of changes:

commit e847eabd3ceca1c46a8611e796fd387f54c105fb
Author: Guillem Jover <[EMAIL PROTECTED]>
Date:   Thu Oct 11 04:14:42 2007 +0300

    Switch perl programs to use the new Dpkg/ErrorHandling module

diff --git a/ChangeLog b/ChangeLog
index cb11987..53f5c89 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2007-10-11  Guillem Jover  <[EMAIL PROTECTED]>
+
+       * 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  <[EMAIL PROTECTED]>
 
        * scripts/Dpkg/ErrorHandling.pm: Use Dpkg.
diff --git a/debian/changelog b/debian/changelog
index 7e22335..3b851c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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).
diff --git a/scripts/822-date.pl b/scripts/822-date.pl
index aa83d2a..0a00124 100755
--- a/scripts/822-date.pl
+++ b/scripts/822-date.pl
@@ -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."));
diff --git a/scripts/Dpkg/ErrorHandling.pm b/scripts/Dpkg/ErrorHandling.pm
index 8601eb5..663927a 100644
--- a/scripts/Dpkg/ErrorHandling.pm
+++ b/scripts/Dpkg/ErrorHandling.pm
@@ -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;
diff --git a/scripts/changelog/debian.pl b/scripts/changelog/debian.pl
index a557009..85a0b2e 100755
--- a/scripts/changelog/debian.pl
+++ b/scripts/changelog/debian.pl
@@ -5,6 +5,7 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(error internerr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
diff --git a/scripts/controllib.pl b/scripts/controllib.pl
index e7ef8ab..908455f 100755
--- a/scripts/controllib.pl
+++ b/scripts/controllib.pl
@@ -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;
diff --git a/scripts/dpkg-architecture.pl b/scripts/dpkg-architecture.pl
index 5588976..ae643d8 100755
--- a/scripts/dpkg-architecture.pl
+++ b/scripts/dpkg-architecture.pl
@@ -24,6 +24,7 @@ use warnings;
 
 use Dpkg;
 use Dpkg::Gettext;
+use Dpkg::ErrorHandling qw(warning syserr usageerr);
 
 push(@INC,$dpkglibdir);
 require 'controllib.pl';
diff --git a/scripts/dpkg-buildpackage.pl b/scripts/dpkg-buildpackage.pl
old mode 100644
new mode 100755
index 6e83741..579c198
--- a/scripts/dpkg-buildpackage.pl
+++ b/scripts/dpkg-buildpackage.pl
@@ -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 {
diff --git a/scripts/dpkg-checkbuilddeps.pl b/scripts/dpkg-checkbuilddeps.pl
index 9e30b84..6c14ba4 100755
--- a/scripts/dpkg-checkbuilddeps.pl
+++ b/scripts/dpkg-checkbuilddeps.pl
@@ -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';
diff --git a/scripts/dpkg-distaddfile.pl b/scripts/dpkg-distaddfile.pl
index e7ebb32..584ac66 100755
--- a/scripts/dpkg-distaddfile.pl
+++ b/scripts/dpkg-distaddfile.pl
@@ -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';
diff --git a/scripts/dpkg-genchanges.pl b/scripts/dpkg-genchanges.pl
index d17700b..ff76124 100755
--- a/scripts/dpkg-genchanges.pl
+++ b/scripts/dpkg-genchanges.pl
@@ -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';
diff --git a/scripts/dpkg-gencontrol.pl b/scripts/dpkg-gencontrol.pl
index 140c3cc..caf40c8 100755
--- a/scripts/dpkg-gencontrol.pl
+++ b/scripts/dpkg-gencontrol.pl
@@ -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';
diff --git a/scripts/dpkg-gensymbols.pl b/scripts/dpkg-gensymbols.pl
index 7718955..ee51c80 100755
--- a/scripts/dpkg-gensymbols.pl
+++ b/scripts/dpkg-gensymbols.pl
@@ -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");
 
diff --git a/scripts/dpkg-parsechangelog.pl b/scripts/dpkg-parsechangelog.pl
index 4a2e370..a95f213 100755
--- a/scripts/dpkg-parsechangelog.pl
+++ b/scripts/dpkg-parsechangelog.pl
@@ -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");
 
diff --git a/scripts/dpkg-shlibdeps.pl b/scripts/dpkg-shlibdeps.pl
index 15df7d7..ab1f9a2 100755
--- a/scripts/dpkg-shlibdeps.pl
+++ b/scripts/dpkg-shlibdeps.pl
@@ -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';
diff --git a/scripts/dpkg-source.pl b/scripts/dpkg-source.pl
index afbd609..ad4bc04 100755
--- a/scripts/dpkg-source.pl
+++ b/scripts/dpkg-source.pl
@@ -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;
 

commit d15b5133bb6dfc3e2af0aa44fdb6ed31f08f806b
Author: Guillem Jover <[EMAIL PROTECTED]>
Date:   Wed Oct 10 04:10:26 2007 +0300

    Dpkg/ErrorHandling.pm: Use Dpkg module instead of defining $progname

diff --git a/ChangeLog b/ChangeLog
index 95e4fd1..cb11987 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2007-10-10  Guillem Jover  <[EMAIL PROTECTED]>
 
+       * scripts/Dpkg/ErrorHandling.pm: Use Dpkg.
+       ($progname): Do not set nor declare it.
+
+2007-10-10  Guillem Jover  <[EMAIL PROTECTED]>
+
        * scripts/Dpkg/ErrorHandling.pm ($warnable_error): Set to 1 to match
        controllib.pl.
 
diff --git a/scripts/Dpkg/ErrorHandling.pm b/scripts/Dpkg/ErrorHandling.pm
index 3473ea4..8601eb5 100644
--- a/scripts/Dpkg/ErrorHandling.pm
+++ b/scripts/Dpkg/ErrorHandling.pm
@@ -1,5 +1,6 @@
 package Dpkg::ErrorHandling;
 
+use Dpkg;
 use Dpkg::Gettext;
 
 use base qw(Exporter);
@@ -8,7 +9,6 @@ our @EXPORT_OK = qw( failure syserr error internerr warning
 
 our $warnable_error = 1;
 our $quiet_warnings = 0;
-our $progname = "unknown";
 
 sub failure { die sprintf(_g("%s: failure: %s"), $progname, $_[0])."\n"; }
 sub syserr { die sprintf(_g("%s: failure: %s: %s"), $progname, $_[0], 
$!)."\n"; }

commit 1331216d2b7803945c559d8caaa99bfe65d24f6c
Author: Guillem Jover <[EMAIL PROTECTED]>
Date:   Wed Oct 10 04:06:31 2007 +0300

    Dpkg/ErrorHandling.pm: Set $warnable_error to 1 to match controllib.pl

diff --git a/ChangeLog b/ChangeLog
index a25b33f..95e4fd1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2007-10-10  Guillem Jover  <[EMAIL PROTECTED]>
 
+       * scripts/Dpkg/ErrorHandling.pm ($warnable_error): Set to 1 to match
+       controllib.pl.
+
+2007-10-10  Guillem Jover  <[EMAIL PROTECTED]>
+
        * m4/arch.m4(_DPKG_ARCHITECTURE): Set PERL5LIB when calling
        dpkg-architecture.pl to use the shipped perl modules instead of
        the system ones.
diff --git a/scripts/Dpkg/ErrorHandling.pm b/scripts/Dpkg/ErrorHandling.pm
index 3cb4040..3473ea4 100644
--- a/scripts/Dpkg/ErrorHandling.pm
+++ b/scripts/Dpkg/ErrorHandling.pm
@@ -6,7 +6,7 @@ use base qw(Exporter);
 our @EXPORT_OK = qw( failure syserr error internerr warning
                      warnerror subprocerr );
 
-our $warnable_error = 0;
+our $warnable_error = 1;
 our $quiet_warnings = 0;
 our $progname = "unknown";
 

commit 2c0c402c9d1c3a8ef9fe4c9951a4dcbe0c1b183e
Author: Guillem Jover <[EMAIL PROTECTED]>
Date:   Wed Oct 10 02:56:39 2007 +0300

    Use shipped perl modules when calling perl programs at build time

diff --git a/ChangeLog b/ChangeLog
index 5cadbaf..a25b33f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-10  Guillem Jover  <[EMAIL PROTECTED]>
+
+       * m4/arch.m4(_DPKG_ARCHITECTURE): Set PERL5LIB when calling
+       dpkg-architecture.pl to use the shipped perl modules instead of
+       the system ones.
+
 2007-10-09  Guillem Jover  <[EMAIL PROTECTED]>
 
        * scripts/dpkg-gensymbols.pl: Use new Dpkg module. Do not declare
diff --git a/debian/changelog b/debian/changelog
index 8abbda3..7e22335 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -38,6 +38,9 @@ dpkg (1.14.8) UNRELEASED; urgency=low
   * Various small fixes to the manpages suggested by Helge Kreutzmann.
     Closes: #445858
 
+  [ Guillem Jover ]
+  * Use shipped perl modules when calling perl programs at build time.
+
   [ Updated dpkg translations ]
   * Polish (Robert Luberda).
 
diff --git a/m4/arch.m4 b/m4/arch.m4
index 59c1364..e6f242a 100644
--- a/m4/arch.m4
+++ b/m4/arch.m4
@@ -4,7 +4,8 @@
 # the target architecture, to avoid duplicating its logic.
 AC_DEFUN([_DPKG_ARCHITECTURE], [
 AC_REQUIRE([AC_CANONICAL_SYSTEM])dnl
-$2="`cd $srcdir/scripts; ./dpkg-architecture.pl -t$target -q$1 2>/dev/null`"
+$2="`cd $srcdir/scripts; \
+     PERL5LIB=$(pwd) ./dpkg-architecture.pl -t$target -q$1 2>/dev/null`"
 ])# _DPKG_ARCHITECURE
 
 # DPKG_CPU_TYPE

-- 
dpkg's main repository


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

Reply via email to