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/debian/control/prerequisite | |
parent | Initial commit. (diff) | |
download | lintian-75808db17caf8b960b351e3408e74142f4c85aac.tar.xz lintian-75808db17caf8b960b351e3408e74142f4c85aac.zip |
Adding upstream version 2.117.0.upstream/2.117.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 't/recipes/checks/debian/control/prerequisite')
59 files changed, 1144 insertions, 0 deletions
diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in new file mode 100644 index 0000000..3058e5a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/<pkg>.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/<pkg>.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +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 %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +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 %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + 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 %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + 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 %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + 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 %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: 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 %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + 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 %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: 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. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + 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. diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules new file mode 100644 index 0000000..f5db4bb --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values new file mode 100644 index 0000000..7338a95 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc new file mode 100644 index 0000000..02f41b5 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/prerequisite/circular +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints new file mode 100644 index 0000000..1c51dc4 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints @@ -0,0 +1 @@ +control-file-general (source): circular-installation-prerequisite (in section for control-file-general) Depends control-file-general, foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} [debian/control:24] diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in new file mode 100644 index 0000000..c69e042 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: [% $source %] +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. diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values new file mode 100644 index 0000000..837abce --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-suggests-itself +Description: Test a package Suggesting itself diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc new file mode 100644 index 0000000..b880eed --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc @@ -0,0 +1,2 @@ +Testname: control-file-suggests-itself +Check: debian/control/prerequisite/circular diff --git a/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints new file mode 100644 index 0000000..c2e5627 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints @@ -0,0 +1 @@ +control-file-suggests-itself (source): circular-installation-prerequisite (in section for control-file-suggests-itself) Suggests control-file-suggests-itself [debian/control:12] diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in new file mode 100644 index 0000000..054ffc3 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in @@ -0,0 +1,81 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], libtest-simple-perl (>= 0.98), perl-modules +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, xorg, bash, + conflict-dep, gawk | awk, new-package | xbase-clients (>= 0.1), [% $source %], + gaim (>= 0.1), emacs21, emacs22, emacs23, makedev, libtest-simple-perl (>= 0.98), + packaging-dev, xfont-a, emacs22-gtk, emacs23-el, emacs23-nox, emacs23-lucid, + emacs222, perl-modules, debhelper +Breaks: package-without-version, [% $source %] (<< 0.1), + replaced-wo-version +Replaces: replaced-wo-version +Conflicts: package-with-version (<< 3.0), conflict-dep +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. + +Package: lib[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, libdb1-compat, perl-modules-5.22 +Recommends: debconf-doc, cdbs +Conflicts: debhelper +Section: libs +Description: [% $description %] -- fake library + This is a fake library 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: py-[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, python-minimal +Description: [% $description %] - Fake Python package + 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. + . + The fake Python package. + +Package: [% $source %]-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, [% $source %] +Description: [% $description %] - Fake Doc package + 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. + . + The fake doc package. + +Package: dh-[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper +Description: [% $description %] - Fake Debhelper package + 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. + . + The fake Debhelper package to test false-positives in + binary-package-depends-on-toolchain-package. + +Package: [% $source %]-source +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper +Description: [% $description %] - Fake DKMS-like package + 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. + . + The fake DKMS-like package to test false-positives in + binary-package-depends-on-toolchain-package. diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install new file mode 100644 index 0000000..6c37889 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install @@ -0,0 +1 @@ +some-file usr/share/lintian diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values new file mode 100644 index 0000000..6e84753 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-depends-general +Description: General tests for binary package dependencies diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file new file mode 100644 index 0000000..7bf08f7 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file @@ -0,0 +1,2 @@ +This file is installed into /usr/share/lintian just to ensure that this +package doesn't look like a metapackage for the dependency checks. diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc new file mode 100644 index 0000000..e47d658 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc @@ -0,0 +1,2 @@ +Testname: fields-depends-general +Check: debian/control/prerequisite/circular diff --git a/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints new file mode 100644 index 0000000..44047f1 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints @@ -0,0 +1 @@ +fields-depends-general (source): circular-installation-prerequisite (in section for fields-depends-general) Depends ${shlibs:Depends}, ${misc:Depends}, xorg, bash, conflict-dep, gawk | awk, new-package | xbase-clients (>= 0.1), fields-depends-general, gaim (>= 0.1), emacs21, emacs22, emacs23, makedev, libtest-simple-perl (>= 0.98), packaging-dev, xfont-a, emacs22-gtk, emacs23-el, emacs23-nox, emacs23-lucid, emacs222, perl-modules, debhelper [debian/control:11] diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in new file mode 100644 index 0000000..9a82ea7 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin <jrodin@jagor.srce.hr> Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman <dark@xs4all.nl> Tue, 7 Jul 1998 16:27:56 +0200 diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control new file mode 100644 index 0000000..6cd1c04 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group <packages@qa.debian.org> +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules new file mode 100755 index 0000000..5027f33 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules @@ -0,0 +1,49 @@ +#!/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. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control new file mode 100644 index 0000000..87e7fe6 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer <lintian-maint@debian.org> +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values new file mode 100644 index 0000000..7e4661b --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc new file mode 100644 index 0000000..515312a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: debian/control/prerequisite/circular diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints new file mode 100644 index 0000000..3285321 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints @@ -0,0 +1,2 @@ +relations (source): circular-installation-prerequisite (in section for relations-multiple-libs) Recommends ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev [debian/control:40] +relations (source): circular-installation-prerequisite (in section for relations) Depends relations (<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, null (>= 0), ${misc:Depends}, makedev [debian/control:20] diff --git a/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test new file mode 100644 index 0000000..faeef0b --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff --git a/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in new file mode 100644 index 0000000..170132e --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in @@ -0,0 +1,115 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: libcontrol-file-foo1 +Section: libs +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 1) + First shared library. + . + 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: libcontrol-file-bar7ldbl +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 2) + Second shared library. + . + 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: libcontrol-file-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, + libcontrol-file-foo1 (= ${binary:Version}), + libcontrol-file-bar7ldbl, libcontrol-file-baz9-4 (>= ${binary:Version}), + libfoo4, libcontrol-file-doc, libcontrol-file4-dev +Description: [% $description %] (dev package) + Dev package. + . + 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: libcontrol-file-baz9-4 +Section: libs +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 3) + Third shared library. + . + 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: libcontrol-file-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (doc package) + Doc package. + . + 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: libcontrol-file4-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, + libcontrol-file-foo1 (<= ${source:Upstream-Version}-99) + | libcontrol-file-baz9-4 (<= ${source:Upstream-Version}-99), + libcontrol-file-foo1 (>= ${binary:Version}) + | libcontrol-file-baz9-4 (>= ${binary:Version}) +Description: [% $description %] (dev package with version) + Dev package containing a number. + . + 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: libcontrol-file-all-dev +Section: libdevel +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, libcontrol-file-doc, + libcontrol-file-foo1 (>= ${source:Upstream-Version}), + libcontrol-file-foo1 (<= ${source:Version}.1~), + libcontrol-file-baz9-4 (>= ${source:Version}) +Description: [% $description %] (arch: all dev package) + Architecture-independent development package. + . + 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: libcontrol-baz-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: + libcontrol-file-baz9-4 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: [% $description %] (dev whitespace) + Test proper parsing of leading whitespace in Depends + . + 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. diff --git a/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values new file mode 100644 index 0000000..3651a6c --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-library-dev +Description: Check control file handling of library dev packages diff --git a/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc new file mode 100644 index 0000000..07a35fd --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc @@ -0,0 +1,2 @@ +Testname: control-file-library-dev +Check: debian/control/prerequisite/development diff --git a/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints new file mode 100644 index 0000000..5d06a02 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints @@ -0,0 +1,3 @@ +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-dev) Depends libcontrol-file-baz9-4 (>= ${binary:Version}) [debian/control:35] +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-dev) Depends libcontrol-file-bar7ldbl [debian/control:35] +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-all-dev) Depends libcontrol-file-baz9-4 (>= ${source:Version}) [debian/control:90] diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in new file mode 100644 index 0000000..91a6bb5 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in new file mode 100644 index 0000000..640a566 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in @@ -0,0 +1 @@ +[% $dh_compat_level %] diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control new file mode 100644 index 0000000..1506687 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright new file mode 100644 index 0000000..a874c87 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst new file mode 100644 index 0000000..683e3cc --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm new file mode 100644 index 0000000..683e3cc --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst new file mode 100644 index 0000000..ec0b98a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm new file mode 100644 index 0000000..50e37c3 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs new file mode 100644 index 0000000..b88e288 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols new file mode 100644 index 0000000..72f9d8a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules new file mode 100755 index 0000000..fa99bc8 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides new file mode 100644 index 0000000..6008d27 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides @@ -0,0 +1 @@ +libbaz source: maintainer-script-lacks-debhelper-token diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values new file mode 100644 index 0000000..7effe4f --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile new file mode 100644 index 0000000..657dc2a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c new file mode 100644 index 0000000..4d5fc45 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/extra.c b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/extra.c new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/extra.c diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc new file mode 100644 index 0000000..1b2d731 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-libbaz +Check: debian/control/prerequisite/development diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints new file mode 100644 index 0000000..8113d34 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints @@ -0,0 +1,2 @@ +libbaz (source): weak-library-dev-dependency (in section for libbaz2-dev) Depends libbaz2 (= ${source:Version}) [debian/control:40] +libbaz (source): weak-library-dev-dependency (in section for libbaz1-dev) Depends libbaz1 (= ${source:Version}) [debian/control:20] diff --git a/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test b/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test new file mode 100755 index 0000000..29dc3f4 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/development/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 diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in new file mode 100644 index 0000000..3058e5a --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/<pkg>.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/<pkg>.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +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 %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +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 %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + 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 %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + 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 %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + 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 %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: 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 %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + 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 %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: 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. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + 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. diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules new file mode 100644 index 0000000..f5db4bb --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values new file mode 100644 index 0000000..7338a95 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc new file mode 100644 index 0000000..7f12c44 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/prerequisite/redundant +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints new file mode 100644 index 0000000..0671905 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints @@ -0,0 +1,4 @@ +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Recommends match${lintian:Match} [debian/control:25] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Recommends bar | baz [debian/control:25] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Depends bar | baz [debian/control:24] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Recommends -> Depends foo [debian/control:24] diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in new file mode 100644 index 0000000..9a82ea7 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar <jeroen@wolffelaar.nl> Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin <jrodin@jagor.srce.hr> Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry <shaleh@debian.org> Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman <dark@xs4all.nl> Tue, 7 Jul 1998 16:27:56 +0200 diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control new file mode 100644 index 0000000..6cd1c04 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group <packages@qa.debian.org> +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules new file mode 100755 index 0000000..5027f33 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules @@ -0,0 +1,49 @@ +#!/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. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control new file mode 100644 index 0000000..87e7fe6 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer <lintian-maint@debian.org> +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values new file mode 100644 index 0000000..7e4661b --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc new file mode 100644 index 0000000..68843a4 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: debian/control/prerequisite/redundant diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints new file mode 100644 index 0000000..2c936c4 --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints @@ -0,0 +1,5 @@ +relations (source): redundant-installation-prerequisite (in section for relations-multiple-libs) Recommends -> Depends ${shlibs:Depends} [debian/control:37] +relations (source): redundant-installation-prerequisite (in section for relations) Suggests -> Recommends some-other-package [debian/control:26] +relations (source): redundant-installation-prerequisite (in section for relations) Recommends -> Depends null [debian/control:20] +relations (source): redundant-installation-prerequisite (in section for relations) Recommends -> Depends dpkg [debian/control:20] +relations (source): redundant-installation-prerequisite (in section for relations) Depends -> Pre-Depends gawk | awk [debian/control:19] diff --git a/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test new file mode 100644 index 0000000..faeef0b --- /dev/null +++ b/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ |