diff options
author | Khem Raj <raj.khem@gmail.com> | 2022-12-20 11:27:17 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2022-12-23 08:52:22 -0800 |
commit | 562413e6863b6bab8563389b0ace91aa450ee50d (patch) | |
tree | 0b28381fd2a108f0d46f34cd083cd5618a92ff96 /meta-oe | |
parent | a71c6b16b6c3dd6222501c760ddead782e6761e2 (diff) | |
download | meta-openembedded-contrib-562413e6863b6bab8563389b0ace91aa450ee50d.tar.gz |
inotify-tools: Fix build on musl and lfs64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
3 files changed, 150 insertions, 1 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/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 index 3d25eecb34..281de522b2 100644 --- 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 @@ -9,7 +9,9 @@ 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" |