[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 8ff2a9eb06ac0b60a11e837e8633f186177771ac



The following commit has been merged in the master branch:
commit 8ff2a9eb06ac0b60a11e837e8633f186177771ac
Author: Adam D. Barratt <adam@adam-barratt.org.uk>
Date:   Fri Jun 20 23:51:40 2008 +0100

    Ensure that menu-method files use "!include menu.h" (Closes: #184104)

diff --git a/checks/menus b/checks/menus
index 7216d84..6674d33 100644
--- a/checks/menus
+++ b/checks/menus
@@ -132,7 +132,20 @@ while (<IN>) {
 	    # is made executable in the postinst as recommended by
 	    # the menu manual
 
+	    my $menumethod_includes_menu_h = 0;
 	    $menumethod_file = $file;
+
+	    open(MM, '<', "unpacked/$file") or fail("cannot open menu-method file $file: $!");
+	    while (<MM>) {
+		chomp;
+		if (m,^!include menu.h,o) {
+		    $menumethod_includes_menu_h = 1;
+		    last;
+		}
+	    }
+	    close MM;
+	    tag "menu-method-should-include-menu-h", "$file"
+		unless $menumethod_includes_menu_h or $pkg eq 'menu';
 	}
     }
 }
diff --git a/checks/menus.desc b/checks/menus.desc
index 07d233b..14eaec4 100644
--- a/checks/menus.desc
+++ b/checks/menus.desc
@@ -307,3 +307,9 @@ Info: The section indicated in this doc-base control file is not one of
  the standard doc-base sections.  The doc-base sections are based on the
  menu sections but are not exactly the same.
 Ref: Debian doc-base Manual section 2.3.3
+
+Tag: menu-method-should-include-menu-h
+Type: error
+Info: A menu-method file must include the menu.h configuration file
+ (using "!include menu.h").
+Ref: Debian Menu System manual 5
diff --git a/debian/changelog b/debian/changelog
index 5fadc09..41b29b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ lintian (1.24.2) unstable; urgency=low
       non-obsolete alternatives specified and if the obsolete
       package is not listed first.  Issue an info tag for them
       though.  Patch by Adam D. Barratt.  (Closes: #486145)
+  * checks/menus:
+    + [ADB] Check that menu-method files include menu.h (Closes: #184104)
   * checks/scripts:
     + [FL] Apply File::Spec->canonpath() to rpaths to improve
       matching with directories.
diff --git a/testset/binary/debian/conffiles b/testset/binary/debian/conffiles
new file mode 100644
index 0000000..d1a0843
--- /dev/null
+++ b/testset/binary/debian/conffiles
@@ -0,0 +1 @@
+/etc/menu-methods/lintian
diff --git a/testset/binary/debian/menu-method b/testset/binary/debian/menu-method
new file mode 100644
index 0000000..9f07bd7
--- /dev/null
+++ b/testset/binary/debian/menu-method
@@ -0,0 +1,22 @@
+#!/usr/bin/install-menu
+
+#   -*- mode: shell-script; -*-
+#I need menu-1!
+#
+
+!include notmenu.h
+ 
+compat="menu-2"
+
+outputencoding="UTF-8";
+outputlanguage="C";
+
+x11 = AppEntry("false");
+text = AppEntry("true");
+
+startmenu = "";
+endmenu = "";
+submenutitle = "";
+rootprefix = "/var/lib/lintian/menu";
+userprefix = ".local/share/lintian/menu";
+
diff --git a/testset/binary/debian/rules b/testset/binary/debian/rules
index a89ce60..33d83f6 100755
--- a/testset/binary/debian/rules
+++ b/testset/binary/debian/rules
@@ -40,6 +40,8 @@ binary-arch: build
 	install -d $(tmp)/usr/share/binary
 	install -m 644 debian/menu $(tmp)/usr/share/menu/binary
 	install -m 644 debian/menu $(tmp)/usr/lib/menu/binary
+	install -d $(tmp)/etc/menu-methods
+	install -m 755 debian/menu-method $(tmp)/etc/menu-methods/lintian
 	install -d $(tmp)/usr/share/doc-base
 	install -m 644 debian/doc-base $(tmp)/usr/share/doc-base/binary
 	touch '$(tmp)/usr/share/doc-base/space '
@@ -51,6 +53,7 @@ binary-arch: build
 	#gzip -9 $(tmp)/usr/share/doc/binary/changelog
 	install -d $(tmp)/DEBIAN
 	install -m 755 debian/postinst $(tmp)/DEBIAN
+	install -m 644 debian/conffiles $(tmp)/DEBIAN
 
 	install -d $(tmp)/usr/share/applications
 	install -m 644 debian/hello.desktop \
diff --git a/testset/tags.binary b/testset/tags.binary
index e47f4fd..7819d9c 100644
--- a/testset/tags.binary
+++ b/testset/tags.binary
@@ -28,6 +28,7 @@ E: binary: menu-item-missing-required-tag needs /usr/lib/menu/binary:6
 E: binary: menu-item-missing-required-tag needs /usr/share/menu/binary:6
 E: binary: menu-item-missing-required-tag section /usr/lib/menu/binary:1
 E: binary: menu-item-missing-required-tag section /usr/share/menu/binary:1
+E: binary: menu-method-should-include-menu-h etc/menu-methods/lintian
 E: binary: non-wm-in-windowmanager-menu-section x11 /usr/lib/menu/binary:4
 E: binary: non-wm-in-windowmanager-menu-section x11 /usr/share/menu/binary:4
 E: binary: non-wm-module-in-wm-modules-menu-section wm /usr/lib/menu/binary:22

-- 
Debian package checker


Reply to: