diff options
Diffstat (limited to 'external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs')
6 files changed, 275 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch new file mode 100644 index 00000000..75b227ac --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch @@ -0,0 +1,52 @@ +From f41ef1f06d428c81fcdef73d896dfc7ceda1809c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 23 Aug 2018 04:59:39 +0000 +Subject: [PATCH] Check for MAP_SYNC in sys/mman.h + +Not all arches have wired MAP_SYNC e.g. mips +which have conflicts with definition, so checking +a generic file is going to mis-configure xfsprogs +for such arches. + +libc now has added the relevant macros to +sys/mman.h, and returns the right values for arches +where its implemented and nothing for others +unlike asm-generic/mman.h which only checks +for kernel headers and ignored arches + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + include/linux.h | 3 +-- + m4/package_libcdev.m4 | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/include/linux.h b/include/linux.h +index 1998941..7e5c9ab 100644 +--- a/include/linux.h ++++ b/include/linux.h +@@ -331,8 +331,7 @@ fsmap_advance( + #define MAP_SYNC 0 + #define MAP_SHARED_VALIDATE 0 + #else +-#include <asm-generic/mman.h> +-#include <asm-generic/mman-common.h> ++#include <sys/mman.h> + #endif /* HAVE_MAP_SYNC */ + + #endif /* __XFS_LINUX_H__ */ +diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 +index 0a6b514..2b47d2f 100644 +--- a/m4/package_libcdev.m4 ++++ b/m4/package_libcdev.m4 +@@ -335,8 +335,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS], + AC_DEFUN([AC_HAVE_MAP_SYNC], + [ AC_MSG_CHECKING([for MAP_SYNC]) + AC_TRY_COMPILE([ +-#include <asm-generic/mman.h> +-#include <asm-generic/mman-common.h> ++#include <sys/mman.h> + ], [ + int flags = MAP_SYNC | MAP_SHARED_VALIDATE; + ], have_map_sync=yes diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch new file mode 100644 index 00000000..231da806 --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch @@ -0,0 +1,79 @@ +From f8a22f16c03e51d3c779b12f37d362faaa0ecf31 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 31 Jan 2018 21:28:53 -0800 +Subject: [PATCH] build: Check for sync_file_range libc function + +glibc 2.27 now has sync_file_range() + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + include/builddefs.in | 1 + + io/Makefile | 5 ++++- + io/io.h | 2 +- + io/sync_file_range.c | 3 +++ + 4 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/include/builddefs.in b/include/builddefs.in +index b895949..a388c83 100644 +--- a/include/builddefs.in ++++ b/include/builddefs.in +@@ -95,6 +95,7 @@ HAVE_FIEMAP = @have_fiemap@ + HAVE_PREADV = @have_preadv@ + HAVE_PWRITEV2 = @have_pwritev2@ + HAVE_COPY_FILE_RANGE = @have_copy_file_range@ ++HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@ + HAVE_SYNC_FILE_RANGE = @have_sync_file_range@ + HAVE_SYNCFS = @have_syncfs@ + HAVE_READDIR = @have_readdir@ +diff --git a/io/Makefile b/io/Makefile +index 00ede48..dd001b0 100644 +--- a/io/Makefile ++++ b/io/Makefile +@@ -60,10 +60,13 @@ CFILES += inject.c resblks.c + LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS + endif + +-ifeq ($(HAVE_COPY_FILE_RANGE),yes) ++ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes) + CFILES += copy_file_range.c ++LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE ++ifeq ($(HAVE_COPY_FILE_RANGE),yes) + LCFLAGS += -DHAVE_COPY_FILE_RANGE + endif ++endif + + ifeq ($(HAVE_SYNC_FILE_RANGE),yes) + CFILES += sync_file_range.c +diff --git a/io/io.h b/io/io.h +index e1f3d95..fe2e6a2 100644 +--- a/io/io.h ++++ b/io/io.h +@@ -151,7 +151,7 @@ extern void fiemap_init(void); + #define fiemap_init() do { } while (0) + #endif + +-#ifdef HAVE_COPY_FILE_RANGE ++#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE) + extern void copy_range_init(void); + #else + #define copy_range_init() do { } while (0) +diff --git a/io/sync_file_range.c b/io/sync_file_range.c +index 30bbc93..6c49d73 100644 +--- a/io/sync_file_range.c ++++ b/io/sync_file_range.c +@@ -4,6 +4,7 @@ + * All Rights Reserved. + */ + ++#ifndef HAVE_COPY_FILE_RANGE + #include "command.h" + #include "input.h" + #include "init.h" +@@ -92,3 +93,5 @@ sync_range_init(void) + + add_command(&sync_range_cmd); + } ++ ++#endif diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch new file mode 100644 index 00000000..f924cd1a --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch @@ -0,0 +1,33 @@ +From 11a42df394de3dc520e72a016296dcc6dea02a7a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 23 Aug 2018 05:33:57 +0000 +Subject: [PATCH] include include/xfs/linux.h after <sys/mman.h> + +This helps compiling with musl which goes ahead and undefines MAP_SYNC +for mips and other architectures where its not wired in kernel + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + io/mmap.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/io/mmap.c b/io/mmap.c +index dbfcca5..ca00df1 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -4,10 +4,11 @@ + * All Rights Reserved. + */ + +-#include "command.h" +-#include "input.h" + #include <sys/mman.h> + #include <signal.h> ++ ++#include "command.h" ++#include "input.h" + #include "init.h" + #include "io.h" + diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch new file mode 100644 index 00000000..c07b4b50 --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/disable-xfs_scrub-build.patch @@ -0,0 +1,30 @@ +From 2bd40e5ed4df0b0a42beff8806b1ec5daa372c48 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Thu, 19 Jul 2018 16:49:41 +0800 +Subject: [PATCH] Disable xfs_scrub build + +Disable xfs_scrub build since it is experimental. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 7ddfa31..cd60319 100644 +--- a/Makefile ++++ b/Makefile +@@ -48,7 +48,7 @@ LIBFROG_SUBDIR = libfrog + DLIB_SUBDIRS = libxlog libxcmd libhandle + LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS) + TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \ +- mdrestore repair rtcp m4 man doc debian spaceman scrub ++ mdrestore repair rtcp m4 man doc debian spaceman + + ifneq ("$(PKG_PLATFORM)","darwin") + TOOL_SUBDIRS += fsr +-- +2.7.4 + diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch new file mode 100644 index 00000000..bd2d0256 --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch @@ -0,0 +1,13 @@ +Index: xfsprogs-4.14.0/include/builddefs.in +=================================================================== +--- xfsprogs-4.14.0.orig/include/builddefs.in ++++ xfsprogs-4.14.0/include/builddefs.in +@@ -168,7 +168,7 @@ ifeq ($(ENABLE_GETTEXT),yes) + GCFLAGS += -DENABLE_GETTEXT + endif + +-BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS) ++BUILD_CFLAGS += $(GCFLAGS) + # First, Sanitizer, Global, Platform, Local CFLAGS + CFLAGS += $(FCFLAGS) $(SANITIZER_CFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS) + diff --git a/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb new file mode 100644 index 00000000..0a1bacb9 --- /dev/null +++ b/external/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.18.0.bb @@ -0,0 +1,68 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +LICENSE = "GPLv2 & LGPLv2.1" +LICENSE_libhandle = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" +DEPENDS = "util-linux util-linux-native" +SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ + file://remove_flags_from_build_flags.patch \ + file://0001-build-Check-for-sync_file_range-libc-function.patch \ + file://disable-xfs_scrub-build.patch \ + file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ + file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ + " +SRC_URI[md5sum] = "5f80b631b68df89a8b9283307e96d2e8" +SRC_URI[sha256sum] = "397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1" + +inherit autotools-brokensep + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +DEPENDS += "util-linux" + +RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" + +FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES_${PN}-repair = "${base_sbindir}/xfs_repair" + +FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +PACKAGECONFIG ??= "readline blkid" + +PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" + +export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" +export tagname="CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure () { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure + # Recreate configure script. + oe_runmake configure + oe_runconf +} + +do_install_append() { + oe_runmake 'DESTDIR=${D}' install-dev + rm ${D}${libdir}/*.la + rmdir --ignore-fail-on-non-empty ${D}${libdir} +} |