[SCM] Debian package checker branch, master, updated. 2.5.9-16-g8b49129
The following commit has been merged in the master branch:
commit 8b49129339a01e3b9f9cda17239b7b372c386ef5
Author: Niels Thykier <niels@thykier.net>
Date: Mon Jun 25 20:49:03 2012 +0200
L::Lab::Manifest: Ensure source-version is defined
Simplify usage of manifests in L::Lab.
Signed-off-by: Niels Thykier <niels@thykier.net>
diff --git a/lib/Lintian/Lab.pm b/lib/Lintian/Lab.pm
index 3a54e29..93d8c07 100644
--- a/lib/Lintian/Lab.pm
+++ b/lib/Lintian/Lab.pm
@@ -274,7 +274,7 @@ sub get_package {
$e = $index->get (@keys);
return unless $e;
$pkg_src = $e->{'source'};
- $pkg_src_version = $e->{'source-version'}//$pkg_version;
+ $pkg_src_version = $e->{'source-version'};
}
$dir = $self->_pool_path ($pkg_src, $pkg_type, $pkg_name, $pkg_version, $pkg_arch);
push @entries, Lintian::Lab::Entry->_new ($self, $pkg_name, $pkg_version, $pkg_arch, $pkg_type, $pkg_path, $pkg_src, $pkg_src_version, $dir);
@@ -294,7 +294,7 @@ sub get_package {
$pp = $entry->{'file'};
$pkg_src = $entry->{'source'};
$dir = $self->_pool_path ($pkg_src, $pkg_type, $pkg_name, $v, $a);
- push @entries, Lintian::Lab::Entry->_new ($self, $pkg_name, $v, $a, $pkg_type, $pp, $pkg_src, $entry->{'source-version'}//$v, $dir);
+ push @entries, Lintian::Lab::Entry->_new ($self, $pkg_name, $v, $a, $pkg_type, $pp, $pkg_src, $entry->{'source-version'}, $dir);
};
my @sk = ($pkg_name);
push @sk, $pkg_version if defined $pkg_version;
@@ -326,7 +326,7 @@ sub visit_packages {
my ($me, $pkg_name, $pkg_version, $pkg_arch) = @_;
my $pkg_src = $me->{'source'}//$pkg_name;
my $dir = $self->_pool_path ($pkg_src, $pkg_type, $pkg_name, $pkg_version, $pkg_arch);
- my $pkg_src_version = $me->{'source-version'}//$pkg_version;
+ my $pkg_src_version = $me->{'source-version'};
my $lentry = Lintian::Lab::Entry->_new ($self, $pkg_name, $pkg_version, $pkg_arch,
$pkg_type, undef, $pkg_src, $pkg_src_version, $dir);
$visitor->($lentry, $pkg_name, $pkg_version, $pkg_arch);
@@ -465,7 +465,7 @@ sub repair_lab {
my ($metadata, @keys) = @_;
my ($pkg_name, $pkg_version, $pkg_arch) = @keys;
my $pkg_src = $metadata->{'source'}//$pkg_name;
- my $pkg_src_version = $metadata->{'source-version'}//$pkg_version;
+ my $pkg_src_version = $metadata->{'source-version'};
my $dir = $self->_pool_path ($pkg_src, $pkg_type, $pkg_name, $pkg_version, $pkg_arch);
my $entry;
unless ( -d $dir && -f "$dir/.lintian-status") {
diff --git a/lib/Lintian/Lab/Manifest.pm b/lib/Lintian/Lab/Manifest.pm
index df32fe6..ad2b566 100644
--- a/lib/Lintian/Lab/Manifest.pm
+++ b/lib/Lintian/Lab/Manifest.pm
@@ -321,6 +321,11 @@ sub set {
$val =~ tr/;\n/_ /;
$pdata{$field} = $val;
}
+ # define source-version as alias of version for
+ # source packages.
+ $pdata{'source-version'} = $pdata{'version'}
+ unless defined $pdata{'source-version'};
+
$self->_do_set ($self->{'state'}, $qf, \%pdata);
$self->_mark_dirty(1);
return 1;
@@ -463,6 +468,10 @@ sub _do_read_file {
for ( my $i = 0 ; $i < $count ; $i++) {
$entry->{$fields->[$i]} = $values[$i]//'';
}
+ # define source-version as alias of version for
+ # source packages.
+ $entry->{'source-version'} = $entry->{'version'}
+ unless defined $entry->{'source-version'};
$self->_do_set ($root, $qf, $entry);
}
close $fd;
--
Debian package checker
Reply to: