summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir
diff options
context:
space:
mode:
Diffstat (limited to 't/recipes/checks/files/architecture/binaries-multiarch-wrong-dir')
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/debian/compat.in1
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/fill-values6
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile26
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c19
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/desc3
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/hints1
-rw-r--r--t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/post-test4
7 files changed, 60 insertions, 0 deletions
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/debian/compat.in b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/debian/compat.in
new file mode 100644
index 0000000..640a566
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/debian/compat.in
@@ -0,0 +1 @@
+[% $dh_compat_level %]
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/fill-values b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/fill-values
new file mode 100644
index 0000000..4551548
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/fill-values
@@ -0,0 +1,6 @@
+Skeleton: upload-native
+Testname: binaries-multiarch-wrong-dir
+Default-Build-Depends: debhelper (>= 9.20151004~)
+Dh-Compat-Level: 9
+Description: Multiarch-related tests but not multiarch itself
+Package-Architecture: any
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile
new file mode 100644
index 0000000..58cac33
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/Makefile
@@ -0,0 +1,26 @@
+
+# Since dpkg in stable (Squeeze) does not support MULTIARCH we cannot use
+# dpkg-architecture -qDEB_HOST_MULTIARCH
+# Therefore this test is hardcoded to x86 and amd64
+
+ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+ifeq (i386,$(ARCH))
+ WRONG_TRIPLET = x86_64-linux-gnu
+else
+ WRONG_TRIPLET = i386-linux-gnu
+endif
+
+
+all:
+ gcc $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-z,defs -Wl,-soname,libbasic.so.2 -o libbasic.so.2 basic.c
+
+install:
+ # Install it once under the wrong dir
+ install -d $(DESTDIR)/usr/lib/$(WRONG_TRIPLET)
+ install -m 644 -c -s libbasic.so.2 $(DESTDIR)/usr/lib/$(WRONG_TRIPLET)/libbasic.so.2
+
+clean distclean:
+ rm -f libbasic.so.2
+
+check test:
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c
new file mode 100644
index 0000000..27e93fc
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/build-spec/orig/basic.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <string.h>
+
+static void
+hardening_trigger(char *p, int i, void (*f)(char *))
+{
+ char test[10];
+ memcpy(test, p, i);
+ f(test);
+ printf("%s", test);
+}
+
+int
+lib_interface(void)
+{
+ printf("Hello world!\n");
+ hardening_trigger(NULL, 0, NULL);
+ return 0;
+}
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/desc b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/desc
new file mode 100644
index 0000000..5803c3b
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/desc
@@ -0,0 +1,3 @@
+Testname: binaries-multiarch-wrong-dir
+Test-Architectures: i386 amd64
+Check: files/architecture
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/hints b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/hints
new file mode 100644
index 0000000..4492b0b
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/hints
@@ -0,0 +1 @@
+binaries-multiarch-wrong-dir (binary): triplet-dir-and-architecture-mismatch INCOMPATIBILITY STATEMENT [usr/lib/TRIPLET/]
diff --git a/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/post-test b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/post-test
new file mode 100644
index 0000000..d938f40
--- /dev/null
+++ b/t/recipes/checks/files/architecture/binaries-multiarch-wrong-dir/eval/post-test
@@ -0,0 +1,4 @@
+s/i386-linux-gnu/TRIPLET/
+s/x86_64-linux-gnu/TRIPLET/
+s/is for i386 instead of amd64/INCOMPATIBILITY STATEMENT/
+s/is for amd64 instead of i386/INCOMPATIBILITY STATEMENT/