summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/debian/shlibs/shared-libs-unversioned
diff options
context:
space:
mode:
Diffstat (limited to 't/recipes/checks/debian/shlibs/shared-libs-unversioned')
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/control.in15
-rwxr-xr-xt/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/rules13
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/symbols2
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/debian/triggers1
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/fill-values4
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/Makefile15
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/build-spec/orig/foo.c24
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/desc5
-rw-r--r--t/recipes/checks/debian/shlibs/shared-libs-unversioned/eval/hints2
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