[SCM] Debian package checker branch, master, updated. 2.5.10-56-g3a62926
The following commit has been merged in the master branch:
commit 8bedbc5ca9be47c4470edc77aa2e0d1a4ee2d5c6
Author: Niels Thykier <niels@thykier.net>
Date: Mon Jul 16 22:57:17 2012 +0200
L::I::FrontendUtil: Always use Dpkg::Vendor
Remove the dpkg-vendor usage and instead always use Dpkg::Vendor to
find the default vendor. The Dpkg::Vendor API has been marked as
"stable", so there is no reason why it could not be used by default.
Signed-off-by: Niels Thykier <niels@thykier.net>
diff --git a/debian/changelog b/debian/changelog
index e5bd225..cebb864 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -70,6 +70,10 @@ lintian (2.5.11) UNRELEASED; urgency=low
+ [NT] Bump API for objdump method.
* lib/Lintian/Collect/Package.pm:
+ [NT] Strip leading slash off files extracted from tar.
+ * lib/Lintian/Internal/FrontendUtil.pm:
+ + [NT] Always use Dpkg::Vendor to determine the default
+ vendor. Previously dpkg-vendor would be preferred if
+ available.
* man/lintian.pod.in:
+ [NT] Remove documentation about removed options.
diff --git a/lib/Lintian/Internal/FrontendUtil.pm b/lib/Lintian/Internal/FrontendUtil.pm
index d56e86a..664c518 100644
--- a/lib/Lintian/Internal/FrontendUtil.pm
+++ b/lib/Lintian/Internal/FrontendUtil.pm
@@ -21,6 +21,9 @@ use strict;
use warnings;
use base qw(Exporter);
+
+use Dpkg::Vendor;
+
use Lintian::Util qw(check_path fail);
our @EXPORT = qw(&check_test_feature &find_default_profile);
@@ -36,65 +39,25 @@ sub check_test_feature{
return 0;
}
-# _find_parent_vendor_dpkg_vendor($vendor)
-#
-# returns the parent vendor using dpkg-vendor
-sub _find_parent_vendor_dpkg_vendor {
- my ($cur) = @_;
- my $par;
- chomp($par = `dpkg-vendor --vendor "$cur" --query Parent`);
- # dpkg-vendor returns 1 if there is no parent (because the query failed),
- # which we translate into ''; but other values suggests an internal
- # dpkg-vendor error.
- if ( $? ){
- my $err = ($? >> 8) & 256;
- fail('dpkg-vendor failed (status: ' . ($? >> 8). ").\n") if $err != 1;
- return '';
- }
- return $par;
-}
-
-# _find_parent_vendor_dpkg_vendor($vendor)
-#
-# returns the parent vendor using libdpkg-perl
-# - assumes Dpkg::Vendor has been required before
-# being invoked.
-sub _find_parent_vendor_libdpkg_perl {
- my ($cur) = @_;
- my $info = Dpkg::Vendor::get_vendor_info($cur);
- # Cannot happen atm, but in case Dpkg::Vendor changes its internals
- # or our code changes
- fail("Could not look up the parent vendor of $cur.\n") unless $info;
- return $info->{'Parent'};
-}
-
# find_default_profile(@prof_path)
#
# locates the default profile - used if no profile was explicitly given.
sub find_default_profile {
my (@prof_path) = @_;
- my ($vendor, $orig);
- # CODE-ref to query for the parent vendor
- # $qparent->("Ubuntu") returns Debian
- # $qparent->("Debian") returns '' or undef
- my $qparent;
- # Use dpkg-vendor if present (unless we are testing our libdpkg-perl code)
- if(check_path('dpkg-vendor') && !check_test_feature('vendor-libdpkg-perl')){
- chomp($vendor = `dpkg-vendor --query Vendor`);
- fail('dpkg-vendor failed (status: ' . ($? >> 8). ").\n") if $?;
- $qparent = \&_find_parent_vendor_dpkg_vendor;
- } else {
- require Dpkg::Vendor;
- $vendor = Dpkg::Vendor::get_current_vendor();
- fail("Could not determine the current vendor.\n") unless $vendor;
- $qparent = \&_find_parent_vendor_libdpkg_perl;
- }
- $orig = $vendor;
+ my $vendor = Dpkg::Vendor::get_current_vendor();
+ fail "Could not determine the current vendor.\n"
+ unless $vendor;
+ my $orig = $vendor; # copy
while ($vendor) {
my $p;
$p = Lintian::Profile->find_profile(lc($vendor), @prof_path);
last if $p;
- $vendor = $qparent->($vendor);
+ my $info = Dpkg::Vendor::get_vendor_info ($vendor);
+ # Cannot happen atm, but in case Dpkg::Vendor changes its internals
+ # or our code changes
+ fail "Could not look up the parent vendor of $vendor.\n"
+ unless $info;
+ $vendor = $info->{'Parent'};
}
fail("Could not find a profile for vendor $orig") unless $vendor;
return lc($vendor);
--
Debian package checker
Reply to: