From c817d19fa9b702dcf54e8f3f5bb7be4d05f86d1f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 20 Aug 2023 22:05:31 -0700 Subject: liburing: Upgrade to 2.4 release - Upgrade to latest release 2.4 [1] - Drop a patch available in 2.4 release - Backport a parallel build race fix [1] https://github.com/axboe/liburing/releases/tag/liburing-2.4 Signed-off-by: Khem Raj --- ...-failure-on-.-configure-make-shuffle-2836.patch | 34 ++++++++++++++++ ...mples-test-Remove-unused-linux-errqueue.h.patch | 47 ---------------------- meta-oe/recipes-support/liburing/liburing_2.3.bb | 33 --------------- meta-oe/recipes-support/liburing/liburing_2.4.bb | 32 +++++++++++++++ 4 files changed, 66 insertions(+), 80 deletions(-) create mode 100644 meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch delete mode 100644 meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch delete mode 100644 meta-oe/recipes-support/liburing/liburing_2.3.bb create mode 100644 meta-oe/recipes-support/liburing/liburing_2.4.bb diff --git a/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch b/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch new file mode 100644 index 0000000000..0cf8548e4c --- /dev/null +++ b/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch @@ -0,0 +1,34 @@ +From c34dca74854cb6e7f2b09affa2a4ab0145e62371 Mon Sep 17 00:00:00 2001 +From: Kartik Mahajan +Date: Fri, 30 Jun 2023 11:34:07 +0530 +Subject: [PATCH] Fixes build failure on ./configure && make + --shuffle=2836571325 + +./configure && make --shuffle=2836571325 fails. +The build fails on parallel builds for me and above command reproduces it. +Note that --shuffle options is available on make version >= 4.4 +Target ffi_libname in src/Makefile should have a additional dependency +upon $(liburing_sobjs) + +Upstream-Status: Backport [https://github.com/axboe/liburing/commit/c34dca74854cb6e7f2b09affa2a4ab0145e62371] +Signed-off-by: Kartik Mahajan +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index c4c28cb..7832095 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -81,7 +81,7 @@ liburing-ffi.a: $(liburing_objs) $(liburing_ffi_objs) + $(libname): $(liburing_sobjs) liburing.map + $(QUIET_CC)$(CC) $(SO_CFLAGS) -shared -Wl,--version-script=liburing.map -Wl,-soname=$(soname) -o $@ $(liburing_sobjs) $(LINK_FLAGS) + +-$(ffi_libname): $(liburing_ffi_objs) $(liburing_ffi_sobjs) liburing-ffi.map ++$(ffi_libname): $(liburing_ffi_objs) $(liburing_ffi_sobjs) $(liburing_sobjs) liburing-ffi.map + $(QUIET_CC)$(CC) $(SO_CFLAGS) -shared -Wl,--version-script=liburing-ffi.map -Wl,-soname=$(ffi_soname) -o $@ $(liburing_sobjs) $(liburing_ffi_sobjs) $(LINK_FLAGS) + + install: $(all_targets) +-- +2.41.0 + diff --git a/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch b/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch deleted file mode 100644 index 21aaf8d991..0000000000 --- a/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0fbcc44fe1fb2dc6807660b2cff1c2995add095b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 18 Feb 2023 18:01:22 -0800 -Subject: [PATCH] examples,test: Remove unused linux/errqueue.h - -This header is not needed therefore remove it, this cleanup also helps -compiling on musl/clang - -/usr/include/linux/errqueue.h:57:20: error: array has incomplete element typ -e 'struct timespec' - struct timespec ts[3]; - ^ - -Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/798] -Signed-off-by: Khem Raj ---- - examples/send-zerocopy.c | 1 - - test/send-zerocopy.c | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/examples/send-zerocopy.c b/examples/send-zerocopy.c -index 6092af9..cf1fa8b 100644 ---- a/examples/send-zerocopy.c -+++ b/examples/send-zerocopy.c -@@ -13,7 +13,6 @@ - #include - - #include --#include - #include - #include - #include -diff --git a/test/send-zerocopy.c b/test/send-zerocopy.c -index 86a31cd..5d578c6 100644 ---- a/test/send-zerocopy.c -+++ b/test/send-zerocopy.c -@@ -11,7 +11,6 @@ - #include - - #include --#include - #include - #include - #include --- -2.39.2 - diff --git a/meta-oe/recipes-support/liburing/liburing_2.3.bb b/meta-oe/recipes-support/liburing/liburing_2.3.bb deleted file mode 100644 index 7d8c2f596d..0000000000 --- a/meta-oe/recipes-support/liburing/liburing_2.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "This is the io_uring library, liburing." -DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \ -instances, and also a simplified interface for applications that don't need \ -(or want) to deal with the full kernel side implementation." -HOMEPAGE = "https://github.com/axboe/liburing" -BUGTRACKER = "https://github.com/axboe/liburing/issues" -SECTION = "libs" - -LICENSE = "LGPL-2.1-only | MIT" -LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af" - -SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ - file://0001-examples-test-Remove-unused-linux-errqueue.h.patch" -SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch " -SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch " -SRCREV = "f5cac78e621ab452d3035902085f66d2bf73243b" - -PV .= "+2.4+git${SRCPV}" -S = "${WORKDIR}/git" - -DEPENDS:append:libc-musl = " libucontext" -XCFLAGS = "-pthread" -XCFLAGS:append:libc-musl = " -lucontext" - -EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" -do_configure() { - ${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} -} -do_install () { - oe_runmake install DESTDIR=${D} -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/liburing/liburing_2.4.bb b/meta-oe/recipes-support/liburing/liburing_2.4.bb new file mode 100644 index 0000000000..e5dba70df0 --- /dev/null +++ b/meta-oe/recipes-support/liburing/liburing_2.4.bb @@ -0,0 +1,32 @@ +SUMMARY = "This is the io_uring library, liburing." +DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \ +instances, and also a simplified interface for applications that don't need \ +(or want) to deal with the full kernel side implementation." +HOMEPAGE = "https://github.com/axboe/liburing" +BUGTRACKER = "https://github.com/axboe/liburing/issues" +SECTION = "libs" + +LICENSE = "LGPL-2.1-only | MIT" +LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af" + +SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ + file://0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch" +SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch " +SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch " +SRCREV = "298c083d75ecde5a8833366167b3b6abff0c8d39" + +S = "${WORKDIR}/git" + +DEPENDS:append:libc-musl = " libucontext" +XCFLAGS = "-pthread" +XCFLAGS:append:libc-musl = " -lucontext" + +EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" +do_configure() { + ${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir} +} +do_install () { + oe_runmake install DESTDIR=${D} +} + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf