[1/2,meta-oe] inotify-tools: Fix build on musl

Message ID 20211216232457.1080201-1-raj.khem@gmail.com
State New
Headers show
Series [1/2,meta-oe] inotify-tools: Fix build on musl | expand

Commit Message

Khem Raj Dec. 16, 2021, 11:24 p.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...fytools-Include-limit.h-for-PATH_MAX.patch | 29 ++++++++++++++
 ...Bridge-differences-between-musl-glib.patch | 40 +++++++++++++++++++
 .../inotify-tools/inotify-tools_3.21.9.6.bb   |  5 ++-
 3 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch
 create mode 100644 meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch

Patch

diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch
new file mode 100644
index 0000000000..f30a62d594
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch
@@ -0,0 +1,29 @@ 
+From 1e37cc3aa674c4b052f0655fef59a910fd7325cb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Dec 2021 14:53:25 -0800
+Subject: [PATCH 1/2] libinotifytools: Include limit.h for PATH_MAX
+
+musl builds fail since the required header which defines PATH_MAX is
+missing, its perhaps included indirectly via glibc based systems
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/153]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libinotifytools/src/inotifytools.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c
+index 8bdfdb6..902eac2 100644
+--- a/libinotifytools/src/inotifytools.c
++++ b/libinotifytools/src/inotifytools.c
+@@ -17,6 +17,7 @@
+ #include "inotifytools_p.h"
+ #include "stats.h"
+ 
++#include <limits.h>
+ #include <string.h>
+ #include <strings.h>
+ #include <stdlib.h>
+-- 
+2.34.1
+
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch
new file mode 100644
index 0000000000..931244830c
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch
@@ -0,0 +1,40 @@ 
+From 6c3ce01a281a9aa661494d24a862219fc9e2b460 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Dec 2021 14:57:55 -0800
+Subject: [PATCH 2/2] libinotifytools: Bridge differences between
+ musl/glibc/kernel fnotify.h
+
+System detects to use sys/fnotify.h and then assumes glibc's definitions
+but musl has definitions of its own. perhaps portable thing would be to
+use linux/fnotify.h interface directly on linux irrespective of libc
+
+See the differences discussion here [1]
+
+[1] https://inbox.vuxu.org/musl/20191112220151.GC27331@x230/T/#ma8700992467200c8792e0fa8508eae656b81aeba
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/154]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libinotifytools/src/inotifytools.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c
+index 902eac2..2b96395 100644
+--- a/libinotifytools/src/inotifytools.c
++++ b/libinotifytools/src/inotifytools.c
+@@ -55,6 +55,12 @@ struct fanotify_event_fid {
+ 	struct fanotify_event_info_fid info;
+ 	struct file_handle handle;
+ };
++
++#ifndef __GLIBC__
++#define val __val
++#define __kernel_fsid_t fsid_t
++#endif
++
+ #endif
+ 
+ /**
+-- 
+2.34.1
+
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb
index e3a4e6350e..89c3a00b71 100644
--- a/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb
@@ -7,7 +7,10 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
 
 SRCREV = "8f8fcdffb7e80928bea6c1fccd3527a9f5d8fe77"
 
-SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https"
+SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \
+           file://0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch \
+           file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \
+          "
 
 S = "${WORKDIR}/git"