From 53623081143d09702d8f3d7224e9da8c5f681c3b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 5 Jun 2023 15:37:05 +0100 Subject: gentoo auto-resync : 05:06:2023 - 15:37:05 --- sys-fs/inotify-tools/Manifest | 4 +- .../files/inotify-tools-3.22.6.0-musl.patch | 226 +++++++++++++++++++-- .../inotify-tools/inotify-tools-3.22.6.0-r1.ebuild | 44 ++++ sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild | 44 ---- 4 files changed, 258 insertions(+), 60 deletions(-) create mode 100644 sys-fs/inotify-tools/inotify-tools-3.22.6.0-r1.ebuild delete mode 100644 sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild (limited to 'sys-fs/inotify-tools') diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest index 74f715c88cbb..91908d883709 100644 --- a/sys-fs/inotify-tools/Manifest +++ b/sys-fs/inotify-tools/Manifest @@ -1,4 +1,4 @@ -AUX inotify-tools-3.22.6.0-musl.patch 827 BLAKE2B 499aa4517af0ae2eb4d59e9f9128e49a76a8551a03f59b32e8e31d42d3e77d8720eab43d14553daac4ef42cd8e67cefc7ee1c1ff5108c17976d7cfe72683ecf3 SHA512 9af49e57302b76d1bcd807846a3e660a4ed342de0767549a572a51a072da8d00b87069e7ef81ca55f7a900b6c226eefb5f1f440161f7811c26d976bfa4526075 +AUX inotify-tools-3.22.6.0-musl.patch 6184 BLAKE2B 88e6ca44a4624dce3a1e92ebcb9d3da727a81420c2ee96b8075d66d3ce1d4353c7aee271be1b679a4b60e3ebf1f93c1d3f4011615e575157d0fc1caf1c21d83d SHA512 d5a7c1e788cc31b283d3a721d1baf95803ab9f83b0a2a67e84e3e7663600a59b2205248a8998859cbe5857f263ebee09c9299ee28076c70f859b8f68d0dc6318 DIST inotify-tools-3.22.6.0.tar.gz 92918 BLAKE2B 601d3ac6896e445d297a04498c63df4f81c59699ba2d5b2eee2e8c499332913ce2783d13c9906d577ff0b6d7ef91ca826d48b01674adeb3d3569dfc1fbc0df63 SHA512 cda445add4b9d80b70eff9189ed50d05f4b5593a755159d0354431166c6fe6fdb33f7bf37fd50bc09aad3ed0a6e3763b9c74f65e554400f2596b8d492f1d0a21 -EBUILD inotify-tools-3.22.6.0.ebuild 881 BLAKE2B 189a11983d852452cc14f367ccc1ec84415e5e98358a0f3f62559d9baa60665d7424ca74c2d0b4bff65468ff92898bb6387342f3015be7bb0f995857d8186fec SHA512 46c04f360cc989de8193dc2d8b7f78594cb6ac40a7c908c8ba341810d4db7e07c0303b357b7a24f1fde42b59f4e6bc0cb81f997e8eec91cad5f2b831c27edc60 +EBUILD inotify-tools-3.22.6.0-r1.ebuild 881 BLAKE2B bed52561cb35fa207ff317fe49b3534b75b407b1c6629751b3b347867f7a504312a0f4f20c615c313142699342b0768b2676fc274378f483dd3ef90614b0b11b SHA512 b68378c11aee9299c24eebd33cac83e359366925cc5590b696d7a603d29bc7f5b4f1cc5cb7a7e332fa333b2de13b345df67af066533495e21ba92965daaf6889 MISC metadata.xml 590 BLAKE2B 6e50ca7a9b47cfe8bf97f73cb62c7e9f99d21c7687989a224136a38c075242f02386e14e5fc6d4e7216f9e44be32711005a2f366f2c26db02a900c6c5a852adf SHA512 a17f9f5e0b397c00f290e476ba9c40466149a40bb0bdbab9b75a726518ee413efc6fd64a13f2be5baf5f651c5a09a1f736c194122e5b3b81377d542b21cf925d diff --git a/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch index 435adc2e797a..0b6c9dbbe930 100644 --- a/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch +++ b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch @@ -1,26 +1,224 @@ -Former fix[1] for musl that got reverted[2] for possibly(?) wrong -reasons[3]. Should be harmless to include here until sorted out. -https://bugs.gentoo.org/831976 +https://bugs.gentoo.org/831976 (undeclared _kernel_fsid_t) +https://bugs.gentoo.org/907887 (musl-1.2.4 lfs64 issues) -[1] https://github.com/inotify-tools/inotify-tools/commit/b7889c8d -[2] https://github.com/inotify-tools/inotify-tools/commit/cbab7c0b -[3] https://github.com/inotify-tools/inotify-tools/issues/155 +https://github.com/inotify-tools/inotify-tools/commit/8367bdd1eda71c10ab0a49c694846a622e543807 From: Khem Raj -Date: Mon, 3 Jan 2022 04:42:50 -0800 -Subject: [PATCH] libinotifytools: Bridge differences between musl/glibc/kernel - fnotify.h (#154) +Date: Fri, 30 Dec 2022 04:04:56 -0800 +Subject: [PATCH] Fix build with musl and add Alpine buildnode to CI (#174) + +* 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 + +Signed-off-by: Khem Raj + +* Fix build for out-of-tree builds + +When build tree is outside source-tree its not able to find +fanotify-dfid-name.h, add needed include paths on compiler commandline + +Signed-off-by: Khem Raj + +* 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 + +Signed-off-by: Khem Raj + +* 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 + +Signed-off-by: Khem Raj + +* Apply changes from clang-format + +Signed-off-by: Khem Raj + +* Fix errors found by clang-format + +Fixes +-Wno-gnu-variable-sized-type-not-at-end for musl clang-format + +Signed-off-by: Khem Raj + +* ci: Enable musl in CI using alpine + +Signed-off-by: Khem Raj + +* Tell clang-tidy to ignore warning about variable sized type + +Signed-off-by: Eric Curtin + +* Add gcompat for code coverage tool + +Signed-off-by: Eric Curtin + +* Skip sonarcloud on alpine + +Signed-off-by: Eric Curtin + +Signed-off-by: Khem Raj +Signed-off-by: Eric Curtin +Co-authored-by: Eric Curtin +--- 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, +--- a/libinotifytools/src/Makefile.am ++++ b/libinotifytools/src/Makefile.am +@@ -2,6 +2,7 @@ SUBDIRS = inotifytools + + lib_LTLIBRARIES = libinotifytools.la + libinotifytools_la_SOURCES = inotifytools.c inotifytools_p.h redblack.c redblack.h stats.c stats.h ++libinotifytools_la_CFLAGS = -I$(srcdir)/inotifytools + libinotifytools_la_LDFLAGS = -version-info 4:1:4 + + check_PROGRAMS = test --- a/libinotifytools/src/inotifytools.c +++ b/libinotifytools/src/inotifytools.c -@@ -54,6 +54,12 @@ struct fanotify_event_fid { - struct fanotify_event_info_fid info; - struct file_handle handle; - }; -+ +@@ -51,10 +51,16 @@ struct fanotify_event_fid; + #include + #include "inotifytools/fanotify.h" + +#ifndef __GLIBC__ +#define val __val +#define __kernel_fsid_t fsid_t +#endif ++ + struct fanotify_event_fid { + struct fanotify_event_info_fid info; + struct file_handle handle; + }; + #endif /** +@@ -1746,14 +1752,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 ) { +@@ -1836,9 +1841,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; +--- a/libinotifytools/src/inotifytools/fanotify-dfid-name.h ++++ b/libinotifytools/src/inotifytools/fanotify-dfid-name.h +@@ -129,7 +129,7 @@ struct fanotify_event_info_fid { + * Following is an opaque struct file_handle that can be passed as + * an argument to open_by_handle_at(2). + */ +- unsigned char handle[0]; ++ unsigned char handle[]; + }; + + struct fanotify_response { +--- a/libinotifytools/src/inotifytools/inotify-nosys.h ++++ b/libinotifytools/src/inotifytools/inotify-nosys.h +@@ -13,11 +13,6 @@ + #include + #include + +-#ifdef __FreeBSD__ +-#define stat64 stat +-#define lstat64 lstat +-#endif +- + /* + * struct inotify_event - structure read from the inotify device for each event + * +--- 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" + { +--- a/src/common.c ++++ b/src/common.c +@@ -45,14 +45,15 @@ void print_event_descriptions() { + } + + int isdir(char const *path) { +- static struct stat64 my_stat; +- +- if (-1 == lstat64(path, &my_stat)) { +- if (errno == ENOENT) +- return 0; +- fprintf(stderr, "Stat failed on %s: %s\n", path, strerror(errno)); +- return 0; +- } ++ static struct stat 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; ++ } + + return S_ISDIR(my_stat.st_mode) && !S_ISLNK(my_stat.st_mode); + } +--- 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 + diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0-r1.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0-r1.ebuild new file mode 100644 index 000000000000..9272ad8d669e --- /dev/null +++ b/sys-fs/inotify-tools/inotify-tools-3.22.6.0-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Set of command-line programs providing a simple interface to inotify" +HOMEPAGE="https://github.com/inotify-tools/inotify-tools/" +SRC_URI="https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~mips ~riscv sparc x86" +IUSE="doc" + +BDEPEND="doc? ( app-doc/doxygen )" + +PATCHES=( + "${FILESDIR}"/${P}-musl.patch +) + +src_prepare() { + default + + sed -i 's/ -Werror//' {,libinotifytools/}src/Makefile.am || die #745069 + + eautoreconf +} + +src_configure() { + local econfargs=( + --docdir="${EPREFIX}"/usr/share/doc/${PF}/html + $(use_enable doc doxygen) + ) + + econf "${econfargs[@]}" +} + +src_install() { + default + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild deleted file mode 100644 index b1b8a0281b9d..000000000000 --- a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="Set of command-line programs providing a simple interface to inotify" -HOMEPAGE="https://github.com/inotify-tools/inotify-tools/" -SRC_URI="https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~mips ~riscv sparc x86" -IUSE="doc" - -BDEPEND="doc? ( app-doc/doxygen )" - -PATCHES=( - "${FILESDIR}"/${P}-musl.patch -) - -src_prepare() { - default - - sed -i 's/ -Werror//' {,libinotifytools/}src/Makefile.am || die #745069 - - eautoreconf -} - -src_configure() { - local econfargs=( - --docdir="${EPREFIX}"/usr/share/doc/${PF}/html - $(use_enable doc doxygen) - ) - - econf "${econfargs[@]}" -} - -src_install() { - default - - find "${ED}" -type f -name '*.la' -delete || die -} -- cgit v1.2.3