[SCM] Debian package checker branch, infra-513663, updated. 2.5.0-rc2-120-gbca20b5
The following commit has been merged in the infra-513663 branch:
commit 48871a63d48086d5f24fef736bf0f3ae0bf4f06d
Author: Niels Thykier <niels@thykier.net>
Date: Tue Apr 12 10:26:17 2011 +0200
Removed assumption that cwd is the direct containing src info
diff --git a/lib/Lintian/Collect/Source.pm b/lib/Lintian/Collect/Source.pm
index 810380b..c2628f5 100644
--- a/lib/Lintian/Collect/Source.pm
+++ b/lib/Lintian/Collect/Source.pm
@@ -45,10 +45,12 @@ sub new {
sub changelog {
my ($self) = @_;
return $self->{changelog} if exists $self->{changelog};
- if (-l 'debfiles/changelog' || ! -f 'debfiles/changelog') {
+ my $base_dir = $self->base_dir();
+ if (-l "$base_dir/debfiles/changelog" ||
+ ! -f "$base_dir/debfiles/changelog") {
$self->{changelog} = undef;
} else {
- my %opts = (infile => 'debfiles/changelog', quiet => 1);
+ my %opts = (infile => "$base_dir/debfiles/changelog", quiet => 1);
$self->{changelog} = Parse::DebianChangelog->init(\%opts);
}
return $self->{changelog};
@@ -63,13 +65,16 @@ sub native {
my ($self) = @_;
return $self->{native} if exists $self->{native};
my $format = $self->field('format');
- if ($format =~ /^\s*2\.0\s*$/ or $format =~ /^\s*3\.0\s+\(quilt\)\s*$/) {
+ if ($format =~ m/^\s*2\.0\s*$/o or $format =~ m/^\s*3\.0\s+\(quilt\)\s*$/o) {
$self->{native} = 0;
+ } elsif ($format =~ m/^\s*3\.0\s+\(native\)\s*$/o) {
+ $self->{native} = 1;
} else {
my $version = $self->field('version');
+ my $base_dir = $self->base_dir();
$version =~ s/^\d+://;
my $name = $self->{name};
- $self->{native} = (-f "${name}_${version}.diff.gz" ? 0 : 1);
+ $self->{native} = (-f "$base_dir/${name}_${version}.diff.gz" ? 0 : 1);
}
return $self->{native};
}
@@ -80,8 +85,9 @@ sub binaries {
my ($self) = @_;
return $self->{binaries} if exists $self->{binaries};
my %binaries;
+ my $base_dir = $self->base_dir();
# sub binaries Needs-Info source-control-file
- opendir(BINPKGS, 'control') or fail("can't open control directory: $!");
+ opendir(BINPKGS, "$base_dir/control") or fail("can't open control directory: $!");
for my $package (readdir BINPKGS) {
next if $package =~ /^\.\.?$/;
my $type = $self->binary_field($package, 'xc-package-type') || 'deb';
@@ -100,9 +106,10 @@ sub binary_field {
return $self->{binary_field}{$package}{$field}
if exists $self->{binary_field}{$package}{$field};
my $value = '';
+ my $base_dir = $self->base_dir();
# sub binary_field Needs-Info source-control-file
- if (-f "control/$package/$field") {
- $value = slurp_entire_file("control/$package/$field");
+ if (-f "$base_dir/control/$package/$field") {
+ $value = slurp_entire_file("$base_dir/control/$package/$field");
chomp $value;
}
$self->{binary_field}{$package}{$field} = $value;
@@ -152,8 +159,9 @@ sub file_info {
return $self->{file_info} if exists $self->{file_info};
my %file_info;
+ my $base_dir = $self->base_dir();
# sub file_info Needs-Info file-info
- open(my $idx, '<', 'file-info') or fail("cannot open file-info: $!");
+ open(my $idx, '<', "$base_dir/file-info") or fail("cannot open file-info: $!");
while (<$idx>) {
chomp;
m/^(.+?)\x00\s+(.*)$/o or fail("cannot parse file output: $_");
--
Debian package checker
Reply to: