[SCM] Debian package checker branch, master, updated. 2.2.15-14-g93d817d
The following commit has been merged in the master branch:
commit 9f2d369ef60577375a5c8c99297a1ef81b58d543
Author: Raphael Geissert <atomo64@gmail.com>
Date: Mon Sep 14 17:42:28 2009 -0500
Reduce indentation in dependency checks
Remove a level of indentation in dependency checks in checks/fields by
inverting the condition.
diff --git a/checks/fields b/checks/fields
index 62e1794..25db836 100644
--- a/checks/fields
+++ b/checks/fields
@@ -485,131 +485,130 @@ if ($type eq 'binary') {
if (($type eq "binary") || ($type eq 'udeb')) {
my (%deps, %fields, %parsed);
for my $field (qw(depends pre-depends recommends suggests conflicts provides enhances replaces breaks)) {
- if (defined $info->field($field)) {
- #Get data and clean it
- my $data = $info->field($field);;
- unfold($field, \$data);
- $fields{$field} = $data;
+ next unless defined $info->field($field);
+ #Get data and clean it
+ my $data = $info->field($field);;
+ unfold($field, \$data);
+ $fields{$field} = $data;
+
+ my (@seen_libstdcs, @seen_tcls, @seen_tclxs, @seen_tks, @seen_tkxs, @seen_libpngs);
+
+ my $is_dep_field = sub { grep { $_ eq $_[0] } qw(depends pre-depends recommends suggests) };
+
+ tag "alternates-not-allowed", "$field"
+ if ($data =~ /\|/ && ! &$is_dep_field($field));
+
+ for my $dep (split /\s*,\s*/, $data) {
+ my (@alternatives, @seen_obsolete_packages);
+ push @alternatives, [_split_dep($_), $_] for (split /\s*\|\s*/, $dep);
+
+ if (&$is_dep_field($field)) {
+ push @seen_libstdcs, $alternatives[0]->[0]
+ if defined $known_libstdcs{$alternatives[0]->[0]};
+ push @seen_tcls, $alternatives[0]->[0]
+ if defined $known_tcls{$alternatives[0]->[0]};
+ push @seen_tclxs, $alternatives[0]->[0]
+ if defined $known_tclxs{$alternatives[0]->[0]};
+ push @seen_tks, $alternatives[0]->[0]
+ if defined $known_tks{$alternatives[0]->[0]};
+ push @seen_tkxs, $alternatives[0]->[0]
+ if defined $known_tkxs{$alternatives[0]->[0]};
+ push @seen_libpngs, $alternatives[0]->[0]
+ if defined $known_libpngs{$alternatives[0]->[0]};
+ }
- my (@seen_libstdcs, @seen_tcls, @seen_tclxs, @seen_tks, @seen_tkxs, @seen_libpngs);
+ # Only for (Pre-)?Depends.
+ tag "virtual-package-depends-without-real-package-depends", "$field: $alternatives[0]->[0]"
+ if ($VIRTUAL_PACKAGES->known($alternatives[0]->[0])
+ && ($field eq "depends" || $field eq "pre-depends")
+ && ($pkg ne 'base-files' || $alternatives[0]->[0] ne 'awk'));
- my $is_dep_field = sub { grep { $_ eq $_[0] } qw(depends pre-depends recommends suggests) };
+ # Check defaults for transitions. Here, we only care that the first alternative is current.
+ tag "depends-on-old-emacs", "$field: $alternatives[0]->[0]"
+ if (&$is_dep_field($field) && $known_obsolete_emacs{$alternatives[0]->[0]});
- tag "alternates-not-allowed", "$field"
- if ($data =~ /\|/ && ! &$is_dep_field($field));
+ for my $part_d (@alternatives) {
+ my ($d_pkg, $d_version, $d_arch, $rest, $part_d_orig) = @$part_d;
- for my $dep (split /\s*,\s*/, $data) {
- my (@alternatives, @seen_obsolete_packages);
- push @alternatives, [_split_dep($_), $_] for (split /\s*\|\s*/, $dep);
+ tag "versioned-provides", "$part_d_orig"
+ if ($field eq "provides" && $d_version->[0]);
- if (&$is_dep_field($field)) {
- push @seen_libstdcs, $alternatives[0]->[0]
- if defined $known_libstdcs{$alternatives[0]->[0]};
- push @seen_tcls, $alternatives[0]->[0]
- if defined $known_tcls{$alternatives[0]->[0]};
- push @seen_tclxs, $alternatives[0]->[0]
- if defined $known_tclxs{$alternatives[0]->[0]};
- push @seen_tks, $alternatives[0]->[0]
- if defined $known_tks{$alternatives[0]->[0]};
- push @seen_tkxs, $alternatives[0]->[0]
- if defined $known_tkxs{$alternatives[0]->[0]};
- push @seen_libpngs, $alternatives[0]->[0]
- if defined $known_libpngs{$alternatives[0]->[0]};
- }
+ tag "breaks-without-version", "$part_d_orig"
+ if ($field eq "breaks" && !$d_version->[0]);
- # Only for (Pre-)?Depends.
- tag "virtual-package-depends-without-real-package-depends", "$field: $alternatives[0]->[0]"
- if ($VIRTUAL_PACKAGES->known($alternatives[0]->[0])
- && ($field eq "depends" || $field eq "pre-depends")
- && ($pkg ne 'base-files' || $alternatives[0]->[0] ne 'awk'));
-
- # Check defaults for transitions. Here, we only care that the first alternative is current.
- tag "depends-on-old-emacs", "$field: $alternatives[0]->[0]"
- if (&$is_dep_field($field) && $known_obsolete_emacs{$alternatives[0]->[0]});
+ tag "obsolete-relation-form", "$field: $part_d_orig"
+ if ($d_version && grep { $d_version->[0] eq $_ } ("<", ">"));
- for my $part_d (@alternatives) {
- my ($d_pkg, $d_version, $d_arch, $rest, $part_d_orig) = @$part_d;
+ tag "bad-version-in-relation", "$field: $part_d_orig"
+ if ($d_version->[0] && ! defined((_valid_version($d_version->[1]))[1]));
- tag "versioned-provides", "$part_d_orig"
- if ($field eq "provides" && $d_version->[0]);
+ tag "package-relation-with-self", "$field: $part_d_orig"
+ if ($pkg eq $d_pkg) && ($field ne 'conflicts');
- tag "breaks-without-version", "$part_d_orig"
- if ($field eq "breaks" && !$d_version->[0]);
+ tag "bad-relation", "$field: $part_d_orig"
+ if $rest;
- tag "obsolete-relation-form", "$field: $part_d_orig"
- if ($d_version && grep { $d_version->[0] eq $_ } ("<", ">"));
+ push @seen_obsolete_packages, $part_d_orig
+ if ($OBSOLETE_PACKAGES->known($d_pkg) && &$is_dep_field($field));
- tag "bad-version-in-relation", "$field: $part_d_orig"
- if ($d_version->[0] && ! defined((_valid_version($d_version->[1]))[1]));
+ tag "depends-on-metapackage", "$field: $part_d_orig"
+ if ($KNOWN_METAPACKAGES->known($d_pkg) and not $metapackage and &$is_dep_field($field));
- tag "package-relation-with-self", "$field: $part_d_orig"
- if ($pkg eq $d_pkg) && ($field ne 'conflicts');
+ tag "depends-on-essential-package-without-using-version", "$field: $part_d_orig"
+ if ($KNOWN_ESSENTIAL->known($d_pkg) && ! $d_version->[0] && &$is_dep_field($field));
- tag "bad-relation", "$field: $part_d_orig"
- if $rest;
+ tag "package-depends-on-an-x-font-package", "$field: $part_d_orig"
+ if ($field =~ /^(pre-)?depends$/ && $d_pkg =~ /^xfont.*/ && $d_pkg ne 'xfonts-utils' && $d_pkg ne 'xfonts-encodings');
- push @seen_obsolete_packages, $part_d_orig
- if ($OBSOLETE_PACKAGES->known($d_pkg) && &$is_dep_field($field));
+ tag "needlessly-depends-on-awk", "$field"
+ if ($d_pkg eq "awk" && ! $d_version->[0] && &$is_dep_field($field) && $pkg ne 'base-files');
- tag "depends-on-metapackage", "$field: $part_d_orig"
- if ($KNOWN_METAPACKAGES->known($d_pkg) and not $metapackage and &$is_dep_field($field));
+ tag "depends-on-libdb1-compat", "$field"
+ if ($d_pkg eq "libdb1-compat" && $pkg !~ /^libc(6|6.1|0.3)/ && $field =~ /^(pre-)depends$/);
- tag "depends-on-essential-package-without-using-version", "$field: $part_d_orig"
- if ($KNOWN_ESSENTIAL->known($d_pkg) && ! $d_version->[0] && &$is_dep_field($field));
+ tag "depends-on-python-minimal", "$field",
+ if ($d_pkg =~ /^python[\d.]*-minimal$/ && &$is_dep_field($field)
+ && $pkg !~ /^python[\d.]*-minimal$/);
- tag "package-depends-on-an-x-font-package", "$field: $part_d_orig"
- if ($field =~ /^(pre-)?depends$/ && $d_pkg =~ /^xfont.*/ && $d_pkg ne 'xfonts-utils' && $d_pkg ne 'xfonts-encodings');
+ tag "doc-package-depends-on-main-package", "$field"
+ if ("$d_pkg-doc" eq $pkg && $field =~ /^(pre-)depends$/);
- tag "needlessly-depends-on-awk", "$field"
- if ($d_pkg eq "awk" && ! $d_version->[0] && &$is_dep_field($field) && $pkg ne 'base-files');
+ tag "old-versioned-python-dependency", "$field: $part_d_orig"
+ if ($d_pkg eq 'python' && $d_version->[0] eq '<<' && &$is_dep_field($field)
+ && $arch_indep && $pkg =~ /^python-/ && ! defined $info->field('python-version')
+ && ! $info->relation('depends')->implies('python-support'));
- tag "depends-on-libdb1-compat", "$field"
- if ($d_pkg eq "libdb1-compat" && $pkg !~ /^libc(6|6.1|0.3)/ && $field =~ /^(pre-)depends$/);
+ # only trigger this for the the preferred alternative
+ tag "versioned-dependency-satisfied-by-perl", "$field: $part_d_orig"
+ if $alternatives[0][-1] eq $part_d_orig
+ && &$is_dep_field($field)
+ && perl_core_has_version($d_pkg, $d_version->[0], $d_version->[1]);
- tag "depends-on-python-minimal", "$field",
- if ($d_pkg =~ /^python[\d.]*-minimal$/ && &$is_dep_field($field)
- && $pkg !~ /^python[\d.]*-minimal$/);
-
- tag "doc-package-depends-on-main-package", "$field"
- if ("$d_pkg-doc" eq $pkg && $field =~ /^(pre-)depends$/);
-
- tag "old-versioned-python-dependency", "$field: $part_d_orig"
- if ($d_pkg eq 'python' && $d_version->[0] eq '<<' && &$is_dep_field($field)
- && $arch_indep && $pkg =~ /^python-/ && ! defined $info->field('python-version')
- && ! $info->relation('depends')->implies('python-support'));
-
- # only trigger this for the the preferred alternative
- tag "versioned-dependency-satisfied-by-perl", "$field: $part_d_orig"
- if $alternatives[0][-1] eq $part_d_orig
- && &$is_dep_field($field)
- && perl_core_has_version($d_pkg, $d_version->[0], $d_version->[1]);
-
- tag "depends-exclusively-on-makedev", "$field",
- if ($field eq 'depends' && $d_pkg eq 'makedev' && @alternatives == 1);
- }
+ tag "depends-exclusively-on-makedev", "$field",
+ if ($field eq 'depends' && $d_pkg eq 'makedev' && @alternatives == 1);
+ }
- for my $pkg (@seen_obsolete_packages) {
- if ($pkg eq $alternatives[0]->[0] or
- scalar @seen_obsolete_packages == scalar @alternatives) {
- tag "depends-on-obsolete-package", "$field: $pkg";
- } else {
- tag "ored-depends-on-obsolete-package", "$field: $pkg";
- }
+ for my $pkg (@seen_obsolete_packages) {
+ if ($pkg eq $alternatives[0]->[0] or
+ scalar @seen_obsolete_packages == scalar @alternatives) {
+ tag "depends-on-obsolete-package", "$field: $pkg";
+ } else {
+ tag "ored-depends-on-obsolete-package", "$field: $pkg";
}
}
- tag "package-depends-on-multiple-libstdc-versions", @seen_libstdcs
- if (scalar @seen_libstdcs > 1);
- tag "package-depends-on-multiple-tcl-versions", @seen_tcls
- if (scalar @seen_tcls > 1);
- tag "package-depends-on-multiple-tclx-versions", @seen_tclxs
- if (scalar @seen_tclxs > 1);
- tag "package-depends-on-multiple-tk-versions", @seen_tks
- if (scalar @seen_tks > 1);
- tag "package-depends-on-multiple-tkx-versions", @seen_tkxs
- if (scalar @seen_tkxs > 1);
- tag "package-depends-on-multiple-libpng-versions", @seen_libpngs
- if (scalar @seen_libpngs > 1);
}
+ tag "package-depends-on-multiple-libstdc-versions", @seen_libstdcs
+ if (scalar @seen_libstdcs > 1);
+ tag "package-depends-on-multiple-tcl-versions", @seen_tcls
+ if (scalar @seen_tcls > 1);
+ tag "package-depends-on-multiple-tclx-versions", @seen_tclxs
+ if (scalar @seen_tclxs > 1);
+ tag "package-depends-on-multiple-tk-versions", @seen_tks
+ if (scalar @seen_tks > 1);
+ tag "package-depends-on-multiple-tkx-versions", @seen_tkxs
+ if (scalar @seen_tkxs > 1);
+ tag "package-depends-on-multiple-libpng-versions", @seen_libpngs
+ if (scalar @seen_libpngs > 1);
}
# If Conflicts or Breaks is set, make sure it's not inconsistent with
--
Debian package checker
Reply to: