diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
commit | 75808db17caf8b960b351e3408e74142f4c85aac (patch) | |
tree | 7989e9c09a4240248bf4658a22208a0a52d991c4 /t/recipes/checks/menus | |
parent | Initial commit. (diff) | |
download | lintian-upstream.tar.xz lintian-upstream.zip |
Adding upstream version 2.117.0.upstream/2.117.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
119 files changed, 1952 insertions, 0 deletions
diff --git a/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/doc-base.doc1 b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/doc-base.doc1 new file mode 100755 index 0000000..247aa43 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/doc-base.doc1 @@ -0,0 +1,8 @@ +Document: doc1.txt +Title: Document 1 +Author: Lintian maintainers +Abstract: Document 1 +Section: Programming/Something + +Format: text +Files: /usr/share/doc/executable-in-docbase/doc1.txt diff --git a/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/docs b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/docs new file mode 100644 index 0000000..a672847 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/docs @@ -0,0 +1 @@ +doc1.txt diff --git a/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/rules b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/rules new file mode 100755 index 0000000..49468b5 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/build-spec/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +pkg = $(shell dh_listpackages) + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +override_dh_installdocs: + dh_installdocs + chmod 755 debian/$(pkg)/usr/share/doc-base/executable-in-docbase.doc1.txt + +# In Ubuntu, dh does not catch this file by default. +# They have diffed it to reduce the size of packages. +ifneq (,$(strip $(wildcard Changes))) +override_dh_installchangelogs: + dh_installchangelogs Changes +endif diff --git a/t/recipes/checks/menus/executable-in-docbase/build-spec/fill-values b/t/recipes/checks/menus/executable-in-docbase/build-spec/fill-values new file mode 100644 index 0000000..5685561 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/build-spec/fill-values @@ -0,0 +1,5 @@ +Testname: executable-in-docbase +Skeleton: upload-native +Description: Test with an executable file in /usr/share/doc-base +# doc-base installation paths now include the package name, see Bug#980903 +Extra-Build-Depends: debhelper (>= 13.4) diff --git a/t/recipes/checks/menus/executable-in-docbase/build-spec/orig/doc1.txt b/t/recipes/checks/menus/executable-in-docbase/build-spec/orig/doc1.txt new file mode 100644 index 0000000..5071182 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/build-spec/orig/doc1.txt @@ -0,0 +1 @@ +Document 1 diff --git a/t/recipes/checks/menus/executable-in-docbase/eval/desc b/t/recipes/checks/menus/executable-in-docbase/eval/desc new file mode 100644 index 0000000..362b7e7 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/eval/desc @@ -0,0 +1,2 @@ +Testname: executable-in-docbase +Check: menus diff --git a/t/recipes/checks/menus/executable-in-docbase/eval/hints b/t/recipes/checks/menus/executable-in-docbase/eval/hints new file mode 100644 index 0000000..5a8a6c1 --- /dev/null +++ b/t/recipes/checks/menus/executable-in-docbase/eval/hints @@ -0,0 +1 @@ +executable-in-docbase (binary): executable-in-usr-share-docbase 0755 [usr/share/doc-base/executable-in-docbase.doc1.txt] diff --git a/t/recipes/checks/menus/executable-menu-file/build-spec/debian/install b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/install new file mode 100644 index 0000000..c2ba969 --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/install @@ -0,0 +1 @@ +test-menu usr/share/menu diff --git a/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postinst b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postinst new file mode 100644 index 0000000..024178d --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postinst @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +# Checks that the maintainer script checks for the existence of programs that +# it calls. This should produce no warnings except a bashism warning about +# using type, a warning about the deprecated wm-menu-config invocation, and a +# warning for calling the deprecated install-docs outside of a trigger. + +if [ -x /usr/bin/update-menus ] ; then update-menus ; fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postrm b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postrm new file mode 100644 index 0000000..c2274f3 --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/build-spec/debian/postrm @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +if type update-menus >/dev/null 2>&1 ; then + update-menus +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/executable-menu-file/build-spec/fill-values b/t/recipes/checks/menus/executable-menu-file/build-spec/fill-values new file mode 100644 index 0000000..30b938a --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/build-spec/fill-values @@ -0,0 +1,3 @@ +Testname: executable-menu-file +Skeleton: upload-native +Description: Test with an executable menu file diff --git a/t/recipes/checks/menus/executable-menu-file/build-spec/orig/test-menu b/t/recipes/checks/menus/executable-menu-file/build-spec/orig/test-menu new file mode 100755 index 0000000..9cdc9f8 --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/build-spec/orig/test-menu @@ -0,0 +1,5 @@ +?package(executable-menu-file):\ + section="Applications/Programming"\ + needs="text"\ + title="Test menu entry"\ + command="/usr/bin/test-script" diff --git a/t/recipes/checks/menus/executable-menu-file/eval/desc b/t/recipes/checks/menus/executable-menu-file/eval/desc new file mode 100644 index 0000000..ae90c48 --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/eval/desc @@ -0,0 +1,2 @@ +Testname: executable-menu-file +Check: menus diff --git a/t/recipes/checks/menus/executable-menu-file/eval/hints b/t/recipes/checks/menus/executable-menu-file/eval/hints new file mode 100644 index 0000000..ea4e207 --- /dev/null +++ b/t/recipes/checks/menus/executable-menu-file/eval/hints @@ -0,0 +1 @@ +executable-menu-file (binary): executable-menu-file 0755 [usr/share/menu/test-menu] diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/NEWS.Debian b/t/recipes/checks/menus/legacy-binary/build-spec/debian/NEWS.Debian new file mode 100644 index 0000000..29f561c --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/NEWS.Debian @@ -0,0 +1,12 @@ +binary (4-1.1) UNRELEASED; urgency=high + + This is a Debian NEWS entry that isn't encoded properly in UTF-8: ü. + It also has a usefull speling error. + + -- Russ Allbery <rra@debian.org> Sun, 14 Oct 2007 17:11:36 -0700 + +binary (1) unstable; urgency=low + + This is another entry but this one isn't syntactically valid. + + -- Russ Allbery 2007-10-14 diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/README.Debian b/t/recipes/checks/menus/legacy-binary/build-spec/debian/README.Debian new file mode 100644 index 0000000..94bcc0a --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/README.Debian @@ -0,0 +1,5 @@ +this is a binary package to test lintian's handling of bins. +Check handling of D-Bus and dbus (neither of which should produce +warnings). + + -- Russ Allbery <rra@debian.org>, Wed, 6 Feb 2008 18:35:11 -0800 diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/changelog.in b/t/recipes/checks/menus/legacy-binary/build-spec/debian/changelog.in new file mode 100644 index 0000000..39301d6 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/changelog.in @@ -0,0 +1,47 @@ +binary ([% $version %]) [% $distribution %]; urgency=low + + * I'm doing an comaintainer-upload, acknowledging a NMU, but with a version + number which suggests I'm doing a NMU myself. + + Lintian-maintainers: Please don't update this changelog, otherwise you'll + probably break the checks/nmu checks. + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 18 Apr 2004 01:49:42 +0200 + +binary (4-1) unstable; urgency=low + + * Weird version number for the new check for accidents with native + packaging. + * Date was fixed by BR and this test was put on changelog-file-strange-date + due to dpkg bug, see #794674. + + -- Marc 'HE' Brockschmidt <he@debian.org> Thu, 15 Apr 2004 23:33:51 +0200 + +binary (4) unstable; urgency=low + + * Add big file to /usr/share to trigger the big-usr-share check + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Fri, 27 Feb 2004 10:15:59 +0100 + +binary (3) unstable; urgency=unlimited + + * Add some bogus menu entries using su-to-root in a bogus way + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Thu, 12 Feb 2004 20:11:22 +0100 + +binary (2) unstable; urgency=low + + * Added an INSTALL document which policy 6.3 suggests not to do + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Tue, 30 Jan 2001 15:23:59 -0800 + +binary (1) unstable; urgency=low + + * hello.c added + * hello-static is same as hello, but compiled statically + * added a menu entry which lacks a Section + * added a postinst + * postinst calls suidregister which is no longer policy compliant + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Wed, 10 Jan 2001 08:55:34 -0800 + diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/conffiles b/t/recipes/checks/menus/legacy-binary/build-spec/debian/conffiles new file mode 100644 index 0000000..d1a0843 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/conffiles @@ -0,0 +1 @@ +/etc/menu-methods/lintian diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/control b/t/recipes/checks/menus/legacy-binary/build-spec/debian/control new file mode 100644 index 0000000..c797357 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/control @@ -0,0 +1,42 @@ +Source: binary +Section: misc +Priority: optional +Maintainer: Lintian Maintainers <lintian-maint@debian.org> +Uploaders: Co-maintainer one <one@debian.org>, Jeroen van Wolffelaar <jeroen@wolffelaar.nl>, Co-maintainer three <three@debian.org> +Standards-Version: 3.2.1 +Homepage: http://lintian.debian.org/ +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +XS-Vcs-Browser: http://svn.wolffelaar.nl/lintian/trunk +XS-Dm-Upload-Allowed: yes + +Package: binary +Architecture: any +Pre-Depends: ${shlibs:Depends}, xorg, binary-data (= ${source:Version}), libssl0.9.8 +Homepage: <http://lintian.debian.org/> +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +Description: test handling of binary files + Regression test for lintian's handling of binary files for debian. This + is checked for picky spelling errors. + . + This package list [ subversion | gconf ] should not be flagged as a spelling + mistake. The spelling correction for dont should be correct. + . + Homepage: http://lintian.debian.org/ + +Package: binary-data +Architecture: all +Depends: binary (= ${source:Version}), libssl-not-openssl, + libssl0.9.8 | or-something-else +Description: test handling of binary relationships + Regression test for lintian's checking of package relationships between + arch:any and arch:all packages. + . + This mention of subversion should be flagged as a spelling mistake. + +#Package: binary-comment +#Architecture: space-almonds +#Depends: * +#Depends: * +#Description: test comment support +# Yes, comments are actually allowed in debian/control, so none of the +# above should produce errors. diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/copyright b/t/recipes/checks/menus/legacy-binary/build-spec/debian/copyright new file mode 100644 index 0000000..1d6806d --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/copyright @@ -0,0 +1,15 @@ +hello.c is released under public domain. This 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. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +Test for old FSF address: + +Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +Test for deprecated nätionäl äncoding. + +Improper capitalization of linux or debian isn't caught here. diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/doc-base b/t/recipes/checks/menus/legacy-binary/build-spec/debian/doc-base new file mode 100644 index 0000000..450f222 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/doc-base @@ -0,0 +1,41 @@ +Document: binary!docs +Title: Broken debian binary doc-base control file +Author: Russ Allbery +Abstract: This control file exercises various tests of doc-base control + files, including several things that aren't tested yet. The third and + fourth one has trailing whitespace. + . + This section has a speling error and bad ® character. + . + The above separator was fine. +Section: Non/Existant +Unknown: Some field + + + +Format: debiandoc-sgML +Files: /usr/share/doc/binary/binary.sgml.gz +Unknown: Some field + +Format: ESP +Index: /usr/share/doc/binary/binary.txt + +Index: /usr/share/doc/binary/html/index.html + /usr/share/doc/binary/html/ch1.html + /usr/share/doc/binary/html/ch4.html + + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch?.h*l + /usr/share/doc/binary/hml/*.html + +Format: inFO +Files: /usr/share/info/binary.info.gz + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch5.html + /usr/share/doc/binary/html/ch6.html + + diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/goodbye.desktop b/t/recipes/checks/menus/legacy-binary/build-spec/debian/goodbye.desktop new file mode 100644 index 0000000..f6ce8e3 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/goodbye.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name:Goodbye +# Name=Goodbye +Comment=Say hello! +SpecialTag=This doesn't exist! +Exec=goodbye +icon=hello +Terminal=true +Type=Application +Categories=WeirdStuff;Screensaver; +Encoding=ISO-10646-1 +[Other Entry] +Name=Goodbye diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/hello.desktop b/t/recipes/checks/menus/legacy-binary/build-spec/debian/hello.desktop new file mode 100644 index 0000000..f795468 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/hello.desktop @@ -0,0 +1,14 @@ +# some random comment + +# [Foo Bar] +[KDE Desktop Entry] +Name=Hello +Name[en_US]=Hello +Comment=Say hello!
+Exec=kdesu hello +Icon=hello +Terminal=true +Type=Application +Categories=GNOME;GTK;System;Applet;X-Foo;Settings; +Encoding=UTF-8 +OnlyShowIn=GNOME; diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/menu b/t/recipes/checks/menus/legacy-binary/build-spec/debian/menu new file mode 100644 index 0000000..e8972f4 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/menu @@ -0,0 +1,26 @@ +?package(binary):needs=text title="Hello World" command="/usr/bin/hello" +?package(binary):needs=text section="Applications/System" title="Run cfdisk (0)" command="/usr/bin/su-to-root cfdisk" +?package(binary):needs="text" section="Applications/System/Hardware" title="Run cfdisk (1)" command="sux -p cfdisk" +?package(binary):needs="x11" section="Window Managers" title="Run xfdisk" command="/usr/sbin/su-to-root -c xfdisk" +?package(binary):needs="wm" section="Applications/System/Administration" title="Run fdisk-wm" command="su-to-root -c hello" +?package(binary):section="Apps/Games" title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Apps/System" title="I'm not here!" command="/imnothere" +?package(binary,other-binary):\ + needs="text"\ + section="Applications/Shells"\ + title="more than one required"\ + command="other-bin -s omething" +?package(binary):needs="wmmodule" section="WindowManagers/Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="wmmodule" section="FVWM Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="text" section="Applications/System/Administration" title="I'm not in /usr/bin!" command="iminusrbin" +?package(binary):needs="text"\ + section="Applications/System/Administration"\ + title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Applications/System/Administration"\ + title="Run cfdisk (0)" command="cfdisk" +?package(binary):needs="text" section="Applications/System/Administration" title="Hello World" command="/usr/bin/hello" +?package(binary):needs="wm" section="FVWM Modules" title="Fake Module" command="hello" +?package(binary):needs="fvwmmodule" section="Window Maker" title="Fake Module"\ + command="hello" +?package(binary):needs="x11" section="Applications/System/Hardware" title="Run xfdisk" command="su-to-root -c 'xfdisk -f'" +?package(binary):needs="text" section="Applications/System/Administration" title="foo" command="sh /path/to/foo" diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/menu-method b/t/recipes/checks/menus/legacy-binary/build-spec/debian/menu-method new file mode 100644 index 0000000..9f07bd7 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/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/t/recipes/checks/menus/legacy-binary/build-spec/debian/postinst b/t/recipes/checks/menus/legacy-binary/build-spec/debian/postinst new file mode 100644 index 0000000..29e1861 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/postinst @@ -0,0 +1,6 @@ +#! /bin/bash -e + +if [ $1 eq 'configure' ] +then + suidregister hello-static root root 4755 +fi diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/rules b/t/recipes/checks/menus/legacy-binary/build-spec/debian/rules new file mode 100755 index 0000000..a962ea9 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/rules @@ -0,0 +1,92 @@ +#!/usr/bin/make -f + +tmp=debian/tmp + +# This reference to $(PWD) should not cause an error but the one below +# should. +build-arch: + make + echo $(PWD) + +build: build-arch + +clean: + make -i clean + [ ! -f debian/files ] || rm -f debian/files + [ ! -f debian/substvars ] || rm -f debian/substvars + [ ! -d debian/tmp ] || rm -rf debian/tmp + [ ! -d debian/binary ] || rm -rf debian/binary + [ ! -d debian/binary-data ] || rm -rf debian/binary-data + +binary-arch: build + install -d $(tmp)/usr/bin + install -d $(tmp)/boot/hello + install -m 755 hello $(tmp)/usr/bin + touch $(tmp)/usr/bin/iminusrbin + chmod 755 $(tmp)/usr/bin/iminusrbin + install -m 755 hello-static $(tmp)/usr/bin + strip $(tmp)/usr/bin/hello-static + install -m 755 hello-static $(tmp)/usr/bin/hello.static + strip --remove-section=.comment --remove-section=.note $(tmp)/usr/bin/hello.static + ln $(tmp)/usr/bin/hello.static $(tmp)/usr/bin/static-hello + install -m 755 hello-static $(tmp)/boot/hello + strip --remove-section=.comment --remove-section=.note $(tmp)/boot/hello/hello-static + install -d $(tmp)/usr/share/doc/binary + install -m 644 INSTALL $(tmp)/usr/share/doc/binary + install -d $(tmp)/usr/share/doc/binary/html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/index.html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/ch1.html + ln -s ../html/./ch1.html $(tmp)/usr/share/doc/binary/html/ch2.html + ln -s /usr/share/doc/binary/htm/ch1.html $(tmp)/usr/share/doc/binary/html/ch3.html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/ch5.html + ln $(tmp)/usr/share/doc/binary/html/ch5.html \ + $(tmp)/usr/share/doc/binary/html/ch6.html + install -d $(tmp)/usr/share/menu + install -d $(tmp)/usr/lib/menu + 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 ' + install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary + install -m 644 debian/NEWS.Debian $(tmp)/usr/share/doc/binary + gzip -n -9 $(tmp)/usr/share/doc/binary/NEWS.Debian + install -m 644 debian/copyright $(tmp)/usr/share/doc/binary + install -m 644 debian/changelog $(tmp)/usr/share/doc/binary + #gzip -n -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 \ + $(tmp)/usr/share/applications/hello.desktop + install -m 755 debian/goodbye.desktop \ + $(tmp)/usr/share/applications/goodbye.desktop + + # should be ok... + echo boe > $(tmp)/usr/bar + ln $(tmp)/usr/bar $(tmp)/usr/foo + # but this isn't + echo boe > $(tmp)/usr/bar2 + ln $(tmp)/usr/bar2 $(tmp)/usr/share/baz + + dd if=/dev/zero of=$(tmp)/usr/share/binary/largefile bs=1024 count=4000 + + install -d debian/binary-data/DEBIAN + install -d debian/binary-data/usr/share/doc + ln -s binary debian/binary-data/usr/share/doc/binary-data + + dpkg-shlibdeps $(tmp)/usr/bin/hello + dpkg-gencontrol -pbinary -isp + dpkg-gencontrol -pbinary-data -Pdebian/binary-data -isp + + dpkg --build debian/tmp .. + dpkg --build debian/binary-data .. + +binary: binary-arch + +.PHONY: build-arch build binary-arch binary clean diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/debian/templates b/t/recipes/checks/menus/legacy-binary/build-spec/debian/templates new file mode 100644 index 0000000..3d92861 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/debian/templates @@ -0,0 +1,16 @@ +# The debconf templates defined here are the sort that you'd use if +# providing a wordlist and an ispell dictionary for the language +# "perl". This shouldn't trigger warnings about not using debconf-po. + +Template: shared/packages-ispell +Type: text +Description: + +Template: shared/packages-wordlist +Type: text +Description: + +Template: miscfiles/languages +Type: text +Default: perl (Pathologically Eclectic Rubbish Lister) +Description: diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/fill-values b/t/recipes/checks/menus/legacy-binary/build-spec/fill-values new file mode 100644 index 0000000..b503871 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-non-native +Testname: legacy-binary +Source: binary +Version: 4-1.1 +Description: Legacy test "binary" diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/orig/INSTALL b/t/recipes/checks/menus/legacy-binary/build-spec/orig/INSTALL new file mode 100644 index 0000000..3b50ea9 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/orig/INSTALL @@ -0,0 +1,176 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/orig/Makefile b/t/recipes/checks/menus/legacy-binary/build-spec/orig/Makefile new file mode 100644 index 0000000..da1dc55 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/orig/Makefile @@ -0,0 +1,12 @@ +all: hello hello-static + +hello: hello.c + gcc hello.c -o hello + +hello-static: hello.c + gcc -static hello.c -o hello-static + +clean: + rm -f hello hello-static + +distclean: clean diff --git a/t/recipes/checks/menus/legacy-binary/build-spec/orig/hello.c b/t/recipes/checks/menus/legacy-binary/build-spec/orig/hello.c new file mode 100644 index 0000000..2fb04e1 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/build-spec/orig/hello.c @@ -0,0 +1,8 @@ +#include <stdio.h> +#include <stdlib.h> + +int main(int argc, char *argv[]) { + + printf("Hello, World!\n"); + exit(0); +} diff --git a/t/recipes/checks/menus/legacy-binary/eval/desc b/t/recipes/checks/menus/legacy-binary/eval/desc new file mode 100644 index 0000000..3682195 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-binary +Check: menus diff --git a/t/recipes/checks/menus/legacy-binary/eval/hints b/t/recipes/checks/menus/legacy-binary/eval/hints new file mode 100644 index 0000000..789e031 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/eval/hints @@ -0,0 +1,26 @@ +binary (binary): spelling-error-in-doc-base-title-field debian Debian [usr/share/doc-base/binary:2] +binary (binary): spelling-error-in-doc-base-abstract-field speling spelling [usr/share/doc-base/binary:10] +binary (binary): postrm-does-not-call-updatemenus [etc/menu-methods/lintian] +binary (binary): postinst-does-not-call-updatemenus [usr/share/menu/binary] +binary (binary): menu-method-lacks-include [etc/menu-methods/lintian] +binary (binary): menu-file-in-usr-lib [usr/lib/menu/binary] +binary (binary): duplicate-format-in-doc-base html [usr/share/doc-base/binary:36] +binary (binary): doc-base-unknown-section Non/Existant [usr/share/doc-base/binary:11] +binary (binary): doc-base-invalid-document-field binary!docs [usr/share/doc-base/binary:1] +binary (binary): doc-base-index-references-multiple-files [usr/share/doc-base/binary:25] +binary (binary): doc-base-file-unknown-format esp [usr/share/doc-base/binary:20] +binary (binary): doc-base-file-unknown-field Unknown [usr/share/doc-base/binary:18] +binary (binary): doc-base-file-unknown-field Unknown [usr/share/doc-base/binary:12] +binary (binary): doc-base-file-references-missing-file /usr/share/info/binary.info.gz [usr/share/doc-base/binary:34] +binary (binary): doc-base-file-references-missing-file /usr/share/doc/binary/html/ch4.html [usr/share/doc-base/binary:25] +binary (binary): doc-base-file-references-missing-file /usr/share/doc/binary/hml/*.html [usr/share/doc-base/binary:31] +binary (binary): doc-base-file-references-missing-file /usr/share/doc/binary/binary.txt [usr/share/doc-base/binary:21] +binary (binary): doc-base-file-references-missing-file /usr/share/doc/binary/binary.sgml.gz [usr/share/doc-base/binary:17] +binary (binary): doc-base-file-no-index [usr/share/doc-base/binary:35] +binary (binary): doc-base-file-no-format-section [usr/share/doc-base/space ] +binary (binary): doc-base-file-no-format [usr/share/doc-base/binary:26] +binary (binary): doc-base-file-lacks-required-field Format [usr/share/doc-base/binary:26] +binary (binary): doc-base-file-lacks-required-field Files [usr/share/doc-base/binary:26] +binary (binary): doc-base-file-lacks-required-field Files [usr/share/doc-base/binary:22] +binary (binary): doc-base-document-field-ends-in-whitespace [usr/share/doc-base/binary:1] +binary (binary): doc-base-abstract-field-separator-extra-whitespace [usr/share/doc-base/binary:7] diff --git a/t/recipes/checks/menus/legacy-binary/eval/post-test b/t/recipes/checks/menus/legacy-binary/eval/post-test new file mode 100644 index 0000000..3deefd5 --- /dev/null +++ b/t/recipes/checks/menus/legacy-binary/eval/post-test @@ -0,0 +1,3 @@ +s/arch-dep-package-has-big-usr-share .*kB .*%/arch-dep-package-has-big-usr-share/ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/debian/changelog.in b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/changelog.in new file mode 100644 index 0000000..b79c4ca --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/changelog.in @@ -0,0 +1,78 @@ +filenames ([% $version %]) [% $distribution %]; urgency=low + + * /me is doing a correct NMU of this package, bumping the epoch too. + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 18 Apr 2004 02:04:39 +0200 + +filenames (11) unstable; urgency=low + + * Add a README.macos. + + -- Marc 'HE' Brockschmidt <he@debian.org> Mon, 12 Apr 2004 23:35:24 +0200 + +filenames (10) unstable; urgency=low + + * Some new files to check the checks for the use of /usr/*/X11 and + /usr/X11R6/*. + + -- Marc 'HE' Brockschmidt <he@debian.org> Sun, 11 Apr 2004 17:35:20 +0200 + +filenames (9) unstable; urgency=low + + * Add a two *.ali files, one with the right permission, one with + the more common, but false one. + + -- Marc 'HE' Brockschmidt <he@debian.org> Sun, 11 Apr 2004 00:18:16 +0200 + +filenames (8) unstable; urgency=low + + * Add a real ancient file + + -- Frank Lichtenheld <djpig@debian.org> Thu, 8 Apr 2004 22:22:40 +0200 + +filenames (7) unstable; urgency=low + + * Add a dozen symlinks, some correct, some not + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Fri, 27 Feb 2004 01:28:42 +0100 + +filenames (6) unstable; urgency=low + + * Add perl files to check if + package-installs-nonbinary-perl-in-usr-lib-perl5 is correctly + issued even after attempting to suppress it in some cases + + -- Frank Lichtenheld <djpig@debian.org> Fri, 27 Feb 2004 00:49:44 +0100 + +filenames (5) unstable; urgency=low + + * Added check for too long symlink + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Wed, 3 Jan 2001 13:20:31 -0800 + +filenames (4) unstable; urgency=low + + * Add /usr/lib/menu/menu file to test the bad-menu-file-name tag. + * Add /usr/lib/menu/README to test the new execption for it. + + -- Richard Braakman <dark@xs4all.nl> Thu, 22 Oct 1998 15:42:52 +0200 + +filenames (3) unstable; urgency=low + + * Don't rely on the installer's umask. + + -- Richard Braakman <dark@xs4all.nl> Thu, 20 Aug 1998 12:45:47 +0200 + +filenames (2) unstable; urgency=low + + * Noted more limitations on what filenames lintian handles. + * Added Changes.gz in /usr/doc/filenames and made a symlink from changelog.gz + to Changes.gz. + + -- Richard Braakman <dark@xs4all.nl> Sat, 4 Jul 1998 15:46:11 +0200 + +filenames (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman <dark@xs4all.nl> Sat, 4 Jul 1998 15:25:01 +0200 diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/debian/control b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/control new file mode 100644 index 0000000..1ff9c50 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/control @@ -0,0 +1,42 @@ +Source: filenames +Maintainer: Lintian Maintainer <lintian-maint@debian.org> +Standards-Version: 3.1.1 +Rules-Requires-Root: binary-targets + +Package: filenames +Architecture: any +Description: see how lintian reacts to weird filenames + This package contains files with the most evil names I could find, + except for ones that lintian is explicitly not designed to handle. + . + Lintian does not handle filenames containing newlines, or filenames + that contain the strings " link to ", " -> ", or ": ". The last one + is used as a separator by the file command, the others are used as + separators by tar. + . + Lintian also does not handle filenames that contain backslashes, or + other characters that are mangled by tar's -tv output. + +Package: filename-games +Architecture: all +Depends: filenames +Section: games +Description: Test game filename/location checks + This package contains files with slightly less evil names than + filenames. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: more-filename-games +Architecture: all +Depends: filenames, filename-games +Section: games +Priority: optional +Description: More test for game filename/location checks + This package contains no evil names, only evil locations. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/debian/doc-base b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/doc-base new file mode 100644 index 0000000..e5a611b --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/doc-base @@ -0,0 +1,11 @@ +Document: testing +Title: Working doc-base control file +Author: Russ Allbery +Abstract: This control file ensures that we don't get false positives for + correct doc-base files. + . + There isn't anything wrong with this one. +Section: Education + +Format: Text +Files: /usr/share/doc/filenames/README.macosx diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/debian/rules b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/rules new file mode 100755 index 0000000..0b9e87c --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/debian/rules @@ -0,0 +1,231 @@ +#!/usr/bin/make -f + +# Copyright (C) 1998 Richard Braakman +# +# 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 https://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') + +clean: + mkdir -p .svn CVS "{arch}" .arch-ids .bzr + touch data/.cvsignore data/svn-commit.tmp data/svk-commitsEr9P.tmp + touch data/.arch-inventory + touch 'data/.#Maelstrom Sound.1.1.1' 'data/Maelstrom Sounce.r121' + touch 'data/Maelstrom Sound.mine' + touch "data/'\\ " + touch filenames.c~ + +build-arch: + +build-indep: + +build: build-arch build-indep + + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + cp -a data debian/tmp/files + chmod -R go=rX debian/tmp/files + + install -d debian/tmp/usr/lib/filenames + install -m 555 -d debian/tmp/usr/lib/filenames/readonly + touch debian/tmp/usr/lib/filenames/readonly/test + + install -d debian/tmp/usr/lib/menu + install -d debian/tmp/usr/share/menu + touch debian/tmp/usr/lib/menu/README + touch debian/tmp/usr/share/menu/README + touch debian/tmp/usr/lib/menu/menu + touch debian/tmp/usr/share/menu/menu + chmod 644 debian/tmp/usr/lib/menu/* + + install -d debian/tmp/$(VENDORARCH)/foo + mkdir debian/tmp/$(VENDORARCH)/.svn + mkdir debian/tmp/$(VENDORARCH)/CVS + mkdir "debian/tmp/$(VENDORARCH)/{arch}" + mkdir debian/tmp/$(VENDORARCH)/.arch-ids + mkdir debian/tmp/$(VENDORARCH)/.bzr + mkdir debian/tmp/$(VENDORARCH)/.be + mkdir debian/tmp/$(VENDORARCH)/.ditrack + install -d debian/tmp/usr/share/perl5 + echo foo > debian/tmp/$(VENDORARCH)/foo/.gitignore + echo foo > debian/tmp/$(VENDORARCH)/foo/.hgignore + echo foo > debian/tmp/$(VENDORARCH)/foo/.hgtags + echo foo > debian/tmp/$(VENDORARCH)/foo/.hg_archival.txt + + touch debian/tmp/$(VENDORARCH)/foo/.packlist + chmod 644 debian/tmp/$(VENDORARCH)/foo/.packlist + touch debian/tmp/$(VENDORARCH)/foo/bar.pm + TZ=UTC touch -t 197501010101 debian/tmp/$(VENDORARCH)/foo/ancient.pm + chmod 644 debian/tmp/$(VENDORARCH)/foo/bar.pm + + install -d debian/tmp/usr/share/pixmaps + install -d debian/tmp/usr/share/pixmaps/foo + touch debian/tmp/usr/share/pixmaps/license.jpeg + touch debian/tmp/usr/share/pixmaps/licence.jpg + touch debian/tmp/usr/share/pixmaps/copying.xpm + touch debian/tmp/usr/share/pixmaps/foo/COPYING.svg + touch debian/tmp/usr/share/pixmaps/foo/copying.png + touch debian/tmp/usr/share/pixmaps/license.txt + touch debian/tmp/usr/share/pixmaps/license.foo + touch debian/tmp/usr/share/pixmaps/COPYING + + install -d debian/tmp/usr/share/linda/overrides + echo 'foo' > debian/tmp/usr/share/linda/overrides/filenames + + install -d debian/tmp/usr/share/doc/filenames + touch debian/tmp/usr/share/doc/filenames/README.macosx + + echo foo > debian/tmp/usr/share/doc/filenames/bokmÃ¥l + echo foo > debian/tmp/usr/share/doc/filenames/bokm\\Ã¥l + echo foo > debian/tmp/usr/share/doc/filenames/bokmål + echo foo > debian/tmp/usr/share/doc/filenames/bokm\\ål + + echo foo > debian/tmp/usr/share/doc/filenames/Thumbs.db + echo foo > debian/tmp/usr/share/doc/filenames/.DS_Store + echo foo > debian/tmp/usr/share/doc/filenames/._NEWS.Debian + + touch debian/tmp/usr/share/doc/filenames/news.debian + gzip -n debian/tmp/usr/share/doc/filenames/news.debian + touch debian/tmp/usr/share/doc/filenames/NEWS.Debian + + echo foo > debian/tmp/usr/share/doc/filenames/link-one + ln debian/tmp/usr/share/doc/filenames/link-one \ + debian/tmp/usr/share/doc/filenames/link-two + + install -d debian/tmp/usr/share/doc/filenames/examples + touch debian/tmp/usr/share/doc/filenames/examples/__init__.py + touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example + touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2 + gzip -n debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2 + + install -d debian/tmp/usr/lib/ada/adalib/ + touch debian/tmp/usr/lib/ada/adalib/test.ali debian/tmp/usr/lib/ada/adalib/test2.ali + chmod 0644 debian/tmp/usr/lib/ada/adalib/test.ali + chmod 0444 debian/tmp/usr/lib/ada/adalib/test2.ali + + install -d debian/tmp/usr/bin/X11/ + touch debian/tmp/usr/bin/X11/testxbin + install -d debian/tmp/usr/X11R6/bin + touch debian/tmp/usr/X11R6/bin/testxbin2 + install -d debian/tmp/usr/include/X11 + touch debian/tmp/usr/include/X11/foo.h + + install -d debian/tmp/usr/bin/mh + touch debian/tmp/usr/bin/mh/read + chmod 755 debian/tmp/usr/bin/mh/read + install -d debian/tmp/usr/bin/bin + touch debian/tmp/usr/bin/bin/bad + chmod 755 debian/tmp/usr/bin/bin/bad + + install -m 644 debian/changelog debian/tmp/usr/share/doc/filenames/Changes + gzip -n -9 debian/tmp/usr/share/doc/filenames/Changes + ln -s Changes.gz debian/tmp/usr/share/doc/filenames/changelog.gz + + install -d debian/tmp/var/www + echo foo > debian/tmp/var/www/foo + + install -d debian/tmp/srv/foo + touch debian/tmp/srv/foo/bar + install -d debian/tmp/opt/foo + touch debian/tmp/opt/foo/bar + + install -d debian/tmp/etc/gconf/schemas + touch debian/tmp/etc/gconf/schemas/test.schema + + install -d debian/tmp/usr/lib/sgml + touch debian/tmp/usr/lib/sgml/package + + install -d debian/tmp/usr/share/gnome/apps/System + touch debian/tmp/usr/share/gnome/apps/System/foo.desktop + + install -d debian/tmp/usr/share/filenames + touch debian/tmp/usr/share/filenames/jquery.js + touch debian/tmp/usr/share/filenames/jquery.lite.js + touch debian/tmp/usr/share/filenames/jquery.min.js + touch debian/tmp/usr/share/filenames/jquery.pack.js + touch debian/tmp/usr/share/filenames/mochikit.js + touch debian/tmp/usr/share/filenames/prototype-1.2.3.4.js + touch debian/tmp/usr/share/filenames/prototype.js + touch debian/tmp/usr/share/filenames/prototype.js.gz + touch debian/tmp/usr/share/filenames/scriptaculous.js + touch debian/tmp/usr/share/filenames/yahoo-dom-event.js + touch debian/tmp/usr/share/filenames/yahoo-min.js + + ln -s '../filenames/doc/version6.txt.gz' debian/tmp/usr/share/doc/filenames/version.txt.gz + ln -s ../../share/symlink debian/tmp/usr/lib/filenames/symlink1ok + ln -s ../../../etc/symlink debian/tmp/usr/lib/filenames/symlink1wrong + ln -s ../../../../etc/symlink debian/tmp/usr/lib/filenames/symlink2wrong + ln -s /etc/symlink debian/tmp/usr/lib/filenames/symlink2ok + ln -s /usr/lib/filenames/symlink2 debian/tmp/usr/lib/filenames/symlink3wrong + ln -s test debian/tmp/usr/lib/filenames/symlink3ok + ln -s ../filenames/symlink2 debian/tmp/usr/lib/filenames/symlink4wrong + ln -s ../menu/../somethingelse debian/tmp/usr/lib/filenames/symlink5wrong + ln -s ../menu/somethingelse debian/tmp/usr/lib/filenames/symlink4ok + ln -s ./file4 debian/tmp/usr/lib/filenames/symlink6wrong + ln -s ../menu/./something debian/tmp/usr/lib/filenames/symlink7wrong + ln -s ../menu//something debian/tmp/usr/lib/filenames/symlink8wrong + ln -s ../menu/something/ debian/tmp/usr/lib/filenames/symlink9wrong + ln -s .. debian/tmp/usr/lib/filenames/symlink5ok+warn + ln -s . debian/tmp/usr/lib/filenames/symlink6ok+warn + ln -s / debian/tmp/usr/lib/filenames/symlink7ok+warn + ln -s ../../.. debian/tmp/usr/lib/filenames/symlink10wrong + +# devhelp tests. Files in /usr/share/gtk-doc/html or /usr/share/devhelp/books +# are okay. Files elsewhere are okay iff their parent path is symlinked into +# one of those paths. + install -d debian/tmp/usr/share/devhelp/books/filenames + echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/a.devhelp + echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/.devhelp2 + gzip -n -9 debian/tmp/usr/share/devhelp/books/filenames/.devhelp2 + install -d debian/tmp/usr/share/gtk-doc/html/filenames + echo 'Not really XML' > debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp + gzip -n -9 debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp + install -d debian/tmp/usr/share/doc/filenames/good-devhelp + echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/good-devhelp/.devhelp2 + install -d debian/tmp/usr/share/doc/filenames/bad-devhelp + echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp + gzip -n -9 debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp + ln -s ../../doc/filenames/good-devhelp debian/tmp/usr/share/gtk-doc/html/good + ln -s ../doc/filenames/bad-devhelp debian/tmp/usr/share/gtk-doc/html/bad + + install -d debian/tmp/usr/share/doc-base + install -m 644 debian/doc-base debian/tmp/usr/share/doc-base/filenames + + dpkg-gencontrol -pfilenames -Pdebian/tmp + dpkg --build debian/tmp .. + + install -d debian/filename-games debian/filename-games/DEBIAN + install -d debian/filename-games/usr debian/filename-games/usr/games debian/filename-games/usr/bin + echo '#! /bin/sh' > debian/filename-games/usr/bin/test-game + chmod 755 debian/filename-games/usr/bin/test-game + dpkg-gencontrol -pfilename-games -Pdebian/filename-games + dpkg --build debian/filename-games .. + + install -d debian/more-filename-games debian/more-filename-games/DEBIAN + install -d debian/more-filename-games/usr debian/more-filename-games/usr/games debian/more-filename-games/usr/bin + echo '#! /bin/sh' > debian/more-filename-games/usr/bin/another-test-game + echo '#! /bin/sh' > debian/more-filename-games/usr/games/yet-another-test-game + chmod 755 debian/more-filename-games/usr/bin/another-test-game debian/more-filename-games/usr/games/yet-another-test-game + dpkg-gencontrol -pmore-filename-games -Pdebian/more-filename-games + dpkg --build debian/more-filename-games .. + +binary: binary-arch binary-indep + +.PHONY: build-indep build-arch build binary-arch binary-indep binary clean diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/fill-values b/t/recipes/checks/menus/legacy-filenames/build-spec/fill-values new file mode 100644 index 0000000..062a1ea --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-non-native +Testname: legacy-filenames +Source: filenames +Version: 1:12-0.1 +Description: Legacy test "filenames" diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/ .tif b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/ .tif new file mode 100644 index 0000000..07fd914 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/ .tif @@ -0,0 +1,2 @@ +This filename was inspired by the ".tif used by fnlib. The real package +uses space.tif. diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/".tif b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/".tif new file mode 100644 index 0000000..e005775 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/".tif @@ -0,0 +1 @@ +This filename is really used, by fnlib. diff --git a/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/Maelstrom Sound b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/Maelstrom Sound new file mode 100644 index 0000000..4110410 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/build-spec/orig/data/Maelstrom Sound @@ -0,0 +1 @@ +This filename occurs in the maelstrom package. diff --git a/t/recipes/checks/menus/legacy-filenames/eval/desc b/t/recipes/checks/menus/legacy-filenames/eval/desc new file mode 100644 index 0000000..1996c48 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-filenames +Check: menus diff --git a/t/recipes/checks/menus/legacy-filenames/eval/hints b/t/recipes/checks/menus/legacy-filenames/eval/hints new file mode 100644 index 0000000..e63e8f0 --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/eval/hints @@ -0,0 +1,4 @@ +filenames (binary): postinst-does-not-call-updatemenus [usr/share/menu/menu] +filenames (binary): menu-file-in-usr-lib [usr/lib/menu/menu] +filenames (binary): bad-menu-file-name [usr/share/menu/menu] +filenames (binary): bad-menu-file-name [usr/lib/menu/menu] diff --git a/t/recipes/checks/menus/legacy-filenames/eval/post-test b/t/recipes/checks/menus/legacy-filenames/eval/post-test new file mode 100644 index 0000000..571e35d --- /dev/null +++ b/t/recipes/checks/menus/legacy-filenames/eval/post-test @@ -0,0 +1,3 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ +s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g +/package-installs-packlist/ d diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/control.in b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/control.in new file mode 100644 index 0000000..2e815d0 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/control.in @@ -0,0 +1,38 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, [% $source %]-dependency +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dependency +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (dependency) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This is a dependency for [% $source %] + +Package: [% $source %]-not-a-dependency +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (not a dependency) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This is not a dependency for [% $source %] diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/doc-base b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/doc-base new file mode 100644 index 0000000..ff017e2 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/doc-base @@ -0,0 +1,13 @@ +Document: example +Title: An example doc-base control file +Author: Chris Lamb +Section: Help + +Format: HTML +Index: /usr/share/doc/menus-doc-base-file-references-missing-file/documentation.txt +Files: + /missing + /usr/share/doc/menus-doc-base-file-references-missing-file/documentation.txt + /usr/share/doc/menus-doc-base-file-references-missing-file/documentatio?.t*t + /usr/share/doc/menus-doc-base-file-references-missing-file-dependency/documentation.txt + /usr/share/doc/menus-doc-base-file-references-missing-file-not-a-dependency/documentation.txt diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/rules b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/rules new file mode 100644 index 0000000..1383288 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/debian/rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f + +MAIN = $(shell dh_listpackages | head -n1) +DEPENDENCY = $(MAIN)-dependency +NOT_A_DEPENDENCY = $(MAIN)-not-a-dependency + +%: + dh $@ + +override_dh_installdocs: + dh_installdocs -p$(MAIN) documentation.txt + dh_installdocs -p$(DEPENDENCY) documentation.txt + dh_installdocs -p$(NOT_A_DEPENDENCY) documentation.txt diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/fill-values b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/fill-values new file mode 100644 index 0000000..11e92fe --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: menus-doc-base-file-references-missing-file +Description: check for missing files in doc-base diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/orig/documentation.txt b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/orig/documentation.txt new file mode 100644 index 0000000..82f7692 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/build-spec/orig/documentation.txt @@ -0,0 +1 @@ +This is example documentation. diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/desc b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/desc new file mode 100644 index 0000000..b255650 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/desc @@ -0,0 +1,2 @@ +Testname: menus-doc-base-file-references-missing-file +Check: menus diff --git a/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/hints b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/hints new file mode 100644 index 0000000..e5142fe --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-file-references-missing-file/eval/hints @@ -0,0 +1,3 @@ +menus-doc-base-file-references-missing-file (binary): doc-base-file-references-wrong-path /missing [usr/share/doc-base/menus-doc-base-file-references-missing-file.example:13] +menus-doc-base-file-references-missing-file (binary): doc-base-file-references-missing-file /usr/share/doc/menus-doc-base-file-references-missing-file-not-a-dependency/documentation.txt [usr/share/doc-base/menus-doc-base-file-references-missing-file.example:13] +menus-doc-base-file-references-missing-file (binary): doc-base-file-references-missing-file /missing [usr/share/doc-base/menus-doc-base-file-references-missing-file.example:13] diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc1 b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc1 new file mode 100644 index 0000000..947e56c --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc1 @@ -0,0 +1,8 @@ +Document: doc1 +Title: Document 1 +Author: Lintian maintainers +Abstract: Document 1 +Section: Programming/Something + +Format: text +Files: /usr/share/doc/menus-doc-base-general/doc1.txt diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc2 b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc2 new file mode 100644 index 0000000..6dcc2f5 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/doc-base.doc2 @@ -0,0 +1,18 @@ + +Document: doc2 +Title: Document 2 +Author: Lintian maintainers +Author: Duplicate field... oops. +Abstract: Document 2 + Blah bla manage online manuals Debian blah bla + . + The second line is totally a template. Oh yeah, a space too + much on the " ."-line followed by wrong indentation. +Section: Apps/Programming + + + +Format: text +Files: /usr/share/doc/menus-doc-base-general/doc2.txt + +oops, this is a syntax error. diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/docs b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/docs new file mode 100644 index 0000000..d411609 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/debian/docs @@ -0,0 +1,2 @@ +doc1.txt +doc2.txt diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/fill-values b/t/recipes/checks/menus/menus-doc-base-general/build-spec/fill-values new file mode 100644 index 0000000..690b230 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: menus-doc-base-general +Description: Test some doc-base related tags +# doc-base installation paths now include the package name, see Bug#980903 +Extra-Build-Depends: debhelper (>= 13.4) diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc1.txt b/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc1.txt new file mode 100644 index 0000000..5071182 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc1.txt @@ -0,0 +1 @@ +Document 1 diff --git a/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc2.txt b/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc2.txt new file mode 100644 index 0000000..b0374f0 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/build-spec/orig/doc2.txt @@ -0,0 +1 @@ +Document 2 diff --git a/t/recipes/checks/menus/menus-doc-base-general/eval/desc b/t/recipes/checks/menus/menus-doc-base-general/eval/desc new file mode 100644 index 0000000..3360ebc --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/eval/desc @@ -0,0 +1,4 @@ +Testname: menus-doc-base-general +Test-Against: doc-base-unknown-section +See-Also: Debian Bug#495836 +Check: menus diff --git a/t/recipes/checks/menus/menus-doc-base-general/eval/hints b/t/recipes/checks/menus/menus-doc-base-general/eval/hints new file mode 100644 index 0000000..795a26d --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-general/eval/hints @@ -0,0 +1,8 @@ +menus-doc-base-general (binary): duplicate-field-in-doc-base Author [usr/share/doc-base/menus-doc-base-general.doc2:5] +menus-doc-base-general (binary): doc-base-uses-applications-section Apps/Programming [usr/share/doc-base/menus-doc-base-general.doc2:11] +menus-doc-base-general (binary): doc-base-file-syntax-error [usr/share/doc-base/menus-doc-base-general.doc2:18] +menus-doc-base-general (binary): doc-base-file-separator-extra-whitespace [usr/share/doc-base/menus-doc-base-general.doc2:13] +menus-doc-base-general (binary): doc-base-document-field-not-in-first-line [usr/share/doc-base/menus-doc-base-general.doc2:2] +menus-doc-base-general (binary): doc-base-abstract-might-contain-extra-leading-whitespace [usr/share/doc-base/menus-doc-base-general.doc2:10] +menus-doc-base-general (binary): doc-base-abstract-field-separator-extra-whitespace [usr/share/doc-base/menus-doc-base-general.doc2:8] +menus-doc-base-general (binary): doc-base-abstract-field-is-template [usr/share/doc-base/menus-doc-base-general.doc2:10] diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/control.in b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/control.in new file mode 100644 index 0000000..39c74c9 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/control.in @@ -0,0 +1,23 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %]-pdf +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] -- pdf doc + This is a test package with fake pdf documentation designed to exercise + some feature or tag of Lintian. It is part of the Lintian test suite and + may do very odd things. It should not be installed like a regular package. + +Package: [% $source %]-html +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] -- html doc + This is a test package with fake html documentation designed to exercise + some feature or tag of Lintian. It is part of the Lintian test suite and + may do very odd things. It should not be installed like a regular package. diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-html.docs b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-html.docs new file mode 100644 index 0000000..3e1708f --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-html.docs @@ -0,0 +1 @@ +doc1.html diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-pdf.install b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-pdf.install new file mode 100644 index 0000000..c78f14e --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/debian/menus-doc-base-registration-pdf.install @@ -0,0 +1 @@ +doc2.pdf /usr/share/doc/foo/ diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/fill-values b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/fill-values new file mode 100644 index 0000000..78a0208 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: menus-doc-base-registration +Description: Test some doc-base registration related tags +# doc-base installation paths now include the package name, see Bug#980903 +Extra-Build-Depends: debhelper (>= 13.4) diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc1.html b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc1.html new file mode 100644 index 0000000..3b18e51 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc1.html @@ -0,0 +1 @@ +hello world diff --git a/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc2.pdf b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc2.pdf new file mode 100644 index 0000000..3b18e51 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/build-spec/orig/doc2.pdf @@ -0,0 +1 @@ +hello world diff --git a/t/recipes/checks/menus/menus-doc-base-registration/eval/desc b/t/recipes/checks/menus/menus-doc-base-registration/eval/desc new file mode 100644 index 0000000..fb62c9a --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/eval/desc @@ -0,0 +1,2 @@ +Testname: menus-doc-base-registration +Check: menus diff --git a/t/recipes/checks/menus/menus-doc-base-registration/eval/hints b/t/recipes/checks/menus/menus-doc-base-registration/eval/hints new file mode 100644 index 0000000..d5f2c47 --- /dev/null +++ b/t/recipes/checks/menus/menus-doc-base-registration/eval/hints @@ -0,0 +1,2 @@ +menus-doc-base-registration-pdf (binary): possible-documentation-but-no-doc-base-registration +menus-doc-base-registration-html (binary): possible-documentation-but-no-doc-base-registration diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postinst b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postinst new file mode 100644 index 0000000..ed633f7 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postinst @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +install-docs +update-menus + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postrm b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postrm new file mode 100644 index 0000000..d3027f5 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/postrm @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if which install-docs >/dev/null 2>&1 ; then + install-docs +fi + +if which update-menus >/dev/null 2>&1 ; then + update-menus +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/preinst b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/preinst new file mode 100644 index 0000000..d3027f5 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/preinst @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if which install-docs >/dev/null 2>&1 ; then + install-docs +fi + +if which update-menus >/dev/null 2>&1 ; then + update-menus +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/prerm b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/prerm new file mode 100644 index 0000000..d3027f5 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/debian/prerm @@ -0,0 +1,12 @@ +#!/bin/sh +set -e + +if which install-docs >/dev/null 2>&1 ; then + install-docs +fi + +if which update-menus >/dev/null 2>&1 ; then + update-menus +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/fill-values b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/fill-values new file mode 100644 index 0000000..cbf8555 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: menus-foo-calls-bar +Description: check for installdocs and updatemenus calls diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/eval/desc b/t/recipes/checks/menus/menus-foo-calls-bar/eval/desc new file mode 100644 index 0000000..5e67f88 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/eval/desc @@ -0,0 +1,2 @@ +Testname: menus-foo-calls-bar +Check: menus diff --git a/t/recipes/checks/menus/menus-foo-calls-bar/eval/hints b/t/recipes/checks/menus/menus-foo-calls-bar/eval/hints new file mode 100644 index 0000000..cd3eee4 --- /dev/null +++ b/t/recipes/checks/menus/menus-foo-calls-bar/eval/hints @@ -0,0 +1,10 @@ +menus-foo-calls-bar (binary): prerm-has-useless-call-to-install-docs [prerm:5] +menus-foo-calls-bar (binary): prerm-calls-updatemenus [prerm:9] +menus-foo-calls-bar (binary): preinst-calls-updatemenus [preinst:9] +menus-foo-calls-bar (binary): preinst-calls-installdocs [preinst:5] +menus-foo-calls-bar (binary): postrm-has-useless-call-to-update-menus [postrm:9] +menus-foo-calls-bar (binary): postrm-calls-installdocs [postrm:5] +menus-foo-calls-bar (binary): postinst-has-useless-call-to-update-menus [postinst:5] +menus-foo-calls-bar (binary): postinst-has-useless-call-to-install-docs [postinst:4] +menus-foo-calls-bar (binary): maintainer-script-does-not-check-for-existence-of-updatemenus [postinst:5] +menus-foo-calls-bar (binary): maintainer-script-does-not-check-for-existence-of-installdocs [postinst:4] diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/install b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/install new file mode 100644 index 0000000..1d3c127 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/install @@ -0,0 +1,5 @@ +debian/test-doc.txt usr/share/doc/menus-script-check-ok +debian/test-doc usr/share/doc-base +debian/test-menu usr/share/menu +debian/test-script usr/bin +debian/test-script.1 usr/share/man/man1 diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postinst b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postinst new file mode 100644 index 0000000..9907569 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postinst @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +# Checks that the maintainer script checks for the existence of programs that +# it calls. This should produce no warnings except a bashism warning about +# using type, a warning about the deprecated wm-menu-config invocation, and a +# warning for calling the deprecated install-docs outside of a trigger. +if [ -x /usr/bin/update-menus ] ; then + update-menus +fi +if type install-docs >/dev/null 2>&1 ; then + install-docs -i /usr/share/doc-base/test-doc +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postrm b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postrm new file mode 100644 index 0000000..c2274f3 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/postrm @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +if type update-menus >/dev/null 2>&1 ; then + update-menus +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/prerm b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/prerm new file mode 100644 index 0000000..8618321 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/prerm @@ -0,0 +1,7 @@ +#!/bin/sh +set -e +if [ -x "`which install-docs 2>/dev/null`" ] ; then + install-docs -r test-doc +fi + +#DEBHELPER# diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc new file mode 100644 index 0000000..4a133c4 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc @@ -0,0 +1,8 @@ +Document: test-doc +Title: Test document for Lintian test +Author: Russ Allbery +Abstract: This is just a test document +Section: Debian + +Format: text +Files: /usr/share/doc/menus-script-check-ok/test-doc.txt diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc.txt b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc.txt new file mode 100644 index 0000000..a0f31e8 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-doc.txt @@ -0,0 +1 @@ +This is a test document. diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-menu b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-menu new file mode 100644 index 0000000..9da38aa --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-menu @@ -0,0 +1,5 @@ +?package(menus-script-check-ok):\ + section="Applications/Programming"\ + needs="text"\ + title="Test menu entry"\ + command="/usr/bin/test-script" diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script new file mode 100644 index 0000000..f5da270 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script @@ -0,0 +1,2 @@ +#!/bin/sh +echo 'This script does nothing.' diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script.1 b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script.1 new file mode 100644 index 0000000..f9e84b6 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/debian/test-script.1 @@ -0,0 +1,7 @@ +.TH test-script 1 +.SH NAME +test\-script \- some test script +.SH SYNOPSIS +.B test\-script +.SH DESCRIPTION +Some test script. diff --git a/t/recipes/checks/menus/menus-script-check-ok/build-spec/fill-values b/t/recipes/checks/menus/menus-script-check-ok/build-spec/fill-values new file mode 100644 index 0000000..1c027d8 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: menus-script-check-ok +Description: Correct program checks in maintainer scripts diff --git a/t/recipes/checks/menus/menus-script-check-ok/eval/desc b/t/recipes/checks/menus/menus-script-check-ok/eval/desc new file mode 100644 index 0000000..f2854c0 --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/eval/desc @@ -0,0 +1,5 @@ +Testname: menus-script-check-ok +Test-Against: + maintainer-script-does-not-check-for-existence-of-installdocs + maintainer-script-does-not-check-for-existence-of-updatemenus +Check: menus diff --git a/t/recipes/checks/menus/menus-script-check-ok/eval/hints b/t/recipes/checks/menus/menus-script-check-ok/eval/hints new file mode 100644 index 0000000..64324cb --- /dev/null +++ b/t/recipes/checks/menus/menus-script-check-ok/eval/hints @@ -0,0 +1,2 @@ +menus-script-check-ok (binary): prerm-has-useless-call-to-install-docs [prerm:4] +menus-script-check-ok (binary): postinst-has-useless-call-to-install-docs [postinst:12] diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/NEWS.Debian b/t/recipes/checks/menus/national-encoding/build-spec/debian/NEWS.Debian new file mode 100644 index 0000000..29f561c --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/NEWS.Debian @@ -0,0 +1,12 @@ +binary (4-1.1) UNRELEASED; urgency=high + + This is a Debian NEWS entry that isn't encoded properly in UTF-8: ü. + It also has a usefull speling error. + + -- Russ Allbery <rra@debian.org> Sun, 14 Oct 2007 17:11:36 -0700 + +binary (1) unstable; urgency=low + + This is another entry but this one isn't syntactically valid. + + -- Russ Allbery 2007-10-14 diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/README.Debian b/t/recipes/checks/menus/national-encoding/build-spec/debian/README.Debian new file mode 100644 index 0000000..94bcc0a --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/README.Debian @@ -0,0 +1,5 @@ +this is a binary package to test lintian's handling of bins. +Check handling of D-Bus and dbus (neither of which should produce +warnings). + + -- Russ Allbery <rra@debian.org>, Wed, 6 Feb 2008 18:35:11 -0800 diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/changelog.in b/t/recipes/checks/menus/national-encoding/build-spec/debian/changelog.in new file mode 100644 index 0000000..39301d6 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/changelog.in @@ -0,0 +1,47 @@ +binary ([% $version %]) [% $distribution %]; urgency=low + + * I'm doing an comaintainer-upload, acknowledging a NMU, but with a version + number which suggests I'm doing a NMU myself. + + Lintian-maintainers: Please don't update this changelog, otherwise you'll + probably break the checks/nmu checks. + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 18 Apr 2004 01:49:42 +0200 + +binary (4-1) unstable; urgency=low + + * Weird version number for the new check for accidents with native + packaging. + * Date was fixed by BR and this test was put on changelog-file-strange-date + due to dpkg bug, see #794674. + + -- Marc 'HE' Brockschmidt <he@debian.org> Thu, 15 Apr 2004 23:33:51 +0200 + +binary (4) unstable; urgency=low + + * Add big file to /usr/share to trigger the big-usr-share check + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Fri, 27 Feb 2004 10:15:59 +0100 + +binary (3) unstable; urgency=unlimited + + * Add some bogus menu entries using su-to-root in a bogus way + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Thu, 12 Feb 2004 20:11:22 +0100 + +binary (2) unstable; urgency=low + + * Added an INSTALL document which policy 6.3 suggests not to do + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Tue, 30 Jan 2001 15:23:59 -0800 + +binary (1) unstable; urgency=low + + * hello.c added + * hello-static is same as hello, but compiled statically + * added a menu entry which lacks a Section + * added a postinst + * postinst calls suidregister which is no longer policy compliant + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Wed, 10 Jan 2001 08:55:34 -0800 + diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/conffiles b/t/recipes/checks/menus/national-encoding/build-spec/debian/conffiles new file mode 100644 index 0000000..d1a0843 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/conffiles @@ -0,0 +1 @@ +/etc/menu-methods/lintian diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/control b/t/recipes/checks/menus/national-encoding/build-spec/debian/control new file mode 100644 index 0000000..c797357 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/control @@ -0,0 +1,42 @@ +Source: binary +Section: misc +Priority: optional +Maintainer: Lintian Maintainers <lintian-maint@debian.org> +Uploaders: Co-maintainer one <one@debian.org>, Jeroen van Wolffelaar <jeroen@wolffelaar.nl>, Co-maintainer three <three@debian.org> +Standards-Version: 3.2.1 +Homepage: http://lintian.debian.org/ +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +XS-Vcs-Browser: http://svn.wolffelaar.nl/lintian/trunk +XS-Dm-Upload-Allowed: yes + +Package: binary +Architecture: any +Pre-Depends: ${shlibs:Depends}, xorg, binary-data (= ${source:Version}), libssl0.9.8 +Homepage: <http://lintian.debian.org/> +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +Description: test handling of binary files + Regression test for lintian's handling of binary files for debian. This + is checked for picky spelling errors. + . + This package list [ subversion | gconf ] should not be flagged as a spelling + mistake. The spelling correction for dont should be correct. + . + Homepage: http://lintian.debian.org/ + +Package: binary-data +Architecture: all +Depends: binary (= ${source:Version}), libssl-not-openssl, + libssl0.9.8 | or-something-else +Description: test handling of binary relationships + Regression test for lintian's checking of package relationships between + arch:any and arch:all packages. + . + This mention of subversion should be flagged as a spelling mistake. + +#Package: binary-comment +#Architecture: space-almonds +#Depends: * +#Depends: * +#Description: test comment support +# Yes, comments are actually allowed in debian/control, so none of the +# above should produce errors. diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/copyright b/t/recipes/checks/menus/national-encoding/build-spec/debian/copyright new file mode 100644 index 0000000..1d6806d --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/copyright @@ -0,0 +1,15 @@ +hello.c is released under public domain. This 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. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +Test for old FSF address: + +Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +Test for deprecated nätionäl äncoding. + +Improper capitalization of linux or debian isn't caught here. diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/doc-base b/t/recipes/checks/menus/national-encoding/build-spec/debian/doc-base new file mode 100644 index 0000000..7e5b38f --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/doc-base @@ -0,0 +1,41 @@ +Document: binary!docs +Title: Broken debian binary doc-base control file +Author: Russ Allbery +Abstract: This control file exercises various tests of doc-base control + files, including several things that aren't tested yet. The third and + fourth one has trailing whitespace. + . + This section has a speling error and bad ® character. + . + The above separator was fine. +Section: Non/Existant +Unknown: Some field + + + +Format: debiandoc-sgML +Files: /usr/share/doc/binary/binary.sgml.gz +Unknown: Some field + +Format: ESP +Index: /usr/share/doc/binary/binary.txt + +Index: /usr/share/doc/binary/html/index.html + /usr/share/doc/binary/html/ch1.html + /usr/share/doc/binary/html/ch4.html + + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch?.h*l + /usr/share/doc/binary/hml/*.html + +Format: inFO +Files: /usr/share/info/binary.info.gz + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch5.html + /usr/share/doc/binary/html/ch6.html + + diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/goodbye.desktop b/t/recipes/checks/menus/national-encoding/build-spec/debian/goodbye.desktop new file mode 100644 index 0000000..f6ce8e3 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/goodbye.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name:Goodbye +# Name=Goodbye +Comment=Say hello! +SpecialTag=This doesn't exist! +Exec=goodbye +icon=hello +Terminal=true +Type=Application +Categories=WeirdStuff;Screensaver; +Encoding=ISO-10646-1 +[Other Entry] +Name=Goodbye diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/hello.desktop b/t/recipes/checks/menus/national-encoding/build-spec/debian/hello.desktop new file mode 100644 index 0000000..f795468 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/hello.desktop @@ -0,0 +1,14 @@ +# some random comment + +# [Foo Bar] +[KDE Desktop Entry] +Name=Hello +Name[en_US]=Hello +Comment=Say hello!
+Exec=kdesu hello +Icon=hello +Terminal=true +Type=Application +Categories=GNOME;GTK;System;Applet;X-Foo;Settings; +Encoding=UTF-8 +OnlyShowIn=GNOME; diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/menu b/t/recipes/checks/menus/national-encoding/build-spec/debian/menu new file mode 100644 index 0000000..e8972f4 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/menu @@ -0,0 +1,26 @@ +?package(binary):needs=text title="Hello World" command="/usr/bin/hello" +?package(binary):needs=text section="Applications/System" title="Run cfdisk (0)" command="/usr/bin/su-to-root cfdisk" +?package(binary):needs="text" section="Applications/System/Hardware" title="Run cfdisk (1)" command="sux -p cfdisk" +?package(binary):needs="x11" section="Window Managers" title="Run xfdisk" command="/usr/sbin/su-to-root -c xfdisk" +?package(binary):needs="wm" section="Applications/System/Administration" title="Run fdisk-wm" command="su-to-root -c hello" +?package(binary):section="Apps/Games" title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Apps/System" title="I'm not here!" command="/imnothere" +?package(binary,other-binary):\ + needs="text"\ + section="Applications/Shells"\ + title="more than one required"\ + command="other-bin -s omething" +?package(binary):needs="wmmodule" section="WindowManagers/Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="wmmodule" section="FVWM Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="text" section="Applications/System/Administration" title="I'm not in /usr/bin!" command="iminusrbin" +?package(binary):needs="text"\ + section="Applications/System/Administration"\ + title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Applications/System/Administration"\ + title="Run cfdisk (0)" command="cfdisk" +?package(binary):needs="text" section="Applications/System/Administration" title="Hello World" command="/usr/bin/hello" +?package(binary):needs="wm" section="FVWM Modules" title="Fake Module" command="hello" +?package(binary):needs="fvwmmodule" section="Window Maker" title="Fake Module"\ + command="hello" +?package(binary):needs="x11" section="Applications/System/Hardware" title="Run xfdisk" command="su-to-root -c 'xfdisk -f'" +?package(binary):needs="text" section="Applications/System/Administration" title="foo" command="sh /path/to/foo" diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/menu-method b/t/recipes/checks/menus/national-encoding/build-spec/debian/menu-method new file mode 100644 index 0000000..9f07bd7 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/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/t/recipes/checks/menus/national-encoding/build-spec/debian/postinst b/t/recipes/checks/menus/national-encoding/build-spec/debian/postinst new file mode 100644 index 0000000..29e1861 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/postinst @@ -0,0 +1,6 @@ +#! /bin/bash -e + +if [ $1 eq 'configure' ] +then + suidregister hello-static root root 4755 +fi diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/rules b/t/recipes/checks/menus/national-encoding/build-spec/debian/rules new file mode 100755 index 0000000..a962ea9 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/rules @@ -0,0 +1,92 @@ +#!/usr/bin/make -f + +tmp=debian/tmp + +# This reference to $(PWD) should not cause an error but the one below +# should. +build-arch: + make + echo $(PWD) + +build: build-arch + +clean: + make -i clean + [ ! -f debian/files ] || rm -f debian/files + [ ! -f debian/substvars ] || rm -f debian/substvars + [ ! -d debian/tmp ] || rm -rf debian/tmp + [ ! -d debian/binary ] || rm -rf debian/binary + [ ! -d debian/binary-data ] || rm -rf debian/binary-data + +binary-arch: build + install -d $(tmp)/usr/bin + install -d $(tmp)/boot/hello + install -m 755 hello $(tmp)/usr/bin + touch $(tmp)/usr/bin/iminusrbin + chmod 755 $(tmp)/usr/bin/iminusrbin + install -m 755 hello-static $(tmp)/usr/bin + strip $(tmp)/usr/bin/hello-static + install -m 755 hello-static $(tmp)/usr/bin/hello.static + strip --remove-section=.comment --remove-section=.note $(tmp)/usr/bin/hello.static + ln $(tmp)/usr/bin/hello.static $(tmp)/usr/bin/static-hello + install -m 755 hello-static $(tmp)/boot/hello + strip --remove-section=.comment --remove-section=.note $(tmp)/boot/hello/hello-static + install -d $(tmp)/usr/share/doc/binary + install -m 644 INSTALL $(tmp)/usr/share/doc/binary + install -d $(tmp)/usr/share/doc/binary/html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/index.html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/ch1.html + ln -s ../html/./ch1.html $(tmp)/usr/share/doc/binary/html/ch2.html + ln -s /usr/share/doc/binary/htm/ch1.html $(tmp)/usr/share/doc/binary/html/ch3.html + echo '<html></html>' > $(tmp)/usr/share/doc/binary/html/ch5.html + ln $(tmp)/usr/share/doc/binary/html/ch5.html \ + $(tmp)/usr/share/doc/binary/html/ch6.html + install -d $(tmp)/usr/share/menu + install -d $(tmp)/usr/lib/menu + 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 ' + install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary + install -m 644 debian/NEWS.Debian $(tmp)/usr/share/doc/binary + gzip -n -9 $(tmp)/usr/share/doc/binary/NEWS.Debian + install -m 644 debian/copyright $(tmp)/usr/share/doc/binary + install -m 644 debian/changelog $(tmp)/usr/share/doc/binary + #gzip -n -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 \ + $(tmp)/usr/share/applications/hello.desktop + install -m 755 debian/goodbye.desktop \ + $(tmp)/usr/share/applications/goodbye.desktop + + # should be ok... + echo boe > $(tmp)/usr/bar + ln $(tmp)/usr/bar $(tmp)/usr/foo + # but this isn't + echo boe > $(tmp)/usr/bar2 + ln $(tmp)/usr/bar2 $(tmp)/usr/share/baz + + dd if=/dev/zero of=$(tmp)/usr/share/binary/largefile bs=1024 count=4000 + + install -d debian/binary-data/DEBIAN + install -d debian/binary-data/usr/share/doc + ln -s binary debian/binary-data/usr/share/doc/binary-data + + dpkg-shlibdeps $(tmp)/usr/bin/hello + dpkg-gencontrol -pbinary -isp + dpkg-gencontrol -pbinary-data -Pdebian/binary-data -isp + + dpkg --build debian/tmp .. + dpkg --build debian/binary-data .. + +binary: binary-arch + +.PHONY: build-arch build binary-arch binary clean diff --git a/t/recipes/checks/menus/national-encoding/build-spec/debian/templates b/t/recipes/checks/menus/national-encoding/build-spec/debian/templates new file mode 100644 index 0000000..3d92861 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/debian/templates @@ -0,0 +1,16 @@ +# The debconf templates defined here are the sort that you'd use if +# providing a wordlist and an ispell dictionary for the language +# "perl". This shouldn't trigger warnings about not using debconf-po. + +Template: shared/packages-ispell +Type: text +Description: + +Template: shared/packages-wordlist +Type: text +Description: + +Template: miscfiles/languages +Type: text +Default: perl (Pathologically Eclectic Rubbish Lister) +Description: diff --git a/t/recipes/checks/menus/national-encoding/build-spec/fill-values b/t/recipes/checks/menus/national-encoding/build-spec/fill-values new file mode 100644 index 0000000..b109ac2 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-non-native +Testname: national-encoding +Source: binary +Version: 4-1.1 +Description: National encoding in doc-base diff --git a/t/recipes/checks/menus/national-encoding/build-spec/orig/INSTALL b/t/recipes/checks/menus/national-encoding/build-spec/orig/INSTALL new file mode 100644 index 0000000..3b50ea9 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/orig/INSTALL @@ -0,0 +1,176 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/t/recipes/checks/menus/national-encoding/build-spec/orig/Makefile b/t/recipes/checks/menus/national-encoding/build-spec/orig/Makefile new file mode 100644 index 0000000..da1dc55 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/orig/Makefile @@ -0,0 +1,12 @@ +all: hello hello-static + +hello: hello.c + gcc hello.c -o hello + +hello-static: hello.c + gcc -static hello.c -o hello-static + +clean: + rm -f hello hello-static + +distclean: clean diff --git a/t/recipes/checks/menus/national-encoding/build-spec/orig/hello.c b/t/recipes/checks/menus/national-encoding/build-spec/orig/hello.c new file mode 100644 index 0000000..2fb04e1 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/build-spec/orig/hello.c @@ -0,0 +1,8 @@ +#include <stdio.h> +#include <stdlib.h> + +int main(int argc, char *argv[]) { + + printf("Hello, World!\n"); + exit(0); +} diff --git a/t/recipes/checks/menus/national-encoding/eval/desc b/t/recipes/checks/menus/national-encoding/eval/desc new file mode 100644 index 0000000..7c0d4e9 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/eval/desc @@ -0,0 +1,2 @@ +Testname: national-encoding +Check: menus diff --git a/t/recipes/checks/menus/national-encoding/eval/hints b/t/recipes/checks/menus/national-encoding/eval/hints new file mode 100644 index 0000000..2168022 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/eval/hints @@ -0,0 +1,5 @@ +binary (binary): postrm-does-not-call-updatemenus [etc/menu-methods/lintian] +binary (binary): postinst-does-not-call-updatemenus [usr/share/menu/binary] +binary (binary): menu-method-lacks-include [etc/menu-methods/lintian] +binary (binary): menu-file-in-usr-lib [usr/lib/menu/binary] +binary (binary): doc-base-file-no-format-section [usr/share/doc-base/space ] diff --git a/t/recipes/checks/menus/national-encoding/eval/post-test b/t/recipes/checks/menus/national-encoding/eval/post-test new file mode 100644 index 0000000..3deefd5 --- /dev/null +++ b/t/recipes/checks/menus/national-encoding/eval/post-test @@ -0,0 +1,3 @@ +s/arch-dep-package-has-big-usr-share .*kB .*%/arch-dep-package-has-big-usr-share/ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/changelog.in b/t/recipes/checks/menus/spelling-general/build-spec/debian/changelog.in new file mode 100644 index 0000000..2d380f5 --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/changelog.in @@ -0,0 +1,13 @@ +[% $source %] ([% $version %]) unstable; urgency=low + + * Lintian Test Suite. + * Test: [% $testname %] + + * Suppress "should close ITP bug" messages. (Closes: #123456) + * This line has a speling error. + - This line has the same speling error, but we should only + get one tag for it. + * Corrected spelling: abov -> above. + * Corrected typo: abov -> above. + + -- [% $author %] [% $date %] diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/copyright b/t/recipes/checks/menus/spelling-general/build-spec/debian/copyright new file mode 100644 index 0000000..30cbe5c --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/copyright @@ -0,0 +1,21 @@ +This duplicate duplicate word should not trigger. (re. #897402) + +This is part of the testsuite of lintian. See the file debian/copyright +in the lintian source directory for more details. + +Insofar as this is copyrightable, it is: + + Copyright 2010 Russ Allbery <rra@debian.org> + +This text should not generate a spelling error for "ment": + + computer software documentation," as such terms are used in + 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- + ment only as a commercial end item. Consistent with 48 C.F.R. + 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), + +But deafult is still a spelling error. + +This text should not generate a spelling error for the duplicate "a" (re. #844166) + + following Attribution Information: (a) a copyright notice including the name diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/doc-base b/t/recipes/checks/menus/spelling-general/build-spec/debian/doc-base new file mode 100644 index 0000000..3839a9b --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/doc-base @@ -0,0 +1,9 @@ +Document: spelling-general +Title: Check for debian doc-base spelling errors +Author: Russ Allbery +Abstract: This control file exercises, picky, speling error checks for + Debian doc-base files, such as meta-package. +Section: Programming + +Format: text +Files: /usr/share/doc/spelling-general/copyright diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/add-readme b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/add-readme new file mode 100644 index 0000000..b1647ba --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/add-readme @@ -0,0 +1,8 @@ +This is a deliberate speling error. duplicate + +duplicate + +--- upstream.orig/README ++++ upstream/README +@@ -0,0 +1 @@ ++Added by patch system. diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/nonrel b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/nonrel new file mode 100644 index 0000000..48e7740 --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/nonrel @@ -0,0 +1,6 @@ +This is a deliberate speling error. (false positive; description mentions typo) + +--- upstream.orig/nonrel ++++ upstream/nonrel +@@ -0,0 +1 @@ ++Added by patch system. diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/series b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/series new file mode 100644 index 0000000..0bfb03d --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/series @@ -0,0 +1,3 @@ +add-readme +spelling +nonrel diff --git a/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/spelling b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/spelling new file mode 100644 index 0000000..29b9cfd --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/debian/patches/spelling @@ -0,0 +1,6 @@ +This is a deliberate speling error. (false positive; filename match) + +--- upstream.orig/spelling ++++ upstream/spelling +@@ -0,0 +1 @@ ++Added by patch system. diff --git a/t/recipes/checks/menus/spelling-general/build-spec/fill-values b/t/recipes/checks/menus/spelling-general/build-spec/fill-values new file mode 100644 index 0000000..5d925c5 --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/build-spec/fill-values @@ -0,0 +1,6 @@ +Testname: spelling-general +Skeleton: upload-non-native +Source-Format: 3.0 (quilt) +Description: General checks for spelling errors +# doc-base installation paths now include the package name, see Bug#980903 +Extra-Build-Depends: debhelper (>= 13.4) diff --git a/t/recipes/checks/menus/spelling-general/eval/desc b/t/recipes/checks/menus/spelling-general/eval/desc new file mode 100644 index 0000000..e9af29d --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/eval/desc @@ -0,0 +1,2 @@ +Testname: spelling-general +Check: menus diff --git a/t/recipes/checks/menus/spelling-general/eval/hints b/t/recipes/checks/menus/spelling-general/eval/hints new file mode 100644 index 0000000..57e1f9c --- /dev/null +++ b/t/recipes/checks/menus/spelling-general/eval/hints @@ -0,0 +1,3 @@ +spelling-general (binary): spelling-error-in-doc-base-title-field debian Debian [usr/share/doc-base/spelling-general.spelling-general:2] +spelling-general (binary): spelling-error-in-doc-base-abstract-field speling spelling [usr/share/doc-base/spelling-general.spelling-general:5] +spelling-general (binary): spelling-error-in-doc-base-abstract-field meta-package metapackage [usr/share/doc-base/spelling-general.spelling-general:5] |