summaryrefslogtreecommitdiff
path: root/dev-util/umockdev
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/umockdev')
-rw-r--r--dev-util/umockdev/Manifest3
-rw-r--r--dev-util/umockdev/files/umockdev-0.12.1-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch42
-rw-r--r--dev-util/umockdev/umockdev-0.12.1.ebuild4
3 files changed, 48 insertions, 1 deletions
diff --git a/dev-util/umockdev/Manifest b/dev-util/umockdev/Manifest
index 95a0f59edb20..872fd8e41f09 100644
--- a/dev-util/umockdev/Manifest
+++ b/dev-util/umockdev/Manifest
@@ -1,3 +1,4 @@
+AUX umockdev-0.12.1-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch 1743 BLAKE2B de1529d047dfce8038d0d466181c8ae54ffb48087620f9a391da0914665bd53d7915acf6e2611816bdb9665821b6b5379736a293f6d4ed09d065840c4decf31b SHA512 3e975a3fc03f78272c40e04a1d7c504be0fb8b4442db4598b9762afb2126608569c13e671863b7b79f9bc46d7b52be015c73b8bdd164afd591cce691e22269e9
DIST umockdev-0.12.1.tar.xz 756920 BLAKE2B a8c1d9734f4c0a8e7f19405e011ce964efce6621b4886efead88e040bfe07d2f5a85f063977dfed1c8fb5a5bf4668024b6e687b688a9609cdba1db419518a8ac SHA512 a8995d09179c7d2d37d319f8e675fb15c3caa605c57b56cbb2e785088909d886e790864475feb82ab2b6eb2449038c636a06250d4f9eb8b28b38f0d80574824c
-EBUILD umockdev-0.12.1.ebuild 1212 BLAKE2B a57a4462609a29d80c556f83d34db21ddf4f902ca67e650b7c198022238516e4f2a517fb72b25eec39d6fb0456150390416d4e1a22ab7228e6bcdd7677a0e1f3 SHA512 0a2ae6ec002d815e83dfcd220069c08c1b6817d1afce200defdaa15599661557820abd1c28bb58892dd0382d0d670b8b6ee007f5b0d772f4d68a6a7d91fdd629
+EBUILD umockdev-0.12.1.ebuild 1304 BLAKE2B 35be39188381c08265e988b7dfc58b6b1f48b57ddb9b8d253513b37e592239d53e0e3b3a7561767336a4910505c47d4db2bba5bcb9d8472b63395d748275e8f6 SHA512 68943daec6ca268b1cc2069286fd4432cdb036c161e4b6a19c1de935a8f28414db30edc854fa87cfc04523c494886d4dc2c86f296f6e8209eee9deb13faf0dbe
MISC metadata.xml 388 BLAKE2B 5140e5be03021c8b50516cddf6a51b8715a1e110e13519313cd3e30b2317874cec5c56eea5168d47496a2055635b87effcc66dac54a66a482818da15b540186d SHA512 ca1c14fa200681d916d6d4539fa9ee8c64d6894d7b78870abfc4ad03446a30703f0fe862a11c5838e26719ae66e0bc944fe0ca75f0f89195128d4e8856b6cd78
diff --git a/dev-util/umockdev/files/umockdev-0.12.1-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch b/dev-util/umockdev/files/umockdev-0.12.1-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch
new file mode 100644
index 000000000000..15f5ddbe99c0
--- /dev/null
+++ b/dev-util/umockdev/files/umockdev-0.12.1-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch
@@ -0,0 +1,42 @@
+From f1b416400479d861deffb4c5a40422dcdf190e85 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin@piware.de>
+Date: Fri, 23 Oct 2020 14:58:50 +0200
+Subject: [PATCH] =?UTF-8?q?preload:=20Declare=20=5F=5Fxstat*()=20prototype?=
+ =?UTF-8?q?s=20for=20glibc=20=E2=89=A5=202.32.9000?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Recent glibc deprecated/dropped the `__xstat*()` family from the header
+files, so the build started to fail on "no previous prototype". However,
+umockdev still needs needs to keep the wrappers to run programs that got
+built against an earlier glibc.
+
+Thus declare the prototype explicitly. It should still fail to build if
+glibc defines it differently.
+
+Fixes #108
+---
+ src/libumockdev-preload.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/libumockdev-preload.c b/src/libumockdev-preload.c
+index 9328dc1..9bbec62 100644
+--- a/src/libumockdev-preload.c
++++ b/src/libumockdev-preload.c
+@@ -1215,8 +1215,11 @@ int prefix ## stat ## suffix (const char *path, struct stat ## suffix *st) \
+
+ /* wrapper template for __xstat family; note that we abuse the sticky bit in
+ * the emulated /dev to indicate a block device (the sticky bit has no
+- * real functionality for device nodes) */
++ * real functionality for device nodes)
++ * This family got deprecated/dropped in glibc 2.32.9000, but we still need
++ * to keep it for a while for programs that were built against previous versions */
+ #define WRAP_VERSTAT(prefix, suffix) \
++int prefix ## stat ## suffix (int ver, const char *path, struct stat ## suffix *st); \
+ int prefix ## stat ## suffix (int ver, const char *path, struct stat ## suffix *st) \
+ { \
+ const char *p; \
+--
+2.31.1
+
diff --git a/dev-util/umockdev/umockdev-0.12.1.ebuild b/dev-util/umockdev/umockdev-0.12.1.ebuild
index e66cf61108d9..e1f360c4d6e0 100644
--- a/dev-util/umockdev/umockdev-0.12.1.ebuild
+++ b/dev-util/umockdev/umockdev-0.12.1.ebuild
@@ -34,6 +34,10 @@ DEPEND="${RDEPEND}
# Tests seem to hang forever
# RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}"/${P}-preload-Declare-__xstat-prototypes-for-glibc-2.32.90.patch
+)
+
pkg_setup() {
use test && python-any-r1_pkg_setup
}