diff options
Diffstat (limited to 't/recipes/checks/files/empty-directories')
54 files changed, 838 insertions, 0 deletions
diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/clean b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/clean new file mode 100644 index 0000000..222b726 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/clean @@ -0,0 +1 @@ +鳥の詩.1 diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/dirs b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/dirs new file mode 100644 index 0000000..b76fb64 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/dirs @@ -0,0 +1,13 @@ +etc +etc/skel +usr/bin +usr/doc +usr/lib/python3/dist-packages/foo +usr/share/foo +usr/share/fonts/X11/misc +usr/share/glib-2.0/schemas +usr/share/hal +usr/share/man/man1/random +var/catman +var/lock/lintian +var/run/lintian diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/examples b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/examples new file mode 100644 index 0000000..18fb10f --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/examples @@ -0,0 +1 @@ +foo.vcproj diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/install b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/install new file mode 100644 index 0000000..dccb61e --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/install @@ -0,0 +1,18 @@ +lintian-16x16.png usr/share/apps/lintian/icons/hicolor/22x22 +lintian-16x16.png usr/share/icons/hicolor/22x22/apps +lintian-22x22.png usr/share/apps/lintian/icons/hicolor/22x22 +lintian-22x22.png usr/share/apps/lintian/icons/hicolor/20x20 +lintian-16x16.png usr/share/doc/lintian/ +lintian-22x22.png usr/share/games/icons/hicolor/22x22 +lintian-16x16.png usr/share/icons/hicolor/scalable/apps +lintian-22x22.png usr/share/icons/16x16/animations/ +--lzma etc/modprobe.d +lintian.conf etc/modprobe.d +dir usr/share/info +foo.vcproj usr/lib/foo +lintian-lib.conf etc/ld.so.conf.d +php-foo.ini etc/php/7.0/mods-available +types usr/share/mime +mimeinfo.cache usr/share/applications +file-in-new-top-level-dir new-top-level-dir/ +sudotest etc/sudoers.d/ diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/links b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/links new file mode 100644 index 0000000..f3e425d --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/links @@ -0,0 +1 @@ +usr/share/apps/lintian/icons/hicolor/22x22/lintian-22x22.png usr/share/apps/lintian/icons/hicolor/64x64/lintian-64x64.png diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/manpages b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/manpages new file mode 100644 index 0000000..e8af11b --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/manpages @@ -0,0 +1,2 @@ +foo.5 +鳥の詩.1 diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/rules b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/rules new file mode 100755 index 0000000..798f01e --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/debian/rules @@ -0,0 +1,67 @@ +#!/usr/bin/make -f + +tmp := $(CURDIR)/debian/$(shell dh_listpackages) + +%: + dh $@ + +override_dh_install: + dh_install + echo "#fake conf file" > $(tmp)/etc/pam.conf + # true positives + touch $(tmp)/etc/skel/.lintianrc + # false positives + touch $(tmp)/etc/skel/.bashrc + touch $(tmp)/etc/skel/.bash_logout + touch $(tmp)/etc/skel/.profile + touch $(tmp)/etc/skel/.kshrc + touch $(tmp)/etc/skel/.mkshrc + echo "Back-up file" > $(tmp)/usr/share/foo/file~ + # The name of the "binary" is "Tori no Uta" + # If it is ever messed up, it can be restored by + # using something like: + # perl -pe 's/\@FILE\@/\xe9\xb3\xa5\xe3\x81\xae\xe8\xa9\xa9\x0a/' + echo "#!/bin/sh" > $(tmp)/usr/bin/鳥の詩 + chmod +x $(tmp)/usr/bin/鳥の詩 + # Copy the manpage to its correct name so dh_installman can + # find it. + # - d/clean will remove it again + cp -a tnu.1 鳥の詩.1 + touch $(tmp)/usr/doc/FSSTND + touch $(tmp)/usr/share/foo/'*' + touch $(tmp)/usr/share/foo/'ws ' + touch $(tmp)/usr/share/fonts/X11/misc/fonts.dir + touch $(tmp)/usr/share/fonts/X11/misc/fonts.scale + touch $(tmp)/usr/share/fonts/X11/misc/fonts.alias + touch $(tmp)/usr/share/fonts/X11/misc/encodings.dir + touch $(tmp)/usr/share/fonts/X11/misc/false-positive + touch $(tmp)/usr/share/foo/.nfs-fake-tmpfile + touch $(tmp)/usr/share/foo/foo.doctree + touch $(tmp)/usr/share/foo/gschemas.compiled + touch $(tmp)/usr/share/glib-2.0/schemas/gschemas.compiled + touch $(tmp)/usr/share/hal/foo.fdi + touch $(tmp)/usr/lib/python3/dist-packages/test_foo.py + touch $(tmp)/usr/lib/python3/dist-packages/foo/test_falsepositive.py + # If the following line gets messed up, it can be + # restored with something like: + # sed -i 's/@FILE@/bokm\xe5l/' + touch $(tmp)/usr/share/foo/bokml + touch $(tmp)/var/catman/do + +override_dh_fixperms: + dh_fixperms + chmod 755 $(tmp)/usr/share/man/man5/foo.5.gz + chmod 644 $(tmp)/etc/sudoers.d/* + +override_dh_compress: + dh_compress + # create a .png and .png.gz + gzip -n -1 $(tmp)/usr/share/doc/lintian/lintian-16x16.png + zcat $(tmp)/usr/share/doc/lintian/lintian-16x16.png.gz > \ + $(tmp)/usr/share/doc/lintian/lintian-16x16.png + +override_dh_link: + dh_link + mkdir -p $(tmp)/usr/share/doc/bar + echo "Hallo World" > $(tmp)/usr/share/doc/bar/foo + ln -s ../bar/foo $(tmp)/usr/share/doc/bar/star diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/fill-values b/t/recipes/checks/files/empty-directories/files-general/build-spec/fill-values new file mode 100644 index 0000000..45de709 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/fill-values @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: files-general +Description: Test tags for file paths, names, and modes +# tar -t is buggy and does not list \\\ filename diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/--lzma b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/--lzma new file mode 100644 index 0000000..5241aaa --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/--lzma @@ -0,0 +1,2 @@ +Test file to check that various parts of Lintian correctly handle files with names that look +like options diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/dir b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/dir new file mode 100644 index 0000000..e465d26 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/dir @@ -0,0 +1,18 @@ +This is the file .../info/dir, which contains the +topmost node of the Info hierarchy, called (dir)Top. +The first time you invoke Info you start off looking at this node. + +File: dir, Node: Top This is the top of the INFO tree + + This (the Directory node) gives a menu of major topics. + Typing "q" exits, "?" lists all Info commands, "d" returns here, + "h" gives a primer for first-timers, + "mEmacs<Return>" visits the Emacs manual, etc. + + In Emacs, you can click mouse button 2 on a menu item or cross reference + to select it. + +* Menu: + +Archiving +* Cpio: (cpio). Copy-in-copy-out archiver to tape or disk. diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/file-in-new-top-level-dir b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/file-in-new-top-level-dir new file mode 100644 index 0000000..ae82d42 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/file-in-new-top-level-dir @@ -0,0 +1,2 @@ +Since an empty file triggers "empty-dir" tags; we might as well +test file-in-unusual-dir together with non-standard-toplevel-dir. diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.5 b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.5 new file mode 100644 index 0000000..718eae1 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.5 @@ -0,0 +1,5 @@ +.TH FOO "5" +.SH NAME +foo \- file format for foo +.SH DESCRIPTION +This file can store anything. diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.vcproj b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.vcproj new file mode 100644 index 0000000..6ec1ca6 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/foo.vcproj @@ -0,0 +1 @@ +Not actually a VC project file. diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-16x16.png b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-16x16.png Binary files differnew file mode 100644 index 0000000..cd7355d --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-16x16.png diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-22x22.png b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-22x22.png Binary files differnew file mode 100644 index 0000000..efc9af0 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-22x22.png diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-lib.conf b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-lib.conf new file mode 100644 index 0000000..e2b41a8 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian-lib.conf @@ -0,0 +1 @@ +/usr/lib/lintian diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian.conf b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian.conf new file mode 100644 index 0000000..7f6693c --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/lintian.conf @@ -0,0 +1 @@ +Test file which should not be flagged by the modprobe.d checks diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/mimeinfo.cache b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/mimeinfo.cache new file mode 100644 index 0000000..f3067c5 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/mimeinfo.cache @@ -0,0 +1,2 @@ +[MIME Cache] +text/plain=foo-editor.desktop diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/php-foo.ini b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/php-foo.ini new file mode 100644 index 0000000..6a33666 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/php-foo.ini @@ -0,0 +1 @@ +# this style of comments are obsolete diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/sudotest b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/sudotest new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/sudotest diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/tnu.1 b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/tnu.1 new file mode 100644 index 0000000..147dc1a --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/tnu.1 @@ -0,0 +1,5 @@ +.TH 鳥の詩 "1" +.SH NAME +鳥の詩 \- command in PATH written in UTF-8 +.SH DESCRIPTION +鳥の詩 (Tori no uta) is not really a useful command. diff --git a/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/types b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/types new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/build-spec/orig/types diff --git a/t/recipes/checks/files/empty-directories/files-general/eval/desc b/t/recipes/checks/files/empty-directories/files-general/eval/desc new file mode 100644 index 0000000..d1b8b9c --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/eval/desc @@ -0,0 +1,3 @@ +Testname: files-general +Check: files/empty-directories +# tar -t is buggy and does not list \\\ filename diff --git a/t/recipes/checks/files/empty-directories/files-general/eval/hints b/t/recipes/checks/files/empty-directories/files-general/eval/hints new file mode 100644 index 0000000..adc829f --- /dev/null +++ b/t/recipes/checks/files/empty-directories/files-general/eval/hints @@ -0,0 +1 @@ +files-general (binary): package-contains-empty-directory [usr/share/man/man1/random/] diff --git a/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/debian/changelog.in b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/debian/changelog.in new file mode 100644 index 0000000..b79c4ca --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-filenames/build-spec/debian/control b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/debian/control new file mode 100644 index 0000000..1ff9c50 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-filenames/build-spec/debian/doc-base b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/debian/doc-base new file mode 100644 index 0000000..e5a611b --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-filenames/build-spec/debian/rules b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/debian/rules new file mode 100755 index 0000000..0b9e87c --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/bokml + 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/files/empty-directories/legacy-filenames/build-spec/fill-values b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/fill-values new file mode 100644 index 0000000..062a1ea --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-filenames/build-spec/orig/data/ .tif b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/ .tif new file mode 100644 index 0000000..07fd914 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-filenames/build-spec/orig/data/".tif b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/".tif new file mode 100644 index 0000000..e005775 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/".tif @@ -0,0 +1 @@ +This filename is really used, by fnlib. diff --git a/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/Maelstrom Sound b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/Maelstrom Sound new file mode 100644 index 0000000..4110410 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-filenames/build-spec/orig/data/Maelstrom Sound @@ -0,0 +1 @@ +This filename occurs in the maelstrom package. diff --git a/t/recipes/checks/files/empty-directories/legacy-filenames/eval/desc b/t/recipes/checks/files/empty-directories/legacy-filenames/eval/desc new file mode 100644 index 0000000..66a8155 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-filenames/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-filenames +Check: files/empty-directories diff --git a/t/recipes/checks/files/empty-directories/legacy-filenames/eval/hints b/t/recipes/checks/files/empty-directories/legacy-filenames/eval/hints new file mode 100644 index 0000000..3d8e105 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-filenames/eval/hints @@ -0,0 +1,8 @@ +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/{arch}/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/CVS/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/.svn/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/.ditrack/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/.bzr/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/.be/] +filenames (binary): package-contains-empty-directory [usr/lib/ma-dir/perl/version/.arch-ids/] +filename-games (binary): package-contains-empty-directory [usr/games/] diff --git a/t/recipes/checks/files/empty-directories/legacy-filenames/eval/post-test b/t/recipes/checks/files/empty-directories/legacy-filenames/eval/post-test new file mode 100644 index 0000000..571e35d --- /dev/null +++ b/t/recipes/checks/files/empty-directories/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/files/empty-directories/legacy-libbaz/build-spec/debian/changelog.in b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/changelog.in new file mode 100644 index 0000000..91a6bb5 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/changelog.in @@ -0,0 +1,6 @@ +libbaz ([% $version %]) [% $distribution %]; urgency=low + + * Initial setup + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Tue, 30 Jan 2001 15:23:59 -0800 + diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/compat.in b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/compat.in new file mode 100644 index 0000000..640a566 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/compat.in @@ -0,0 +1 @@ +[% $dh_compat_level %] diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/control b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/control new file mode 100644 index 0000000..1506687 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/control @@ -0,0 +1,58 @@ +Source: libbaz +Section: libs +Priority: optional +Maintainer: Lintian Maintainer <lintian-maint@debian.org> +Build-depends: debhelper (>=4) +Standards-Version: 3.2.1 + +Package: libbaz1 +Architecture: any +Provides: libbaz +Description: test handling of library packages + Regression test for lintian's handling of libraries. + . + 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: libbaz1-dev +Architecture: any +Depends: libbaz1 (= ${source:Version}), perlapi-5.8.8 +Description: development package + Regression test for lintian's handling of libraries (dev). + . + 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: libbaz2 +Architecture: any +Depends: ${shlibs:Depends}, libssl0.9.8 +Description: test handling of library packages (good) + Regression test for lintian's handling of libraries (good). + . + 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: libbaz2-dev +Architecture: any +Depends: ${shlibs:Depends}, libbaz2 (= ${source:Version}) +Description: development package (good) + Regression test for lintian's handling of libraries (dev good). + . + 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: libbaz2-dbg +Architecture: any +Depends: libbaz2 (= ${binary:Version}) +Priority: optional +Description: debugging package + Regression test for lintian's handling of libraries (debug). + . + 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/files/empty-directories/legacy-libbaz/build-spec/debian/copyright b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/copyright new file mode 100644 index 0000000..a874c87 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/copyright @@ -0,0 +1,8 @@ +This package 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. + +However, this has an OpenSSL exception. diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.postinst b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.postinst new file mode 100644 index 0000000..683e3cc --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.postinst @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.prerm b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.prerm new file mode 100644 index 0000000..683e3cc --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/dev.prerm @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.postinst b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.postinst new file mode 100644 index 0000000..ec0b98a --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.postinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ "$1" = "configure" ]; then + if [ -d /usr/doc -a ! -e /usr/doc/$PKG -a -d /usr/share/doc/$PKG ] +; then + ln -sf ../share/doc/$PKG /usr/doc/$PKG + fi +fi diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.prerm b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.prerm new file mode 100644 index 0000000..50e37c3 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.prerm @@ -0,0 +1,7 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$PKG ]; then + rm -f /usr/doc/$PKG +fi diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.shlibs b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.shlibs new file mode 100644 index 0000000..b88e288 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.shlibs @@ -0,0 +1,8 @@ +libdoesntexist2 1.0 libbaz1 +libdoesntexist2 1.0 libbaz1 +libbaz2 1.1 libbaz +libbaz3 1 libbaz1 (>> 1-1) +libbaz4 1 libbaz1 (= 1-1) +libbaz5 1 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.symbols b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.symbols new file mode 100644 index 0000000..72f9d8a --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/lib.symbols @@ -0,0 +1,3 @@ +libbaz.so.2 libbaz1 #MINVER# + pw 1-1 + foo 1.1-1 diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/rules b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/rules new file mode 100755 index 0000000..fa99bc8 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/rules @@ -0,0 +1,121 @@ +#!/usr/bin/make -f + +lib_tmp=debian/tmp-lib +dev_tmp=debian/tmp-dev + +LIB=libbaz1 +DEV=libbaz1-dev + +VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') + +build-arch: + $(MAKE) + +build-indep: + +build: build-arch build-indep + +clean: + $(MAKE) clean + dh_clean -plibbaz2 -plibbaz2-dev + rm -f debian/files debian/substvars + rm -rf $(lib_tmp) $(dev_tmp) + +# Now the correct libbaz2-dev package +binary-correct: + install -d debian/libbaz2-dev/usr/lib + cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib + # usually, I'd also include some .h files to /usr/include + + # Now the correct libbaz2 package + install -d debian/libbaz2/usr/lib + cp -a libbaz2.so.* debian/libbaz2/usr/lib + chmod a-x debian/libbaz2/usr/lib/* + + # General stuff that is tested in other testsets: + dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # Mess up the libbaz2 changelog files to test the symlink handling. + ln -s /usr/share/doc/lintian/changelog.gz \ + debian/libbaz2/usr/share/doc/libbaz2/changelog.gz + install -m 644 debian/changelog \ + debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo + ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog + + # Okay, if either line is omitted, it should be noted + dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev + dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # and again, regular packaging stuff + dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs + dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + +# and the incorrect one +binary-arch: build-arch binary-correct + # first, the lib package + install -d $(lib_tmp)/usr/lib + # resp. no soname (check), wrong soname (check), and no-pic (check) + cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib + cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b + install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b + # let's include the .a in the non-dev too (TODO) + # Also, libbaz1.a hasn't a symbol table (TODO) + cp -a *.a $(lib_tmp)/usr/lib + # And a wrong .so symlink (wrong, only in -dev, TODO) + ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so + # And a wrong .so.X symlink (wrong, should point to a real existing + # shlib, TODO) + ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9 + # And a plain .so (wrong, TODO) + touch $(lib_tmp)/usr/lib/libbar2.so + # And a non-versioned SONAME. + install -m644 libbaz.so $(lib_tmp)/usr/lib/libbaz.so + strip --remove-section=.comment --strip-unneeded $(lib_tmp)/usr/lib/libbaz.so + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(lib_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + + install -d $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB) + gzip -n -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog + install -d $(lib_tmp)/DEBIAN + install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst + install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm + touch $(lib_tmp)/usr/share/doc/README.Debian + #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0 + install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs + install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols + dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp) + dpkg --build $(lib_tmp) .. + + # now the -dev package + install -d $(dev_tmp)/usr/include + install -d $(lib_tmp)/usr/lib + # let's also install the .so at the same time... (wrong, TODO) + cp -a *.a *.so.* $(lib_tmp)/usr/lib + # and fuck up permission (TODO) + chmod a+x $(lib_tmp)/usr/lib/*.a + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(dev_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + install -d $(dev_tmp)/usr/share/doc + ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) + install -d $(dev_tmp)/DEBIAN + install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst + install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm + dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp) + dpkg --build $(dev_tmp) .. + + +binary: binary-arch + +# The mention of binary-indep here should be sufficient to suppress the +# warning that it's not present. +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/source.lintian-overrides b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/source.lintian-overrides new file mode 100644 index 0000000..6008d27 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/debian/source.lintian-overrides @@ -0,0 +1 @@ +libbaz source: maintainer-script-lacks-debhelper-token diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/fill-values b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/fill-values new file mode 100644 index 0000000..7effe4f --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/fill-values @@ -0,0 +1,6 @@ +Skeleton: upload-non-native +Testname: legacy-libbaz +Source: libbaz +Version: 1-1 +Default-Build-Depends: debhelper (>= 9.20151004~) +Description: Legacy test "libbaz" diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/Makefile b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/Makefile new file mode 100644 index 0000000..657dc2a --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/Makefile @@ -0,0 +1,55 @@ +# This is the correct way to build a lib + +CC=gcc +CFLAGS=-g -Wall -Winline -O2 +LDFLAGS=-Wl,--no-as-needed + +OBJS=baz.o extra.o +SHOBJS=baz.sho extra.sho +NOPICOBJS = $(SHOBJS) + +all: libbaz1.a libbaz2.a libbaz1.so.1.0.3b libbaz2.so libbaz3.so.1.0.3b \ + libbaz.so + +libbaz2.so: libbaz2.so.1.0 + ln -sf $^ $@ +libbaz2.so.1.0: libbaz2.so.1.0.3b + ln -sf $^ $@ + +# Oops, forget the soname altogether +libbaz1.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared $^ -lc + +libbaz2.so.1.0.3b: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz2.so.1.0 $^ -lc + +# Non-PIC. We can't test this on all architectures +libbaz3.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz3.so.1 $^ -lc + +# Non-versioned SONAME. +libbaz.so: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz.so $^ -lc + +#%.o-noreentrant: %.c +# $(CC) $(LDFLAGS) $(CFLAGS) -o $@ -c $< + +%.sho: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< + +%.o: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -o $@ -c $< + +libbaz2.a: $(OBJS) + ar cq $@ $(OBJS) + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ + ranlib $@ + +# The pic one in the .a (wrong), no archive table +libbaz1.a: $(SHOBJS) + ar cqS $@ $^ + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ +clean: + rm -f *.a *.o *.so* *.sho diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/baz.c b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/baz.c new file mode 100644 index 0000000..4d5fc45 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/baz.c @@ -0,0 +1,6 @@ +#include <math.h> + +double pw(double p) +{ + return exp(p); +} diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/extra.c b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/extra.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/build-spec/orig/extra.c diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/desc b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/desc new file mode 100644 index 0000000..fd0692d --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-libbaz +Check: files/empty-directories diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/hints b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/hints new file mode 100644 index 0000000..be77221 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/hints @@ -0,0 +1 @@ +libbaz1-dev (binary): package-contains-empty-directory [usr/include/] diff --git a/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/post-test b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/post-test new file mode 100755 index 0000000..29dc3f4 --- /dev/null +++ b/t/recipes/checks/files/empty-directories/legacy-libbaz/eval/post-test @@ -0,0 +1,4 @@ +/: hardening-.*/ d +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 +/: file-references-package-build-path / d |