summaryrefslogtreecommitdiffstats
path: root/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:42:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 13:42:30 +0000
commit75808db17caf8b960b351e3408e74142f4c85aac (patch)
tree7989e9c09a4240248bf4658a22208a0a52d991c4 /t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc
parentInitial commit. (diff)
downloadlintian-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/binaries/prerequisites/binaries-missing-depends-on-libc')
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/compat.in1
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/control.in17
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/libbasic2.symbols4
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/rules15
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/fill-values6
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/Makefile14
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/basic.c19
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/cpp.cxx14
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/desc2
-rw-r--r--t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/hints2
10 files changed, 94 insertions, 0 deletions
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/compat.in b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/compat.in
new file mode 100644
index 0000000..640a566
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/compat.in
@@ -0,0 +1 @@
+[% $dh_compat_level %]
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/control.in b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/control.in
new file mode 100644
index 0000000..d8adb1b
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/control.in
@@ -0,0 +1,17 @@
+Source: [% $source %]
+Priority: optional
+Section: devel
+Maintainer: [% $author %]
+Standards-Version: [% $standards_version %]
+Build-Depends: [% $build_depends %], perl
+Rules-Requires-Root: no
+
+Package: libbasic2
+Section: libs
+Architecture: [% $package_architecture %]
+Depends: some-pkg, ${misc:Depends}, ${shlib: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. It may
+ be an empty package.
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/libbasic2.symbols b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/libbasic2.symbols
new file mode 100644
index 0000000..0119bca
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/libbasic2.symbols
@@ -0,0 +1,4 @@
+libbasic.so.2 libbasic2 #MINVER#
+ lib_interface@Base 1.0
+libbasic++.so.2 libbasic2 #MINVER#
+ (c++)cxx_lib_interface@Base 1.0
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/rules b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/rules
new file mode 100644
index 0000000..188f490
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/debian/rules
@@ -0,0 +1,15 @@
+#!/usr/bin/make -f
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+# Make sure the C++ library actually links to libc
+export DEB_LDFLAGS_MAINT_APPEND=-Wl,--no-as-needed
+
+%:
+ dh $@
+
+override_dh_gencontrol:
+ # Remove the shlib:Depends since it will contain libc
+ sed -i '/shlib:Depends=/ d' debian/libbasic2.substvars
+ echo "shlib:depends=" >> debian/libbasic2.substvars
+ dh_gencontrol
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/fill-values b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/fill-values
new file mode 100644
index 0000000..0f58398
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/fill-values
@@ -0,0 +1,6 @@
+Skeleton: upload-native
+Testname: binaries-missing-depends-on-libc
+Default-Build-Depends: debhelper (>= 9.20151004~)
+Dh-Compat-Level: 9
+Description: Test for missing libc depends
+Package-Architecture: any
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/Makefile b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/Makefile
new file mode 100644
index 0000000..fcf25f4
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/Makefile
@@ -0,0 +1,14 @@
+all:
+ gcc $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-z,defs -Wl,-soname,libbasic.so.2 -o libbasic.so.2 basic.c
+ g++ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-z,defs \
+ -Wl,-soname,libbasic++.so.2 -olibbasic++.so.2 cpp.cxx
+
+install:
+ install -d $(DESTDIR)/usr/lib/
+ install -m 644 -c -s libbasic.so.2 $(DESTDIR)/usr/lib/libbasic.so.2
+ install -m 644 -c -s libbasic++.so.2 $(DESTDIR)/usr/lib/libbasic++.so.2
+
+clean distclean:
+ rm -f libbasic.so.2 libbasic++.so.2
+
+check test:
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/basic.c b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/basic.c
new file mode 100644
index 0000000..27e93fc
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/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/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/cpp.cxx b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/cpp.cxx
new file mode 100644
index 0000000..1338e40
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/build-spec/orig/cpp.cxx
@@ -0,0 +1,14 @@
+#include <iostream>
+#include <vector>
+
+using namespace std;
+
+template <class T> T
+cxx_lib_interface(vector<T> &v)
+{
+ cout << ":-) hello world" << endl;
+ return v[0];
+}
+
+
+
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/desc b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/desc
new file mode 100644
index 0000000..88d5fa2
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/desc
@@ -0,0 +1,2 @@
+Testname: binaries-missing-depends-on-libc
+Check: binaries/prerequisites
diff --git a/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/hints b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/hints
new file mode 100644
index 0000000..5c512f2
--- /dev/null
+++ b/t/recipes/checks/binaries/prerequisites/binaries-missing-depends-on-libc/eval/hints
@@ -0,0 +1,2 @@
+libbasic2 (binary): missing-dependency-on-libstdc++ needed by usr/lib/libbasic++.so.2
+libbasic2 (binary): missing-dependency-on-libc needed by usr/lib/libbasic++.so.2 and 1 others