Removed upstream dir
[maemian] / nokia-lintian / checks / control-file
diff --git a/nokia-lintian/checks/control-file b/nokia-lintian/checks/control-file
deleted file mode 100644 (file)
index d778696..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-# control-file -- lintian check script -*- perl -*-
-#
-# Copyright (C) 2004 Marc Brockschmidt
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, you can find it on the World Wide
-# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free
-# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
-# MA 02110-1301, USA.
-
-package Lintian::control_file;
-use strict;
-use lib "$ENV{'LINTIAN_ROOT'}/checks/";
-use common_data;
-use Dep;
-use Util;
-use Tags;
-
-sub run {
-
-my $pkg = shift;
-my $type = shift;
-
-if (-l "debfiles/control") {
-    tag "debian-control-file-is-a-symlink", "";
-}
-
-# check that control is UTF-8 encoded
-my $line = file_is_encoded_in_non_utf8("debfiles/control", $type, $pkg);
-if ($line) {
-    tag "debian-control-file-uses-obsolete-national-encoding", "at line $line"
-}
-
-# Check that each field is only used once:
-my $seen_fields = {};
-open (CONTROL, '<', "debfiles/control")
-    or fail "Couldn't read debfiles/control: $!";
-while (<CONTROL>) {
-       s/\s*\n$//;
-       next if /^\#/;
-
-       #Reset seen_fields if we enter a new section:
-       $seen_fields = {} if /^$/;
-
-       #line with field:
-       if (/^(\S+):/) {
-               my $field = lc ($1);
-               if ($seen_fields->{$field}) {
-                       tag "debian-control-with-duplicate-fields", "$field: $$seen_fields{$field}, $.";
-               }
-               $seen_fields->{$field} = $.;
-               if ($field =~ /^xs-vcs-/) {
-                       my $base = $field;
-                       $base =~ s/^xs-//;
-                       tag "xs-vcs-header-in-debian-control", "$field"
-                           if $known_source_fields{$base};
-               }
-       }
-}
-close CONTROL;
-
-my ($header, @binary_controls) = read_dpkg_control("debfiles/control");
-
-for my $binary_control (@binary_controls) {
-       tag "build-info-in-binary-control-file-section", "Package ".$binary_control->{"package"}
-           if ($binary_control->{"build-depends"} || $binary_control->{"build-depends-indep"} ||
-               $binary_control->{"build-conflicts"} || $binary_control->{"build-conflicts-indep"});
-}
-
-# Make sure that a stronger dependency field doesn't imply any of the elements
-# of a weaker dependency field.  dpkg-gencontrol will fix this up for us, but
-# we want to check the source package since dpkg-gencontrol may silently "fix"
-# something that's a more subtle bug.
-#
-# Also check if a package declares a simple dependency on itself, since
-# similarly dpkg-gencontrol will clean this up for us but it may be a sign of
-# another problem.
-my @dep_fields = qw(pre-depends depends recommends suggests);
-for my $control (@binary_controls) {
-       for my $strong (0 .. ($#dep_fields - 1)) {
-               next unless $control->{$dep_fields[$strong]};
-               my $parsed = Dep::parse ($control->{$dep_fields[$strong]});
-               tag "package-depends-on-itself", $control->{package}, $dep_fields[$strong]
-                   if Dep::implies($parsed, Dep::parse($control->{package}));
-               for my $weak (($strong + 1) .. $#dep_fields) {
-                       next unless $control->{$dep_fields[$weak]};
-                       for my $dependency (split /\s*,\s*/, $control->{$dep_fields[$weak]}) {
-                               next unless $dependency;
-                               tag "stronger-dependency-implies-weaker", $control->{package}, "$dep_fields[$strong] -> $dep_fields[$weak]", $dependency
-                                   if Dep::implies($parsed, Dep::parse($dependency));
-                       }
-               }
-       }
-}
-
-# Check that every package is in the same archive category, except that
-# sources in main can deliver both main and contrib packages.  The source
-# package may or may not have a section specified; if it doesn't, derive the
-# expected archive category from the first binary package by leaving $category
-# undefined until parsing the first binary section.  Missing sections will be
-# caught by other checks.
-my $category;
-if ($header->{'section'}) {
-       if ($header->{'section'} =~ m%^([^/]+)/%) {
-               $category = $1;
-       } else {
-               $category = '';
-       }
-} else {
-       tag "no-section-field-for-source", "";
-}
-for my $binary_control (@binary_controls) {
-       next unless $binary_control->{'section'};
-       if (!defined ($category)) {
-               if ($binary_control->{'section'} =~ m%^([^/]+)/%) {
-                       $category = ($1 eq 'contrib') ? '' : $1;
-               } else {
-                       $category = '';
-               }
-               next;
-       }
-       tag "section-category-mismatch", "Package " . $binary_control->{'package'}
-               if ($category && $binary_control->{'section'} !~ m%^$category/%);
-       tag "section-category-mismatch", "Package " . $binary_control->{'package'}
-               if (!$category && $binary_control->{'section'} =~ m%^([^/]+)/% && $1 ne 'contrib');
-}
-
-}
-
-1;
-
-# Local Variables:
-# indent-tabs-mode: t
-# cperl-indent-level: 8
-# End:
-# vim: syntax=perl sw=4 ts=4 noet shiftround