Adding side stream changes to Maemian. Working to integrate full upstream libraries...
[maemian] / nokia-lintian / debian / patches / 802-implement-overridedir.dpatch
diff --git a/nokia-lintian/debian/patches/802-implement-overridedir.dpatch b/nokia-lintian/debian/patches/802-implement-overridedir.dpatch
new file mode 100755 (executable)
index 0000000..35f57a3
--- /dev/null
@@ -0,0 +1,117 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 802-implement-overridedir.dpatch by Eero Häkkinen <eero.hakkinen@nokia.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Implement --overridedir OVERRIDEDIR
+
+@DPATCH@
+diff -urNad lintian-1.23.8~/frontend/lintian lintian-1.23.8/frontend/lintian
+--- lintian-1.23.8~/frontend/lintian   2006-09-14 16:32:02.000000000 +0300
++++ lintian-1.23.8/frontend/lintian    2006-09-14 16:32:02.000000000 +0300
+@@ -60,6 +60,7 @@
+ my $OPT_LINTIAN_DIST = "";    #string for the --dist option
+ my $OPT_LINTIAN_ARCH = "";    #string for the --arch option
+ my $OPT_LINTIAN_SECTION = ""; #string for the --release option
++my $OPT_LINTIAN_OVERRIDEDIR = ""; #string for the --overridedir option
+ # These options can also be used via default or environment variables
+ my $LINTIAN_CFG = "";         #config file to use
+ our $LINTIAN_ROOT;            #location of the lintian modules
+@@ -93,6 +94,7 @@
+ my $LINTIAN_UNPACK_LEVEL = undef;
+ my $LINTIAN_ARCH = undef;
+ my $LINTIAN_SECTION = undef;
++my $LINTIAN_OVERRIDEDIR = undef;
+ # }}}
+ # {{{ Setup Code
+@@ -156,6 +158,7 @@
+     --dist DIST               scan packages in this distribution (e.g. sid)
+     --section RELEASE         scan packages in this section (e.g. main)
+     --arch ARCH               scan packages with architecture ARCH
++    --overridedir OVERRIDEDIR location of centrally managed override files
+     --root ROOTDIR            use ROOTDIR instead of /usr/share/lintian
+ Package selection options:
+     -a, --all                 process all packages in distribution
+@@ -296,6 +299,7 @@
+              "dist=s" => \$OPT_LINTIAN_DIST,
+              "section=s" => \$OPT_LINTIAN_SECTION,
+              "arch=s" => \$OPT_LINTIAN_ARCH,
++             "overridedir=s" => \$OPT_LINTIAN_OVERRIDEDIR,
+              "root=s" => \$LINTIAN_ROOT,
+              # ------------------ package selection options
+@@ -393,6 +397,8 @@
+           $LINTIAN_SECTION = $1;
+       } elsif (m/^\s*LINTIAN_ARCH\s*=\s*(.*\S)\s*$/i) {
+           $LINTIAN_ARCH = $1;
++      } elsif (m/^\s*LINTIAN_OVERRIDEDIR\s*=\s*(.*\S)\s*$/i) {
++          $LINTIAN_OVERRIDEDIR = $1;
+       } else {
+           fail("syntax error in configuration file: $_","(Note, that the syntax of the configuration file has been changed\nwith Lintian v0.3.0. In most cases, you don't need a configuration\nfile anymore -- just remove it.)");
+       }
+@@ -407,6 +413,7 @@
+ $LINTIAN_UNPACK_LEVEL = $ENV{'LINTIAN_UNPACK_LEVEL'} if $ENV{'LINTIAN_UNPACK_LEVEL'};
+ $LINTIAN_SECTION = $ENV{'LINTIAN_SECTION'} if $ENV{'LINTIAN_SECTION'};
+ $LINTIAN_ARCH = $ENV{'LINTIAN_ARCH'} if $ENV{'LINTIAN_ARCH'};
++$LINTIAN_OVERRIDEDIR = $ENV{'LINTIAN_OVERRIDEDIR'} if $ENV{'LINTIAN_OVERRIDEDIR'};
+ # command-line options override everything
+ $LINTIAN_LAB = $OPT_LINTIAN_LAB if $OPT_LINTIAN_LAB;
+@@ -414,6 +421,7 @@
+ $LINTIAN_DIST = $OPT_LINTIAN_DIST if $OPT_LINTIAN_DIST;
+ $LINTIAN_SECTION = $OPT_LINTIAN_SECTION if $OPT_LINTIAN_SECTION;
+ $LINTIAN_ARCH = $OPT_LINTIAN_ARCH if $OPT_LINTIAN_ARCH;
++$LINTIAN_OVERRIDEDIR = $OPT_LINTIAN_OVERRIDEDIR if $OPT_LINTIAN_OVERRIDEDIR;
+ # LINTIAN_ARCH must have a value.
+ unless (defined $LINTIAN_ARCH) {
+@@ -471,6 +479,12 @@
+     $ENV{'LINTIAN_ARCH'} = "";
+ }
++if ($LINTIAN_OVERRIDEDIR) {
++    $ENV{'LINTIAN_OVERRIDEDIR'} = $LINTIAN_OVERRIDEDIR;
++} else {
++    $ENV{'LINTIAN_OVERRIDEDIR'} = "";
++}
++
+ $ENV{'LINTIAN_DEBUG'} = $debug;
+ # determine requested unpack level
+@@ -1275,6 +1289,9 @@
+       Tags::set_pkg( $file, $pkg, "", "", $long_type );
+-      unless ($no_override) {
+-            if (open(O, '<', "$base/override")) {
++        for my $override (
++           $LINTIAN_OVERRIDEDIR ? "$LINTIAN_OVERRIDEDIR/$long_type/$pkg" : (),
++           $no_override ? () : "$base/override")
++            {
++               if ( open(O,$override) ) {
+                 while (<O>) {
+                     chomp;
+diff -urNad lintian-1.23.8~/man/lintian.1 lintian-1.23.8/man/lintian.1
+--- lintian-1.23.8~/man/lintian.1      2006-09-14 16:32:02.000000000 +0300
++++ lintian-1.23.8/man/lintian.1       2006-09-14 16:34:11.000000000 +0300
+@@ -243,6 +243,21 @@
+ environment variable and the configuration file entry of the same name.
+ .TP
++.BR \-\-overridedir " overridedir"
++Read additional overrides from
++.IR overridedir / type / package
++where
++.I type
++is either
++.BR binary ,
++.BR source
++or
++.BR udeb .
++This option overrides the
++.B LINTIAN_OVERRIDEDIR
++environment variable and the configuration file entry of the same name.
++
++.TP
+ .BR \-\-root " rootdir"
+ Look for
+ .BR lintian 's