diff options
Diffstat (limited to 'meta-oe/recipes-support/inotify-tools')
5 files changed, 214 insertions, 21 deletions
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch new file mode 100644 index 0000000000..3b195aae4f --- /dev/null +++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch @@ -0,0 +1,28 @@ +From 6a57ff26d695aaad096b798879a5dbc5af2cedf5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 20 Dec 2022 10:46:50 -0800 +Subject: [PATCH] configure: Add AC_SYS_LARGEFILE autoconf macro + +This will define _FILE_OFFSET_BITS to be 64 if off_t is 64bit +and we do not need to define lfs64 functions + +Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/174] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index bddf14d..b89a266 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -17,6 +17,9 @@ AC_PROG_CC + AM_INIT_AUTOMAKE + LT_INIT + ++# Add option for largefile support ++AC_SYS_LARGEFILE ++ + AC_PATH_PROG(DOXYGEN, doxygen, NO_DOXYGEN) + + AC_ARG_ENABLE(doxygen, 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/0003-replace-stat64-lstat64-with-stat-lstat.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch new file mode 100644 index 0000000000..c0784ecc73 --- /dev/null +++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch @@ -0,0 +1,119 @@ +From c6093ad63b92f5d25e6826d1c49dc7cee86d3747 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 20 Dec 2022 10:48:10 -0800 +Subject: [PATCH] replace stat64/lstat64 with stat/lstat + +lfs64 functions are not needed when off_t is 64-bit +Additionally this fixes build with musl which does not +export these functions without defining _LARGEFILE64_SOURCE + +Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/174] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libinotifytools/src/inotifytools.c | 8 ++++---- + libinotifytools/src/inotifytools/inotify-nosys.h | 5 ----- + libinotifytools/src/inotifytools/inotifytools.h | 5 ----- + src/common.c | 4 ++-- + src/common.h | 6 +----- + 5 files changed, 7 insertions(+), 21 deletions(-) + +diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c +index 50f6135..3e17ac6 100644 +--- a/libinotifytools/src/inotifytools.c ++++ b/libinotifytools/src/inotifytools.c +@@ -1750,14 +1750,14 @@ int inotifytools_watch_recursively_with_exclude(char const* path, + + static struct dirent * ent; + char * next_file; +- static struct stat64 my_stat; ++ static struct stat my_stat; + ent = readdir( dir ); + // Watch each directory within this directory + while ( ent ) { + if ( (0 != strcmp( ent->d_name, "." )) && + (0 != strcmp( ent->d_name, ".." )) ) { + nasprintf(&next_file,"%s%s", my_path, ent->d_name); +- if ( -1 == lstat64( next_file, &my_stat ) ) { ++ if ( -1 == lstat( next_file, &my_stat ) ) { + error = errno; + free( next_file ); + if ( errno != EACCES ) { +@@ -1840,9 +1840,9 @@ int inotifytools_error() { + * @internal + */ + static int isdir( char const * path ) { +- static struct stat64 my_stat; ++ static struct stat my_stat; + +- if ( -1 == lstat64( path, &my_stat ) ) { ++ if ( -1 == lstat( path, &my_stat ) ) { + if (errno == ENOENT) return 0; + fprintf(stderr, "Stat failed on %s: %s\n", path, strerror(errno)); + return 0; +diff --git a/libinotifytools/src/inotifytools/inotify-nosys.h b/libinotifytools/src/inotifytools/inotify-nosys.h +index 01aa45e..97166d4 100644 +--- a/libinotifytools/src/inotifytools/inotify-nosys.h ++++ b/libinotifytools/src/inotifytools/inotify-nosys.h +@@ -13,11 +13,6 @@ + #include <sys/syscall.h> + #include <unistd.h> + +-#ifdef __FreeBSD__ +-#define stat64 stat +-#define lstat64 lstat +-#endif +- + /* + * struct inotify_event - structure read from the inotify device for each event + * +diff --git a/libinotifytools/src/inotifytools/inotifytools.h b/libinotifytools/src/inotifytools/inotifytools.h +index 49936ae..2ec4358 100644 +--- a/libinotifytools/src/inotifytools/inotifytools.h ++++ b/libinotifytools/src/inotifytools/inotifytools.h +@@ -1,11 +1,6 @@ + #ifndef _inotifytools_H + #define _inotifytools_H + +-#ifdef __FreeBSD__ +-#define stat64 stat +-#define lstat64 lstat +-#endif +- + #ifdef __cplusplus + extern "C" + { +diff --git a/src/common.c b/src/common.c +index 5a6fda1..885286e 100644 +--- a/src/common.c ++++ b/src/common.c +@@ -45,9 +45,9 @@ void print_event_descriptions() { + } + + int isdir(char const *path) { +- static struct stat64 my_stat; ++ static struct stat my_stat; + +- if (-1 == lstat64(path, &my_stat)) { ++ if (-1 == lstat(path, &my_stat)) { + if (errno == ENOENT) + return 0; + fprintf(stderr, "Stat failed on %s: %s\n", path, strerror(errno)); +diff --git a/src/common.h b/src/common.h +index 12d3dde..7f1e34a 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -1,13 +1,9 @@ + #ifndef COMMON_H + #define COMMON_H + +-#ifdef __FreeBSD__ +-#define stat64 stat +-#define lstat64 lstat +-#ifdef ENABLE_FANOTIFY ++#if defined(__FreeBSD__) && defined(ENABLE_FANOTIFY) + #error "FreeBSD does not support fanotify" + #endif +-#endif + + #include <stdbool.h> + diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb new file mode 100644 index 0000000000..8a0ae17ad7 --- /dev/null +++ b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Command line tools and C library providing a simple interface to inotify" +HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools" +SECTION = "console/devel" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6" + +SRCREV = "c8bdbc0a2ed822fc7c67c5c3e102d89fe27fb2d0" + +SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \ + file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \ + file://0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch \ + file://0003-replace-stat64-lstat64-with-stat-lstat.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools + +EXTRA_OECONF = "--disable-doxygen" + +# workaround until glibc 2.35 is fixed for this [1] +# [1] https://sourceware.org/pipermail/libc-alpha/2021-December/134215.html +CFLAGS += "-Wno-error" + +PACKAGES =+ "libinotifytools" + +FILES:libinotifytools = "${libdir}/lib*.so.*" diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb b/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb deleted file mode 100644 index 5383d0ddc4..0000000000 --- a/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Command line tools and C library providing a simple interface to inotify" -AUTHOR = "Rohan McGovern <rohan@mcgovern.id.au>" -HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools" -SECTION = "console/devel" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6" - -SRCREV = "98e8dfa47eb6a6ba52e35de55d2de21b274a4af8" -PV = "3.20.11.0" - -SRC_URI = "git://github.com/rvoicilas/${BPN};branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit autotools - -EXTRA_OECONF = "--disable-doxygen" - -PACKAGES =+ "libinotifytools" - -FILES:libinotifytools = "${libdir}/lib*.so.*" |