diff options
Diffstat (limited to 't/recipes/checks/debian/shlibs/shared-libs-unversioned')
9 files changed, 81 insertions, 0 deletions
diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/control.in b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/control.in new file mode 100644 index 0000000..d0e5f60 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/control.in @@ -0,0 +1,15 @@ +Source: [% $source %] +Priority: optional +Section: libs +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: libfoo +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +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. diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/rules b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/rules new file mode 100755 index 0000000..f60e347 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +# Do this manually so it works with jessie's debhelper without +# breaking of stretch because we get two triggers. +# - This rules file can be removed once lintian requires +# debhelper/9.20160403 or newer. +override_dh_makeshlibs: + dh_makeshlibs -n diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/symbols b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/symbols new file mode 100644 index 0000000..76a969f --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/symbols @@ -0,0 +1,2 @@ +libfoo.so libfoo #MINVER# + foo@Base 1.0 diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/triggers b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/triggers new file mode 100644 index 0000000..dd86603 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/triggers @@ -0,0 +1 @@ +activate-noawait ldconfig diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/fill-values b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/fill-values new file mode 100644 index 0000000..8343487 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/fill-values @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: shared-libs-unversioned +Package-Architecture: any +Description: Test handling of shared libraries without versioned SONAMEs diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/Makefile b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/Makefile new file mode 100644 index 0000000..daf74d1 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/Makefile @@ -0,0 +1,15 @@ +CC = gcc + +all: libfoo.so + +libfoo.so: foo.o + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libfoo.so $^ -lc + +%.o: %.c + $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ -c $< + +install: + install -d $(DESTDIR)/usr/lib + install -m644 libfoo.so $(DESTDIR)/usr/lib/ + +.PHONY: distclean realclean clean install test check diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/foo.c b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/foo.c new file mode 100644 index 0000000..aa323d5 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/foo.c @@ -0,0 +1,24 @@ +/* + * Be sure that this library uses a function from libc. Otherwise, gcc is + * smart enough not to link it with libc and we get more tags for missing + * dependency lines. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> + +double e(void (*f)(char *)){ + char tmp[10]; + double x; + f(tmp); + x = atof(tmp); + return exp(x); +} + +int +foo(int num) +{ + printf("%d\n", num); + return num * 42; +} diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/desc b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/desc new file mode 100644 index 0000000..1937c93 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/desc @@ -0,0 +1,5 @@ +Testname: shared-libs-unversioned +Check: debian/shlibs +Test-Against: + ships-undeclared-shared-library +See-Also: Debian Bug#506673 diff --git a/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/hints b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/hints new file mode 100644 index 0000000..eee1d97 --- /dev/null +++ b/t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/hints @@ -0,0 +1,2 @@ +libfoo (binary): symbols-file-missing-build-depends-package-field libfoo.so [symbols] +libfoo (binary): shared-library-lacks-version usr/lib/libfoo.so libfoo.so |