aboutsummaryrefslogtreecommitdiffstats
path: root/meta-filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'meta-filesystems')
-rw-r--r--meta-filesystems/README.md (renamed from meta-filesystems/README)0
-rw-r--r--meta-filesystems/conf/include/non-repro-meta-filesystems.inc9
-rw-r--r--meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc18
-rw-r--r--meta-filesystems/conf/layer.conf6
-rw-r--r--meta-filesystems/files/static-passwd-meta-filesystems3
-rw-r--r--meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb13
-rw-r--r--meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb27
-rw-r--r--meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb15
-rw-r--r--meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb (renamed from meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb)7
-rw-r--r--meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb13
-rw-r--r--meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb2
-rw-r--r--meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb (renamed from meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb)2
-rw-r--r--meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb7
-rw-r--r--meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb25
-rw-r--r--meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb5
-rw-r--r--meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb40
-rw-r--r--meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch2
-rw-r--r--meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch2
-rw-r--r--meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb4
-rw-r--r--meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb (renamed from meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb)21
-rw-r--r--meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch2
-rw-r--r--meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb60
-rw-r--r--meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb16
-rw-r--r--meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_0.4.0.bb (renamed from meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb)8
-rw-r--r--meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch2
-rw-r--r--meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch4
-rw-r--r--meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb10
-rw-r--r--meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch34
-rw-r--r--meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch31
-rw-r--r--meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb (renamed from meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb)17
-rw-r--r--meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch35
-rw-r--r--meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb (renamed from meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb)7
-rw-r--r--meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch2
-rw-r--r--meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch34
-rw-r--r--meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb10
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch34
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch46
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch56
-rw-r--r--meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb77
-rw-r--r--meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb23
-rw-r--r--meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch75
-rw-r--r--meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch53
-rw-r--r--meta-filesystems/recipes-support/fuse/fuse3_3.10.4.bb63
-rw-r--r--meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb84
-rw-r--r--meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb29
-rw-r--r--meta-filesystems/recipes-support/python3-looseversion/python3-looseversion_1.3.0.bb14
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch32
-rw-r--r--meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb19
-rw-r--r--meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb15
-rw-r--r--meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb58
-rw-r--r--meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch47
-rw-r--r--meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch33
-rw-r--r--meta-filesystems/recipes-utils/e2tools/e2tools_git.bb75
-rw-r--r--meta-filesystems/recipes-utils/e2tools/files/run-ptest5
-rw-r--r--meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb24
-rw-r--r--meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb24
-rw-r--r--meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch183
-rw-r--r--meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb (renamed from meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.14.0.bb)7
-rw-r--r--meta-filesystems/recipes-utils/fatcat/fatcat/0001-Replace-std-ptr_fun-for-c-17.patch48
-rw-r--r--meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch2
-rw-r--r--meta-filesystems/recipes-utils/fatcat/fatcat/0002-Enable-64bit-off_t.patch71
-rw-r--r--meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb (renamed from meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb)6
-rw-r--r--meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch2
-rw-r--r--meta-filesystems/recipes-utils/fatresize/fatresize/0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch34
-rw-r--r--meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb7
-rw-r--r--meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb28
-rw-r--r--meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch2
-rw-r--r--meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch2
-rw-r--r--meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb8
-rw-r--r--meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch65
-rw-r--r--meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb (renamed from meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb)13
-rw-r--r--meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch45
-rw-r--r--meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb (renamed from meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb)9
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch52
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch27
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch724
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch2
-rw-r--r--meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb (renamed from meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb)25
-rw-r--r--meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch41
-rw-r--r--meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch84
-rw-r--r--meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch42
-rw-r--r--meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch31
-rw-r--r--meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb67
-rw-r--r--meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb29
84 files changed, 2626 insertions, 409 deletions
diff --git a/meta-filesystems/README b/meta-filesystems/README.md
index 78a4429ce2..78a4429ce2 100644
--- a/meta-filesystems/README
+++ b/meta-filesystems/README.md
diff --git a/meta-filesystems/conf/include/non-repro-meta-filesystems.inc b/meta-filesystems/conf/include/non-repro-meta-filesystems.inc
new file mode 100644
index 0000000000..4975593277
--- /dev/null
+++ b/meta-filesystems/conf/include/non-repro-meta-filesystems.inc
@@ -0,0 +1,9 @@
+# List of known non-reproducible package of the meta-filesystems layer
+# Please keep this list sorted
+KNOWN_NON_REPRO_META_FILESYSTEMS = " \
+ e2tools-ptest \
+ xfsprogs-doc \
+ zfs \
+ zfs-dbg \
+ zfs-dev \
+"
diff --git a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc
new file mode 100644
index 0000000000..f57bbab930
--- /dev/null
+++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc
@@ -0,0 +1,18 @@
+#
+# Lists of the ptest in meta-filesystems, sorted into two sets by the time they take
+# Please keep these sorted in alphabetical order
+#
+# A first pass at getting all meta-filesystems recipes which inherit ptest
+# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d')
+# ptests which take less than ~30s each
+
+PTESTS_FAST_META_FILESYSTEMS = "\
+ e2tools \
+ fuse3 \
+"
+
+PTESTS_SLOW_META_FILESYSTEMS = "\
+"
+PTESTS_PROBLEMS_META_FILESYSTEMS = "\
+ sshfs-fuse \
+"
diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf
index ae93a36b45..2e220bfe24 100644
--- a/meta-filesystems/conf/layer.conf
+++ b/meta-filesystems/conf/layer.conf
@@ -7,12 +7,12 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "filesystems-layer"
BBFILE_PATTERN_filesystems-layer = "^${LAYERDIR}/"
-BBFILE_PRIORITY_filesystems-layer = "6"
+BBFILE_PRIORITY_filesystems-layer = "5"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_filesystems-layer = "1"
-LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
+LAYERDEPENDS_filesystems-layer = "core openembedded-layer networking-layer"
-LAYERSERIES_COMPAT_filesystems-layer = " hardknott"
+LAYERSERIES_COMPAT_filesystems-layer = "scarthgap styhead"
diff --git a/meta-filesystems/files/static-passwd-meta-filesystems b/meta-filesystems/files/static-passwd-meta-filesystems
new file mode 100644
index 0000000000..157697f3e7
--- /dev/null
+++ b/meta-filesystems/files/static-passwd-meta-filesystems
@@ -0,0 +1,3 @@
+fsgqa:x:700:nogroup::/:/bin/nologin
+123456-fsgqa:x:701:nogroup::/:/bin/nologin
+fsgqa2:x:702:nogroup::/:/bin/nologin \ No newline at end of file
diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb
new file mode 100644
index 0000000000..e0f6664ab3
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb
@@ -0,0 +1,13 @@
+SUMMARY = "library to write an ISO-9660 file system to physical media"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "7295491b4be5eeac5e7a3fb2067e236e2955ffdc6bbd45f546466edee321644b"
+
+inherit autotools pkgconfig lib_package
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb
new file mode 100644
index 0000000000..3982eae63c
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "library and tool to create and burn ISO-9660 images"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYRIGHT;md5=43cfe25a7e4a65f722d6253fa0649bb1"
+
+SRC_URI = "http://files.libburnia-project.org/releases/libisoburn-${PV}.tar.gz"
+SRC_URI[sha256sum] = "2b80a6f73dd633a5d243facbe97a15e5c9a07644a5e1a242c219b9375a45f71b"
+
+DEPENDS = "libisofs libburn"
+# This replaces the xorriso recipe
+PROVIDES += "xorriso"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-pkg-check-modules"
+
+do_install:append() {
+ # This is a proof-of-concept UI using Tk, don't ship it
+ rm -f ${D}${bindir}/xorriso-tcltk
+}
+
+PACKAGE_BEFORE_PN = "xorriso"
+FILES:xorriso = "${bindir}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb
new file mode 100644
index 0000000000..0add3777f4
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb
@@ -0,0 +1,15 @@
+SUMMARY = "library to create an ISO-9660 filesystem"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYRIGHT;md5=1c1e5a960562d65f6449bb1d21e1dffc"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "0152d66a9d340b659fe9c880eb9190f3570fb477ac07cf52e8bcd134a1d30d70"
+
+DEPENDS = "acl zlib"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb
index be2415f629..48e3d7af5d 100644
--- a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
+++ b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb
@@ -5,18 +5,17 @@ is provided under the name mount.exfat-fuse. \
"
HOMEPAGE = "https://github.com/relan/exfat"
SECTION = "universe/otherosfs"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
DEPENDS = "fuse virtual/libc"
-RRECOMMENDS_${PN} = "util-linux-mount"
+RRECOMMENDS:${PN} = "util-linux-mount"
inherit autotools pkgconfig
-SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff"
-SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3"
+SRC_URI[sha256sum] = "a1cfedc55e0e7a12c184605aa0f0bf44b24a3fb272449b20b2c8bbe6edb3001e"
EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb b/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb
index 2fa5ec1fb9..5dc3ea6632 100644
--- a/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb
+++ b/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb
@@ -1,25 +1,22 @@
SUMMARY = "This is a filesystem client based on the HTTP using FUSE"
HOMEPAGE = "http://httpfs.sourceforge.net"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=83f224c5182f148ec92e0b9f84b3c6c7"
inherit pkgconfig
DEPENDS += "fuse"
-RDEPENDS_${PN} += "fuse"
+RDEPENDS:${PN} += "fuse"
-SRC_URI += "https://astuteinternet.dl.sourceforge.net/project/httpfs/httpfs2/httpfs2-${PV}.tar.gz"
+SRC_URI += "${SOURCEFORGE_MIRROR}/project/httpfs/httpfs2/httpfs2-${PV}.tar.gz"
SRC_URI[sha256sum] = "01cb4bb38deb344f540da6f1464dc7edbdeb51213ad810b8c9c282c1e17e0fc1"
S = "${WORKDIR}/httpfs2-${PV}"
do_compile() {
- cd ${S}
- oe_runmake httpfs2
+ oe_runmake -C ${S} httpfs2
}
do_install() {
- cd ${S}
- install -d ${D}${bindir}
- install -m 0755 httpfs2 ${D}${bindir}
+ install -Dm 0755 ${S}/httpfs2 ${D}${bindir}/httpfs2
}
diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb
index 8a317cddbe..c9702eb93e 100644
--- a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb
+++ b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb
@@ -1,5 +1,5 @@
SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
HOMEPAGE ="http://www.libimobiledevice.org/"
diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb
index ca21d2a0ed..80fb9f9137 100644
--- a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
+++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb
@@ -1,3 +1,3 @@
-require meta-filesystems-image-base.bb
+require recipes-core/images/core-image-base.bb
IMAGE_INSTALL += "packagegroup-meta-filesystems"
diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
deleted file mode 100644
index c89b1e1362..0000000000
--- a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-filesystems build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb
new file mode 100644
index 0000000000..ffbfa1a3f6
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest images."
+HOMEPAGE = "https://www.openembedded.org/"
+
+LICENSE = "MIT"
+
+inherit features_check nopackages
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require conf/include/ptest-packagelists-meta-filesystems.inc
+
+# Include the full set of ptests
+PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}"
+
+do_testimage[noexec] = "1"
+do_testimage[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}"
+
+do_build[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}"
+
+# normally image.bbclass would do this
+EXCLUDE_FROM_WORLD = "1"
+
+python () {
+ if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
+ bb.build.addtask("do_testimage", "", "", d)
+}
diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb
new file mode 100644
index 0000000000..dfb0837aa6
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb
@@ -0,0 +1,5 @@
+require meta-filesystems-image-ptest-all.bb
+
+DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems ptest images."
+
+PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS}"
diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb
new file mode 100644
index 0000000000..90d6a92c1b
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb
@@ -0,0 +1,40 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require recipes-core/images/core-image-minimal.bb
+require conf/include/ptest-packagelists-meta-filesystems.inc
+
+SUMMARY = "meta-filesystems ptest test image"
+
+DESCRIPTION += "Also including the ${MCNAME} ptest package."
+HOMEPAGE = "https://www.openembedded.org/"
+
+PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}"
+
+IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
+
+BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}"
+
+# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live
+# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
+# box) and explicitly add up to 1500MB.
+IMAGE_OVERHEAD_FACTOR = "1.0"
+IMAGE_ROOTFS_EXTRA_SPACE = "324288"
+# If a particular ptest needs more space, it can be customized:
+#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"
+
+# ptests need more memory than standard to avoid the OOM killer
+QB_MEM = "-m 1024"
+# If a particular ptest needs more memroy, it can be customized:
+#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
+
+TEST_SUITES = "ping ssh parselogs ptest"
+
+# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
+PTEST_EXPECT_FAILURE = "1"
+
+python () {
+ if not d.getVar("MCNAME"):
+ raise bb.parse.SkipRecipe("No class extension set")
+}
+
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch
index 30ad1b8ad6..8d790125e3 100644
--- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch
+++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Add $(LDFLAGS) to linker cmdline
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
index dbf7ae0163..73e42df7e4 100644
--- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
+++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch
@@ -9,6 +9,8 @@ static function
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
btree.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
index d9864ac3e8..7d0a83609e 100644
--- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
+++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
@@ -7,11 +7,11 @@ LogFS is included in the mainline Linux kernel and was introduced in \
version 2.6.34, released on May 16, 2010."
HOMEPAGE = "https://github.com/prasad-joshi/logfsprogs"
SECTION = "base"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02"
DEPENDS = "zlib"
-SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \
+SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git;branch=master;protocol=https \
file://0001-Add-LDFLAGS-to-linker-cmdline.patch \
file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \
file://0001-include-sys-sysmacros.h-for-major-minor-definition.patch \
diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb
index 6f5cb6cee9..37a8106bb0 100644
--- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
+++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS drive
HOMEPAGE = "http://www.ntfs-3g.org/"
DEPENDS = "fuse libgcrypt"
PROVIDES = "ntfsprogs ntfs-3g"
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
@@ -10,8 +10,7 @@ SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \
file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \
"
S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
-SRC_URI[md5sum] = "d97474ae1954f772c6d2fa386a6f462c"
-SRC_URI[sha256sum] = "3e5a021d7b761261836dcb305370af299793eedbded731df3d6943802e1262d5"
+SRC_URI[sha256sum] = "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c"
UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/"
UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P<pver>\d+(\.\d+)+)\.tgz"
@@ -26,14 +25,14 @@ EXTRA_OEMAKE = "LDCONFIG=echo"
PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g"
-FILES_ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs"
-RDEPENDS_ntfs-3g += "fuse"
-RRECOMMENDS_ntfs-3g = "util-linux-mount"
+FILES:ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs"
+RDEPENDS:ntfs-3g += "fuse"
+RRECOMMENDS:ntfs-3g = "util-linux-mount"
-FILES_ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*"
-FILES_libntfs-3g = "${libdir}/*${SOLIBS}"
+FILES:ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*"
+FILES:libntfs-3g = "${libdir}/*${SOLIBS}"
-do_install_append() {
+do_install:append() {
# Standard mount will execute the program /sbin/mount.TYPE when called.
# Add a symbolic link to let mount find ntfs.
ln -sf mount.ntfs-3g ${D}${base_sbindir}/mount.ntfs
@@ -49,4 +48,6 @@ do_install_append() {
}
# Satisfy the -dev runtime dependency
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
+
+CVE_PRODUCT = "tuxera:ntfs-3g"
diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
index e4d52a802b..870d0ef056 100644
--- a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
+++ b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch
@@ -8,6 +8,8 @@ Makefile.am: required file `./README' not found
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
index 7f56c88fcc..b641e4c24e 100644
--- a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
+++ b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb
@@ -3,14 +3,14 @@ DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/M
HOMEPAGE = "http://www.owfs.org/"
SECTION = "console/network"
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \
file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099"
DEPENDS = "fuse virtual/libusb0"
# v3.2p3
SRCREV = "3744375dfaa350e31c9b360eb1e1a517bbeb5c47"
-SRC_URI = "git://github.com/owfs/owfs \
+SRC_URI = "git://github.com/owfs/owfs;branch=master;protocol=https \
file://0001-Add-build-rule-for-README.patch \
file://0001-Fix-compilation-with-GCC10.patch \
file://owhttpd \
@@ -34,7 +34,7 @@ EXTRA_OECONF = " \
--disable-owperl \
"
-do_install_prepend() {
+do_install:prepend() {
install -d ${D}${sysconfdir}/default/
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
@@ -43,39 +43,39 @@ do_install_prepend() {
PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
-DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
-DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
-DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
-DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
-DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
-DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
-DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
-DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+DESCRIPTION:owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION:owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION:owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION:owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION:libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION:libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION:libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION:owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION:owtap = "Packet sniffer for the owserver protocol"
-FILES_owftpd = "${bindir}/owftpd ${systemd_system_unitdir}/owftpd.service"
-FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \
+FILES:owftpd = "${bindir}/owftpd ${systemd_system_unitdir}/owftpd.service"
+FILES:owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \
${systemd_system_unitdir}/owhttpd.service"
-FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \
+FILES:owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \
${systemd_system_unitdir}/owserver.service \
${systemd_system_unitdir}/owserver.socket"
-FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+FILES:owshell = "${bindir}/owread ${bindir}/owwrite \
${bindir}/owdir ${bindir}/owpresent \
${bindir}/owget ${bindir}/owside"
-FILES_owmon = "${bindir}/owmon"
-FILES_owtap = "${bindir}/owtap"
-FILES_libowcapi = "${libdir}/libowcapi-*"
-FILES_libow = "${libdir}/libow-*"
-FILES_libownet = "${libdir}/libownet-*"
-FILES_${PN} += "${systemd_system_unitdir}/owfs.service"
+FILES:owmon = "${bindir}/owmon"
+FILES:owtap = "${bindir}/owtap"
+FILES:libowcapi = "${libdir}/libowcapi-*"
+FILES:libow = "${libdir}/libow-*"
+FILES:libownet = "${libdir}/libownet-*"
+FILES:${PN} += "${systemd_system_unitdir}/owfs.service"
INITSCRIPT_PACKAGES = "owhttpd owserver"
-INITSCRIPT_NAME_owserver = "owserver"
-INITSCRIPT_NAME_owhttpd = "owhttpd"
-INITSCRIPT_PARAMS_owserver = "defaults 20"
-INITSCRIPT_PARAMS_owhttpd = "defaults 21"
+INITSCRIPT_NAME:owserver = "owserver"
+INITSCRIPT_NAME:owhttpd = "owhttpd"
+INITSCRIPT_PARAMS:owserver = "defaults 20"
+INITSCRIPT_PARAMS:owhttpd = "defaults 21"
-SYSTEMD_SERVICE_${PN} = "owfs.service"
-SYSTEMD_SERVICE_${PN}-owftpd = "owftpd.service"
-SYSTEMD_SERVICE_${PN}-owhttpd = "owhttpd.service"
-SYSTEMD_SERVICE_${PN}-owserver = "owserver.service owserver.socket"
+SYSTEMD_SERVICE:${PN} = "owfs.service"
+SYSTEMD_SERVICE:${PN}-owftpd = "owftpd.service"
+SYSTEMD_SERVICE:${PN}-owhttpd = "owhttpd.service"
+SYSTEMD_SERVICE:${PN}-owserver = "owserver.service owserver.socket"
diff --git a/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
index 8a8a8dbe2b..40f851364d 100644
--- a/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
+++ b/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
@@ -1,22 +1,26 @@
SUMMARY = "Meta-filesystem packagegroups"
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
inherit packagegroup
PROVIDES = "${PACKAGES}"
PACKAGES = ' \
packagegroup-meta-filesystems \
packagegroup-meta-filesystems-support \
- packagegroup-meta-filesystems-utls \
+ packagegroup-meta-filesystems-utils \
'
-RDEPENDS_packagegroup-meta-filesystems = "\
+RDEPENDS:packagegroup-meta-filesystems = "\
packagegroup-meta-filesystems \
packagegroup-meta-filesystems-support \
- packagegroup-meta-filesystems-utls \
+ packagegroup-meta-filesystems-utils \
"
-RDEPENDS_packagegroup-meta-filesystems = "\
+RDEPENDS:packagegroup-meta-filesystems = "\
ifuse \
+ libisofs \
+ libburn \
+ libisoburn \
logfsprogs \
fuse-exfat \
owfs \
@@ -29,13 +33,13 @@ RDEPENDS_packagegroup-meta-filesystems = "\
sshfs-fuse \
"
-RDEPENDS_packagegroup-meta-filesystems-support = "\
+RDEPENDS:packagegroup-meta-filesystems-support = "\
fuse3 \
fuse \
physfs \
"
-RDEPENDS_packagegroup-meta-filesystems-utils = "\
+RDEPENDS:packagegroup-meta-filesystems-utils = "\
aufs-util \
exfat-utils \
fatcat \
diff --git a/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb b/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_0.4.0.bb
index 595b349005..b8399265cd 100644
--- a/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
+++ b/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_0.4.0.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "SIMPLE-MTPFS is a FUSE based filsystem for MTP devices connected via USB"
HOMEPAGE = "https://github.com/phatina/simple-mtpfs"
-LICENSE = "GPLv2"
+BUGTRACKER = "19e7bb9b608b0c0dce2ee6f56fac75901bc69529"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-DEPENDS = "fuse libmtp"
+DEPENDS = "fuse libmtp autoconf-archive"
inherit autotools pkgconfig
-# 0.3.0
SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master"
-SRCREV = "c9a691fc52fafaa55d26ac629856153c0514015a"
+SRCREV = "19e7bb9b608b0c0dce2ee6f56fac75901bc69529"
S = "${WORKDIR}/git"
diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
index 6d60c9d229..fbdb6cbcd7 100644
--- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
+++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Using PKG_CHECK_MODULES to found headers and libraries of
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
configure.in | 5 +++++
src/Makefile.am | 3 +++
2 files changed, 8 insertions(+)
diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
index f22b389b1c..d5e9040b9a 100644
--- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
+++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
@@ -1,7 +1,9 @@
+Upstream-Status: Pending
+
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
- AC_INIT([SMBNetFS],[0.6.2])
+ AC_INIT([SMBNetFS],[0.6.3])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_HEADERS([src/config.h])
diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
index d94603b404..2d9eab1dd5 100644
--- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
+++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
@@ -4,21 +4,21 @@ DESCRIPTION = "SMBNetFS is a Linux/FreeBSD filesystem that allow you to use \
neighborhood in Microsoft Windows. Please donate me to help \
in SMBNetFS development."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
DEPENDS = "fuse samba"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
inherit autotools pkgconfig features_check
# samba depends on libpam
REQUIRED_DISTRO_FEATURES = "pam"
-PV = "0.6.1+git${SRCPV}"
+PV = "0.6.3"
-SRCREV = "a117eec8de7ed7249871da73dcc350283ce72069"
+SRCREV = "736d5e599df3bebce3450125118ac2e70358b0c9"
SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
file://configure.patch \
@@ -29,4 +29,4 @@ PACKAGECONFIG[libsecret] = "--with-libsecret=yes,--with-libsecret=no,libsecret"
S = "${WORKDIR}/git"
-LDFLAGS_append_libc-musl = " -lexecinfo"
+LDFLAGS:append:libc-musl = " -lexecinfo"
diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch
new file mode 100644
index 0000000000..63cdc57b44
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch
@@ -0,0 +1,34 @@
+From 03ee1f8aa0899268ec02b2f54849352df92a3a1d Mon Sep 17 00:00:00 2001
+From: Gabriel Staples <ercaguy@gmail.com>
+Date: Tue, 22 Dec 2020 23:33:55 -0800
+Subject: [PATCH] pytest.ini: fix test warning
+
+Warning:
+
+```
+test/util.py:99
+ sshfs/build/test/util.py:99: PytestUnknownMarkWarning: Unknown pytest.mark.uses_fuse - is this a typo?
+ You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
+ return pytest.mark.uses_fuse()
+```
+
+References for the fix:
+
+1. https://stackoverflow.com/questions/60806473/pytestunknownmarkwarning-unknown-pytest-mark-xxx-is-this-a-typo/60813297#60813297
+1. https://docs.pytest.org/en/stable/mark.html
+
+Upstream-Status: Submitted [https://github.com/libfuse/sshfs/pull/238]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/pytest.ini | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/pytest.ini b/test/pytest.ini
+index 95161546..7a7efed4 100644
+--- a/test/pytest.ini
++++ b/test/pytest.ini
+@@ -1,2 +1,4 @@
+ [pytest]
+ addopts = --verbose --assert=rewrite --tb=native -x -r a
++markers =
++ uses_fuse
diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch
new file mode 100644
index 0000000000..e76dbd5059
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch
@@ -0,0 +1,31 @@
+From a1d58ae1be99571a88b8439b027abe6349b74658 Mon Sep 17 00:00:00 2001
+From: Gabriel Staples <ercaguy@gmail.com>
+Date: Tue, 22 Dec 2020 23:26:40 -0800
+Subject: [PATCH] Fix deprecated warning in conftest.py
+
+```
+test/conftest.py:66
+ sshfs/build/test/conftest.py:66: PytestDeprecationWarning: @pytest.yield_fixture is deprecated.
+ Use @pytest.fixture instead; they are the same.
+ @pytest.yield_fixture(autouse=True)
+```
+
+Upstream-Status: Submitted [https://github.com/libfuse/sshfs/pull/238]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/conftest.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/conftest.py b/test/conftest.py
+index 70cd0c62..d58d45b2 100644
+--- a/test/conftest.py
++++ b/test/conftest.py
+@@ -63,7 +63,7 @@ def register_output(self, pattern, count=1, flags=re.MULTILINE):
+ # relies on tests running sequential (i.e., don't dare to use e.g. the xdist
+ # plugin)
+ current_capfd = None
+-@pytest.yield_fixture(autouse=True)
++@pytest.fixture(autouse=True)
+ def save_cap_fixtures(request, capfd):
+ global current_capfd
+ capfd.false_positives = []
diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
index 2debc6d8bc..5a926dac0c 100644
--- a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
+++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
@@ -1,24 +1,27 @@
SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
-AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
HOMEPAGE = "https://github.com/libfuse/sshfs"
SECTION = "console/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
DEPENDS = "glib-2.0 fuse3"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "git://github.com/libfuse/sshfs"
-SRCREV = "9700b353700589dcc462205c638bcb40219a49c2"
+SRC_URI = "git://github.com/libfuse/sshfs;branch=master;protocol=https \
+ file://03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch \
+ file://a1d58ae1be99571a88b8439b027abe6349b74658.patch \
+"
+SRCREV = "c91eb9a9a992f1a36c49a8e6f1146e45b5e1c8e7"
S = "${WORKDIR}/git"
-inherit meson ptest
+inherit meson pkgconfig ptest
SRC_URI += " \
file://run-ptest \
"
-RDEPENDS_${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
+RDEPENDS:${PN}-ptest += " \
+ python3-pytest \
bash \
+ fuse \
"
do_install_ptest() {
diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
index bf363ca1b7..9b4d0f6cae 100644
--- a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
+++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch
@@ -1,32 +1,31 @@
-From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 30 Jun 2017 14:46:51 +0800
+From 6e794a36564a2639a07d8720260e33d7c9435aa4 Mon Sep 17 00:00:00 2001
+From: Alper Ak <alperyasinak1@gmail.com>
+Date: Fri, 10 Nov 2023 20:50:48 +0300
Subject: [PATCH] support cross compiling
Do not override OE CMAKE variables
-Upstream-Status: Pending
-
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
+
+Upstream-Status: Pending
---
- CMakeLists.txt | 4 ++--
+ src/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
- ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index f549496..ab71fb2 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -4,9 +4,9 @@ set(UNIONFS_SRCS unionfs.c opts.c debug.c findbranch.c readdir.c
+ fuse_ops.c)
+ set(UNIONFSCTL_SRCS unionfsctl.c)
- # Select flags.
--SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2")
-+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2")
+-SET(CMAKE_C_FLAGS "-pipe -W -Wall -D_FORTIFY_SOURCE=2")
++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -D_FORTIFY_SOURCE=2")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
- if (UNIX AND APPLE)
---
-2.8.1
-
+ add_executable(unionfs ${UNIONFS_SRCS} ${HASHTABLE_SRCS})
diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb
index 3dd5c82ee5..e8fda05365 100644
--- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.1.bb
+++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb
@@ -6,12 +6,13 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a
file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
"
-SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \
+SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master;protocol=https \
file://0001-support-cross-compiling.patch \
"
-SRCREV = "8d732962423c3ca5be1f14b7ec139ff464e10a51"
+SRCREV = "773f1853b043eeb64b7459f903a2c65bd096f9d9"
-DEPENDS = "fuse"
+DEPENDS = "fuse3"
+RDEPENDS:${PN} = "bash"
S = "${WORKDIR}/git"
diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch
index df202c8555..6cedc3cb4e 100644
--- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch
+++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch
@@ -7,6 +7,8 @@ Helps to build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
yaffs_guts.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch
new file mode 100644
index 0000000000..98c27d2654
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch
@@ -0,0 +1,34 @@
+From 05cc2b958090f96d6fa128da43aa69669625e529 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 5 Mar 2024 12:03:23 +0000
+Subject: [PATCH] yaffs_guts.h: define YTIME_T if not already defined
+
+Fixed:
+yaffs_guts.h:501:9: error: unknown type name 'YTIME_T'
+ 501 | YTIME_T yst_uid;
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ yaffs_guts.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/yaffs_guts.h b/yaffs_guts.h
+index 74ded0b..598271b 100644
+--- a/yaffs_guts.h
++++ b/yaffs_guts.h
+@@ -487,6 +487,10 @@ struct yaffs_obj {
+
+ YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1];
+
++#ifndef YTIME_T
++#define YTIME_T time_t
++#endif
++
+ #ifdef CONFIG_YAFFS_WINCE
+ //these are always 64 bits
+ u32 win_ctime[2];
+--
+2.35.5
+
diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
index bd0886d671..ca5e3302b3 100644
--- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
+++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -4,12 +4,13 @@ DESCRIPTION = "Tools for managing 'yaffs2' file systems."
SECTION = "base"
HOMEPAGE = "http://www.yaffs.net"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=11;endline=13;md5=5f5464f9b3e981ca574e65b00e438561 \
file://utils/mkyaffsimage.c;beginline=10;endline=12;md5=5f5464f9b3e981ca574e65b00e438561 \
"
-PV = "0.0+git${SRCPV}"
+# The commit date of SRCREV
+PV = "20221209"
DEPENDS = "mtd-utils"
@@ -17,15 +18,16 @@ DEPENDS = "mtd-utils"
SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \
file://makefile-add-ldflags.patch \
file://0001-define-loff_t-if-not-already-defined.patch \
+ file://0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch \
"
-SRCREV = "9a6f486e56f927eeb8dc7e4e0d84f6bb95eeaa0f"
+SRCREV = "613a901a229e8a701c18f003dd0aee18453e0670"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
-CFLAGS_append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES"
+CFLAGS:append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES"
EXTRA_OEMAKE = "-e MAKEFLAGS="
do_compile() {
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch
new file mode 100644
index 0000000000..80955b3ca0
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch
@@ -0,0 +1,34 @@
+From cc0cd6f71f6ef96fca2d7b730a3f0f6722fec696 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 7 May 2022 12:15:22 -0700
+Subject: [PATCH] Define strndupa if it does not exist
+
+musl e.g. does not supply strndupa, unlike glibc
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ etc/systemd/system-generators/zfs-mount-generator.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/etc/systemd/system-generators/zfs-mount-generator.c b/etc/systemd/system-generators/zfs-mount-generator.c
+index f4c6c26..255bee4 100644
+--- a/etc/systemd/system-generators/zfs-mount-generator.c
++++ b/etc/systemd/system-generators/zfs-mount-generator.c
+@@ -193,6 +193,15 @@ fopenat(int dirfd, const char *pathname, int flags,
+ return (fdopen(fd, stream_mode));
+ }
+
++#ifndef strndupa
++#define strndupa(s, n) \
++ (__extension__ ({const char *__in = (s); \
++ size_t __len = strnlen (__in, (n)) + 1; \
++ char *__out = (char *) alloca (__len); \
++ __out[__len-1] = '\0'; \
++ (char *) memcpy (__out, __in, __len-1);}))
++#endif
++
+ static int
+ line_worker(char *line, const char *cachefile)
+ {
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch
new file mode 100644
index 0000000000..f1cfab4daf
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch
@@ -0,0 +1,46 @@
+From 1f9a5cb860b3509791e59a8cae9d5f265e832ed0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 May 2023 16:33:15 -0700
+Subject: [PATCH] fs-tests/cmd/readmmap: Replace uint_t with uint32_t
+
+Makes it portable across glibc and musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/zfs-tests/cmd/readmmap.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tests/zfs-tests/cmd/readmmap.c b/tests/zfs-tests/cmd/readmmap.c
+index 704ffd55c8..a2590e0e8d 100644
+--- a/tests/zfs-tests/cmd/readmmap.c
++++ b/tests/zfs-tests/cmd/readmmap.c
+@@ -38,6 +38,7 @@
+ * 0 : no errors
+ * --------------------------------------------------------------
+ */
++#include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -55,7 +56,7 @@ main(int argc, char **argv)
+ char *buf = NULL;
+ char *map = NULL;
+ int fd = -1, bytes, retval = 0;
+- uint_t seed;
++ uint32_t seed;
+
+ if (argc < 2 || optind == argc) {
+ (void) fprintf(stderr,
+@@ -92,7 +93,7 @@ main(int argc, char **argv)
+ retval = 1;
+ goto end;
+ }
+- seed = (uint_t)time(NULL);
++ seed = (uint32_t)time(NULL);
+ srandom(seed);
+
+ idx = random() % size;
+--
+2.40.1
+
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch
new file mode 100644
index 0000000000..f5504b389d
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch
@@ -0,0 +1,56 @@
+From aaf28a4630af60496c9d33db1d06a7d7d8983422 Mon Sep 17 00:00:00 2001
+From: Sebastian Gottschall <s.gottschall@dd-wrt.com>
+Date: Tue, 23 May 2023 13:50:24 +0600
+Subject: [PATCH] fixes broken aarch64 inline assembly for gcc 13.1
+
+fixes the following error
+
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:549:24: error: the register specified for 'w7' is not general enough to be used as a register variable
+ 549 | register unsigned char w7 asm("v7") __attribute__((vector_size(16)));
+ | ^~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:193:9: note: in expansion of macro 'GEN_X_DEFINE_6_7'
+ 193 | GEN_X_DEFINE_6_7() \
+ | ^~~~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
+ 1360 | REC_PQR_DEFINE();
+ | ^~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:551:24: error: the register specified for 'w8' is not general enough to be used as a register variable
+ 551 | register unsigned char w8 asm("v8") __attribute__((vector_size(16))); \
+ | ^~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9'
+ 194 | GEN_X_DEFINE_8_9() \
+ | ^~~~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
+ 1360 | REC_PQR_DEFINE();
+ | ^~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:552:24: error: the register specified for 'w9' is not general enough to be used as a register variable
+ 552 | register unsigned char w9 asm("v9") __attribute__((vector_size(16)));
+ | ^~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9'
+ 194 | GEN_X_DEFINE_8_9() \
+ | ^~~~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE'
+ 1360 | REC_PQR_DEFINE();
+
+Upstream-Status: Pending [https://github.com/BrainSlayer/zfs/commit/aaf28a4630af60496c9d33db1d06a7d7d8983422]
+Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ module/Kbuild.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/module/Kbuild.in
++++ b/module/Kbuild.in
+@@ -57,9 +57,9 @@ asflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_
+ ccflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS)
+
+ ifeq ($(CONFIG_ARM64),y)
+-CFLAGS_REMOVE_zcommon/zfs_fletcher_aarch64_neon.o += -mgeneral-regs-only
+-CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neon.o += -mgeneral-regs-only
+-CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neonx2.o += -mgeneral-regs-only
++CFLAGS_REMOVE_zcommon/zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only
++CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only
++CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only
+ endif
+
+ # Suppress unused-value warnings in sparc64 architecture headers
diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb
new file mode 100644
index 0000000000..d3ea6797e7
--- /dev/null
+++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb
@@ -0,0 +1,77 @@
+SUMMARY = "OpenZFS on Linux and FreeBSD"
+DESCRIPTION = "OpenZFS on Linux and FreeBSD"
+LICENSE = "CDDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa"
+HOMEPAGE ="https://github.com/openzfs/zfs"
+
+SRCREV = "494aaaed89cb9fe9f2da3b6c6f465a4bc9f6a7e1"
+SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \
+ file://0001-Define-strndupa-if-it-does-not-exist.patch \
+ file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \
+ file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# Using both 'module' and 'autotools' classes seems a bit odd, they both
+# define a do_compile function.
+# That's why we opt for module-base, also this prevents module splitting.
+inherit module-base pkgconfig autotools bash-completion
+
+DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)}"
+
+PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,"
+PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit,"
+
+EXTRA_OECONF:append = " \
+ --disable-pyzfs \
+ --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
+ --with-mounthelperdir=${base_sbin} \
+ --with-udevdir=${base_libdir}/udev \
+ --with-systemdunitdir=${systemd_system_unitdir} \
+ --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \
+ --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \
+ --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \
+ --without-dracutdir \
+"
+
+EXTRA_OEMAKE:append = " \
+ INSTALL_MOD_PATH=${D}${root_prefix} \
+"
+
+do_install:append() {
+ # /usr/share/zfs contains the zfs-tests folder which we do not need:
+ rm -rf ${D}${datadir}/zfs
+
+ rm -rf ${D}${datadir}/initramfs-tools
+}
+
+FILES:${PN} += "\
+ ${nonarch_base_libdir}/modules \
+ ${systemd_system_unitdir} \
+ ${nonarch_base_libdir}/systemd/system-generators \
+ ${nonarch_base_libdir}/systemd/system-preset \
+ ${sysconfdir}/modules-load.d/${BPN}.conf \
+ ${sysconfdir}/default/${BPN} \
+ ${sysconfdir}/sudoers.d/${BPN} \
+ ${sysconfdir}/${BPN} \
+ ${base_libdir}/udev \
+ ${sbindir} \
+ ${bindir} \
+ ${libexecdir}/${BPN} \
+ ${libdir} \
+"
+
+FILES:${PN}-dev += "\
+ ${prefix}/src/zfs-${PV} \
+ ${prefix}/src/spl-${PV} \
+"
+# Not yet ported to rv32
+COMPATIBLE_HOST:riscv32 = "null"
+# conflicting definition of ABS macro from asm/asm.h from kernel
+COMPATIBLE_HOST:mips = "null"
+# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555
+COMPATIBLE_HOST:aarch64 = "null"
diff --git a/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb b/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb
new file mode 100644
index 0000000000..7607b0a12c
--- /dev/null
+++ b/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Tools to handle creating and mounting composefs images"
+HOMEPAGE = "https://github.com/containers/composefs"
+LICENSE = "GPL-3.0-or-later & LGPL-2.0-or-later & Apache-2.0"
+LIC_FILES_CHKSUM = "\
+ file://BSD-2-Clause.txt;md5=121c8a0a8fa5961a26b7863034ebcce8 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE.Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
+DEPENDS = "fuse3 openssl"
+SRCREV = "2d5cdcb9176cfe4ccf1761ef6d78e1c48de35649"
+PV = "1.0.3"
+
+SRC_URI = "\
+ git://github.com/containers/composefs.git;protocol=https;branch=main \
+ file://0001-musl-basename-use-portable-implementation-for-basena.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch b/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch
new file mode 100644
index 0000000000..49a0b21c6e
--- /dev/null
+++ b/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch
@@ -0,0 +1,75 @@
+From b21a9d4f10a066cac76bb345d31fdd24afcf3e6f Mon Sep 17 00:00:00 2001
+From: Fathi Boudra <fathi.boudra@linaro.org>
+Date: Tue, 9 Apr 2024 08:47:37 +0200
+Subject: [PATCH] musl: basename: use portable implementation for basename API
+
+musl has removed the non-prototype declaration of basename from string.h which
+now results in build errors with newer clang compilers.
+
+Implement GNU basename behavior using strchr which is portable across libcs.
+
+Fixes:
+| ../../git/tools/mountcomposefs.c:43:20:
+| error: call to undeclared function 'basename'; ISO C99 and later do not
+| support implicit function declarations [-Wimplicit-function-declaration]
+| 43 | const char *bin = basename(argv0);
+| | ^
+| ../../git/tools/mountcomposefs.c:43:14:
+| error: incompatible integer to pointer conversion initializing 'const char *'
+| with an expression of type 'int' [-Wint-conversion]
+| 43 | const char *bin = basename(argv0);
+| | ^ ~~~~~~~~~~~~~~~
+
+For reference:
+https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Closes: https://github.com/containers/composefs/issues/272
+
+Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
+
+Upstream-Status: Submitted [https://github.com/containers/composefs/pull/273]
+---
+ libcomposefs/lcfs-utils.h | 6 ++++++
+ tools/mkcomposefs.c | 2 +-
+ tools/mountcomposefs.c | 3 ++-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+--- a/tools/mountcomposefs.c
++++ b/tools/mountcomposefs.c
+@@ -37,10 +37,11 @@
+ #include <linux/fsverity.h>
+
+ #include "libcomposefs/lcfs-mount.h"
++#include "libcomposefs/lcfs-utils.h"
+
+ static void usage(const char *argv0)
+ {
+- const char *bin = basename(argv0);
++ const char *bin = gnu_basename(argv0);
+ fprintf(stderr,
+ "usage: %s [-t type] [-o opt[,opts..]] IMAGE MOUNTPOINT\n"
+ "Example:\n"
+--- a/libcomposefs/lcfs-utils.h
++++ b/libcomposefs/lcfs-utils.h
+@@ -161,4 +161,10 @@ static inline void *steal_pointer(void *
+ /* type safety */
+ #define steal_pointer(pp) (0 ? (*(pp)) : (steal_pointer)(pp))
+
++static inline const char *gnu_basename(const char *filename)
++{
++ const char *p = strrchr(filename, '/');
++ return p ? p+1 : filename;
++}
++
+ #endif
+--- a/tools/mkcomposefs.c
++++ b/tools/mkcomposefs.c
+@@ -315,7 +315,7 @@ static int fill_store(struct lcfs_node_s
+
+ static void usage(const char *argv0)
+ {
+- const char *bin = basename(argv0);
++ const char *bin = gnu_basename(argv0);
+ fprintf(stderr,
+ "Usage: %s [OPTIONS] SOURCE IMAGE\n"
+ "Options:\n"
diff --git a/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch b/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch
new file mode 100644
index 0000000000..7b548b4cde
--- /dev/null
+++ b/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch
@@ -0,0 +1,53 @@
+Upstream-Status: Pending
+
+From: Sam James <sam@gentoo.org>
+Date: Sat, 24 Jul 2021 22:02:45 +0100
+Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
+ glibc-2.34+)
+
+closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
+it's available in glibc 2.34+, we want to detect it and only define our
+fallback if the libc doesn't provide it.
+
+Bug: https://bugs.gentoo.org/803923
+Signed-off-by: Sam James <sam@gentoo.org>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,6 +55,7 @@ fi
+
+ AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
+ AC_CHECK_FUNCS([posix_fallocate])
++AC_CHECK_FUNCS([closefrom])
+ AC_CHECK_MEMBERS([struct stat.st_atim])
+ AC_CHECK_MEMBERS([struct stat.st_atimespec])
+
+--- a/util/ulockmgr_server.c
++++ b/util/ulockmgr_server.c
+@@ -22,6 +22,10 @@
+ #include <sys/socket.h>
+ #include <sys/wait.h>
+
++#ifdef HAVE_CONFIG_H
++ #include "config.h"
++#endif
++
+ struct message {
+ unsigned intr : 1;
+ unsigned nofd : 1;
+@@ -124,6 +128,7 @@ static int receive_message(int sock, voi
+ return res;
+ }
+
++#if !defined(HAVE_CLOSEFROM)
+ static int closefrom(int minfd)
+ {
+ DIR *dir = opendir("/proc/self/fd");
+@@ -141,6 +146,7 @@ static int closefrom(int minfd)
+ }
+ return 0;
+ }
++#endif
+
+ static void send_reply(int cfd, struct message *msg)
+ {
diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.10.4.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.10.4.bb
deleted file mode 100644
index 32dab3e35d..0000000000
--- a/meta-filesystems/recipes-support/fuse/fuse3_3.10.4.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
-DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
- programs to export a virtual filesystem to the Linux kernel. FUSE \
- also aims to provide a secure method for non privileged users to \
- create and mount their own filesystem implementations. \
- "
-HOMEPAGE = "https://github.com/libfuse/libfuse"
-SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
- file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
-
-SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
-"
-SRC_URI[sha256sum] = "9365b74fd8471caecdb3cc5adf25a821f70a931317ee9103d15bd39089e3590d"
-
-S = "${WORKDIR}/fuse-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
-UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
-
-CVE_PRODUCT = "fuse_project:fuse"
-
-inherit meson pkgconfig ptest
-
-SRC_URI += " \
- file://run-ptest \
-"
-
-RDEPENDS_${PN}-ptest += " \
- ${PYTHON_PN}-pytest \
- bash \
-"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
-}
-
-DEPENDS = "udev"
-
-PACKAGES =+ "fuse3-utils"
-
-RPROVIDES_${PN}-dbg += "fuse3-utils-dbg"
-
-RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils"
-
-FILES_${PN} += "${libdir}/libfuse3.so.*"
-FILES_${PN}-dev += "${libdir}/libfuse3*.la"
-
-EXTRA_OEMESON += " \
- -Dexamples=false \
-"
-
-# Forbid auto-renaming to libfuse3-utils
-FILES_fuse3-utils = "${bindir} ${base_sbindir}"
-DEBIAN_NOAUTONAME_fuse3-utils = "1"
-DEBIAN_NOAUTONAME_${PN}-dbg = "1"
-
-do_install_append() {
- rm -rf ${D}${base_prefix}/dev
-}
diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
new file mode 100644
index 0000000000..2b0797a6f5
--- /dev/null
+++ b/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
@@ -0,0 +1,84 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
+LIC_FILES_CHKSUM = " \
+ file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \
+"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
+"
+SRC_URI[sha256sum] = "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87"
+
+S = "${WORKDIR}/fuse-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
+
+CVE_PRODUCT = "fuse_project:fuse"
+
+inherit meson pkgconfig ptest
+
+SRC_URI += " \
+ file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+ python3-pytest \
+ python3-looseversion \
+ bash \
+"
+RRECOMMENDS:${PN}-ptest += " kernel-module-cuse"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ install -d ${D}${PTEST_PATH}/example
+ install -d ${D}${PTEST_PATH}/util
+ cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
+
+ example_excutables=`find ${B}/example -type f -executable`
+ util_excutables=`find ${B}/util -type f -executable`
+ test_excutables=`find ${B}/test -type f -executable`
+
+ for e in $example_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/example/
+ done
+
+ for e in $util_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/util/
+ done
+
+ for e in $test_excutables
+ do
+ cp -rf $e ${D}${PTEST_PATH}/test
+ done
+}
+
+DEPENDS = "udev"
+
+PACKAGES =+ "fuse3-utils"
+
+RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
+
+RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
+
+FILES:${PN} += "${libdir}/libfuse3.so.*"
+FILES:${PN}-dev += "${libdir}/libfuse3*.la"
+
+# Forbid auto-renaming to libfuse3-utils
+FILES:fuse3-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME:fuse3-utils = "1"
+DEBIAN_NOAUTONAME:${PN}-dbg = "1"
+
+do_install:append() {
+ rm -rf ${D}${base_prefix}/dev
+}
diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
index 2c272d4527..cee4879eee 100644
--- a/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
+++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspac
"
HOMEPAGE = "https://github.com/libfuse/libfuse"
SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
@@ -14,6 +14,7 @@ SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.
file://gold-unversioned-symbol.patch \
file://aarch64.patch \
file://0001-fuse-fix-the-return-value-of-help-option.patch \
+ file://fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch \
file://fuse.conf \
"
SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312"
@@ -29,33 +30,33 @@ inherit autotools pkgconfig update-rc.d systemd
INITSCRIPT_NAME = "fuse"
INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
-SYSTEMD_SERVICE_${PN} = ""
+SYSTEMD_SERVICE:${PN} = ""
DEPENDS = "gettext-native"
PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev"
-RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
+RPROVIDES:${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
-RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils"
+RRECOMMENDS:${PN}:class-target = "kernel-module-fuse libulockmgr fuse-utils"
-FILES_${PN} += "${libdir}/libfuse.so.*"
-FILES_${PN}-dev += "${libdir}/libfuse*.la"
+FILES:${PN} += "${libdir}/libfuse.so.*"
+FILES:${PN}-dev += "${libdir}/libfuse*.la"
-FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
-FILES_libulockmgr-dev += "${libdir}/libulock*.la"
+FILES:libulockmgr = "${libdir}/libulockmgr.so.*"
+FILES:libulockmgr-dev += "${libdir}/libulock*.la"
# Forbid auto-renaming to libfuse-utils
-FILES_fuse-utils = "${bindir} ${base_sbindir}"
-DEBIAN_NOAUTONAME_fuse-utils = "1"
-DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+FILES:fuse-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME:fuse-utils = "1"
+DEBIAN_NOAUTONAME:${PN}-dbg = "1"
-do_configure_prepend() {
+do_configure:prepend() {
# Make this explicit so overriding base_sbindir propagates properly.
export MOUNT_FUSE_PATH="${base_sbindir}"
}
-do_install_append() {
+do_install:append() {
rm -rf ${D}/dev
# systemd class remove the sysv_initddir only if systemd_system_unitdir
@@ -71,7 +72,7 @@ do_install_append() {
fi
}
-do_install_append_class-nativesdk() {
+do_install:append:class-nativesdk() {
install -d ${D}${sysconfdir}
mv ${D}/etc/* ${D}${sysconfdir}/
rmdir ${D}/etc
diff --git a/meta-filesystems/recipes-support/python3-looseversion/python3-looseversion_1.3.0.bb b/meta-filesystems/recipes-support/python3-looseversion/python3-looseversion_1.3.0.bb
new file mode 100644
index 0000000000..323ddb4157
--- /dev/null
+++ b/meta-filesystems/recipes-support/python3-looseversion/python3-looseversion_1.3.0.bb
@@ -0,0 +1,14 @@
+# Copyright (C) 2024 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Version numbering for anarchists and software realists"
+HOMEPAGE = "https://github.com/effigies/looseversion"
+LICENSE = "PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5605fc335ce1bab614032468d0a1e00"
+
+DEPENDS = "python3-hatchling-native"
+SRC_URI[sha256sum] = "ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e"
+
+inherit pypi python_hatchling
+
+PYPI_PACKAGE = "looseversion"
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch
new file mode 100644
index 0000000000..c983733dcb
--- /dev/null
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch
@@ -0,0 +1,32 @@
+From 12ba95281d0bbea3576350d635b4dee0f953b94a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Nov 2022 18:38:07 -0800
+Subject: [PATCH] libau: Do not build LFS version of readdir
+
+rdu64 is providing largefile supported version of readdir and readdir_r
+however, we enable largefile support unconditionally in OE therefore its
+not needed since readdir() and readdir_r() are already LFS capable
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libau/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libau/Makefile b/libau/Makefile
+index 9ada831..1fd1ccc 100644
+--- a/libau/Makefile
++++ b/libau/Makefile
+@@ -30,7 +30,7 @@ STRIP ?= strip
+ all: ${LibSo}
+
+ ifeq (${Glibc},yes)
+-LibSoObj += rdu64.o
++#LibSoObj += rdu64.o
+
+ # this is unnecessary on 64bit system?
+ rdu64.c: rdu.c
+--
+2.38.1
+
diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
index b4819d8fbf..ad846af470 100644
--- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
+++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -1,42 +1,43 @@
SUMMARY = "Tools for managing AUFS mounts"
SECTION = "base"
HOMEPAGE = "http://aufs.sourceforge.net/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
DEPENDS = "coreutils-native aufs-util-native"
-DEPENDS_class-native = ""
+DEPENDS:class-native = ""
SRCREV = "8f35db59ef83078f87879ec2828e0bb45719e0ef"
SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.9 \
https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.9/include/uapi/linux/aufs_type.h;name=aufs_type \
file://aufs-util-don-t-strip-executables.patch \
file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
+ file://0001-libau-Do-not-build-LFS-version-of-readdir.patch \
"
SRC_URI[aufs_type.md5sum] = "b37129ef0703de72a852db7e48bdedc6"
SRC_URI[aufs_type.sha256sum] = "7ff6566adb9c7a3b6862cdc85a690ab546f1d0bc81ddd595fd663c0a69031683"
UPSTREAM_CHECK_COMMITS = "1"
-PV = "4.9+git${SRCPV}"
+PV = "4.9+git"
S = "${WORKDIR}/git"
export HOSTCC = "${BUILD_CC}"
-do_configure_prepend() {
+do_configure:prepend() {
# Replace sbin,bin paths with bitbake environment
sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \
-e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \
${S}/Makefile
}
-do_configure_append () {
+do_configure:append () {
install -d ${S}/include/linux/
cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h
}
-do_configure_append_class-target () {
+do_configure:append:class-target () {
for i in ver c2sh c2tmac; do
cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B}
done
@@ -46,7 +47,7 @@ do_compile () {
oe_runmake CPPFLAGS="-I${S}/include -I${S}/libau"
}
-do_compile_class-native () {
+do_compile:class-native () {
oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau" CC="${BUILD_CC}"
}
@@ -54,13 +55,13 @@ do_install () {
oe_runmake 'DESTDIR=${D}' install_sbin install_ubin install_etc
}
-do_install_class-native () {
+do_install:class-native () {
install -d ${D}${bindir}/aufs-util-${PV}
for i in ver c2sh c2tmac; do
install -m 755 $i ${D}${bindir}/aufs-util-${PV}/$i
done
}
-RRECOMMENDS_${PN}_class-target += "kernel-module-aufs"
+RRECOMMENDS:${PN}:class-target += "kernel-module-aufs"
BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb b/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb
new file mode 100644
index 0000000000..788c85b7ce
--- /dev/null
+++ b/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A FUSE filesystem for mounting a directory to another location"
+DESCRIPTION = "bindfs is a FUSE filesystem for mounting a directory to another location, similarly to mount --bind."
+HOMEPAGE = "https://bindfs.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "fuse"
+RDEPENDS:${PN} = "fuse"
+
+SRC_URI = "git://github.com/mpartel/bindfs;protocol=https;branch=master"
+SRCREV = "3f5e3cb1fcac5fb8034fa4712764317fab51ebe0"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb
new file mode 100644
index 0000000000..b4e5da6e20
--- /dev/null
+++ b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb
@@ -0,0 +1,58 @@
+
+SUMMARY = "Services for periodic btrfs maintenance tasks"
+DESCRIPTION = "A set of scripts supplementing the btrfs filesystem and aims \
+ to automate a few maintenance tasks. This means the scrub, balance, trim \
+ or defragmentation."
+HOMEPAGE = "https://github.com/kdave/btrfsmaintenance"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+SECTION = "base"
+
+SRC_URI = "git://github.com/kdave/${BPN};branch=master;protocol=https \
+ file://0001-change-sysconfig-path-to-etc-default.patch \
+ file://0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch \
+"
+SRCREV = "be42cb6267055d125994abd6927cf3a26deab74c"
+
+UPSTREAM_CHECK_URI = "https://github.com/kdave/${BPN}/tags"
+UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)"
+
+RDEPENDS:${PN} = "bash btrfs-tools"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -Dm0644 ${S}/btrfsmaintenance-refresh.path \
+ ${D}${systemd_system_unitdir}/btrfsmaintenance-refresh.path
+ install -Dm0644 ${S}/*.timer \
+ ${D}${systemd_system_unitdir}
+ install -Dm0644 ${S}/*.service \
+ ${D}${systemd_system_unitdir}
+
+ install -Dm0644 ${S}/btrfsmaintenance-functions \
+ ${D}${datadir}/${BPN}/btrfsmaintenance-functions
+ install -Dm0755 ${S}/*.sh \
+ ${D}${datadir}/${BPN}
+
+ install -Dm0644 ${S}/sysconfig.btrfsmaintenance \
+ ${D}${sysconfdir}/default/btrfsmaintenance
+}
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = " \
+ btrfs-scrub.timer \
+ btrfs-scrub.service \
+ btrfs-trim.timer \
+ btrfs-trim.service \
+ btrfs-balance.timer \
+ btrfs-balance.service \
+ btrfs-defrag.timer \
+ btrfs-defrag.service \
+ btrfsmaintenance-refresh.service \
+ btrfsmaintenance-refresh.path \
+"
diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch
new file mode 100644
index 0000000000..d425206f0e
--- /dev/null
+++ b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch
@@ -0,0 +1,47 @@
+From b49dbe17e0d9ae463e5a34e6991aa2d3c70d2fb1 Mon Sep 17 00:00:00 2001
+From: Claudius Heine <ch@denx.de>
+Date: Wed, 11 May 2022 14:33:13 +0200
+Subject: [PATCH] change sysconfig path to /etc/default
+
+OE uses /etc/default for service configuration, not /etc/sysconfig which
+is used by SUSE and RedHat based distributions.
+
+Change the files accordingly
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Claudius Heine <ch@denx.de>
+---
+ btrfsmaintenance-refresh.path | 4 ++--
+ btrfsmaintenance-refresh.service | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/btrfsmaintenance-refresh.path b/btrfsmaintenance-refresh.path
+index d56ad11..f0b4132 100644
+--- a/btrfsmaintenance-refresh.path
++++ b/btrfsmaintenance-refresh.path
+@@ -1,8 +1,8 @@
+ [Unit]
+-Description=Watch /etc/sysconfig/btrfsmaintenance
++Description=Watch /etc/default/btrfsmaintenance
+
+ [Path]
+-PathChanged=/etc/sysconfig/btrfsmaintenance
++PathChanged=/etc/default/btrfsmaintenance
+
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service
+index 4ed1eb4..d6225a6 100644
+--- a/btrfsmaintenance-refresh.service
++++ b/btrfsmaintenance-refresh.service
+@@ -1,5 +1,5 @@
+ [Unit]
+-Description=Update cron periods from /etc/sysconfig/btrfsmaintenance
++Description=Update cron periods from /etc/default/btrfsmaintenance
+
+ [Service]
+ ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer
+--
+2.33.3
+
diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch
new file mode 100644
index 0000000000..0da7992a09
--- /dev/null
+++ b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch
@@ -0,0 +1,33 @@
+From 420ae0f395838b852ae8b8fe5528056c36dc0919 Mon Sep 17 00:00:00 2001
+From: Claudius Heine <ch@denx.de>
+Date: Wed, 11 May 2022 15:14:22 +0200
+Subject: [PATCH] add WantedBy directive to btrfsmaintenance-refresh.service
+
+Just trigger the service on the first boot, to configure services to the
+configuration file deployed in the package, afterwards disable the
+service, so that is only triggered when the configuration file has
+changed.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Claudius Heine <ch@denx.de>
+---
+ btrfsmaintenance-refresh.service | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service
+index d6225a6..58d0e09 100644
+--- a/btrfsmaintenance-refresh.service
++++ b/btrfsmaintenance-refresh.service
+@@ -3,4 +3,8 @@ Description=Update cron periods from /etc/default/btrfsmaintenance
+
+ [Service]
+ ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer
++ExecStart=systemctl disable btrfsmaintenance-refresh.service
+ Type=oneshot
++
++[Install]
++WantedBy=multi-user.target
+--
+2.33.3
+
diff --git a/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb b/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb
new file mode 100644
index 0000000000..1fa5e01874
--- /dev/null
+++ b/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb
@@ -0,0 +1,75 @@
+SUMMARY = "Set of GPL'ed utilities to ext2/ext3 filesystem."
+DESCRIPTION = "e2tools is a simple set of GPL'ed utilities to read, write, \
+and manipulate files in an ext2/ext3 filesystem. These utilities access a \
+filesystem directly using the ext2fs library. Can also be used on a Linux \
+machine to read/write to disk images or floppies without having to mount \
+them or have root access."
+HOMEPAGE = "https://github.com/e2tools/e2tools"
+SECTION = "base"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "coreutils e2fsprogs"
+
+PV = "0.1.0+git"
+
+SRC_URI = " \
+ git://github.com/e2tools/e2tools;protocol=https;branch=master \
+ file://run-ptest \
+"
+
+SRCREV = "fd092754a6b65c3a769f74f888668c066f09c36d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig ptest
+
+do_configure:prepend() {
+ git -C "${WORKDIR}/git" reset --hard HEAD
+
+ # To install ptest for this package, special configuration needs to be
+ # done before do_configure(). So, do_configure_ptest() which is scheduled
+ # after do_configure() cannot be used.
+
+ # We only do special configuration if we are installing ptest for this
+ # package.
+ if [ "${@d.getVar('PTEST_ENABLED')}" -eq "1" ]; then
+ # Since we guarantee run-time dependency when installing the ptest for
+ # this package, we do not need the check macros under section "checks
+ # for programs" in "configure.ac". Plus, these check macros set the
+ # ouput variables to incorrect values as these checks are performed on
+ # the host environment. Still, we need these variables outputted from
+ # these check macros. So, we insert the following lines to manually
+ # set these output variables to the correct value in "configure.ac".
+
+ # Note that HAVE_DD_COMMAND and HAVE_MKE2FS_COMMAND are only ever used
+ # in tests/Makefile-files which determines whether to include the test
+ # cases. As for output variables CHMOD, DD, and MKE2FS, they only
+ # point to the programs which test cases need to run. Since these
+ # commands are guaranteed to be present due to RDEPENDS and are
+ # guaranteed to be accessible under PATH environment variable on the
+ # target, we only need to specify the name of these programs.
+
+ perl -i -0777 -pe 's/(^dnl\s*=+\s*^dnl\s*Checks for compiler flags\s*^dnl\s*=+)/
+AC_SUBST([CHMOD], 'chmod')
+AC_SUBST([DD], 'dd')
+AC_SUBST([MKE2FS], 'mke2fs')
+AM_CONDITIONAL([HAVE_DD_COMMAND], [true])
+AM_CONDITIONAL([HAVE_MKE2FS_COMMAND], [true])
+\1/ms' "${WORKDIR}/git/configure.ac"
+ fi
+}
+
+do_install_ptest() {
+ rm -rf "${D}${PTEST_PATH}/*"
+ cp -r ../build "${D}${PTEST_PATH}"
+ cp -r "${S}/build-aux" "${D}${PTEST_PATH}/build"
+ cp -r "${S}" "${D}${PTEST_PATH}"
+ rm -rf ${D}${PTEST_PATH}/build/config.log ${D}${PTEST_PATH}/build/autom4te.cache \
+ ${D}${PTEST_PATH}/git/.git ${D}${PTEST_PATH}/git/autom4te.cache
+ sed -i -e 's;${RECIPE_SYSROOT};;g' ${D}${PTEST_PATH}/build/config.status
+}
+
+RDEPENDS:${PN}-ptest += "bash coreutils e2fsprogs e2tools gawk make perl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-filesystems/recipes-utils/e2tools/files/run-ptest b/meta-filesystems/recipes-utils/e2tools/files/run-ptest
new file mode 100644
index 0000000000..3d4dd9cf37
--- /dev/null
+++ b/meta-filesystems/recipes-utils/e2tools/files/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e
+
+make -C build check
diff --git a/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb b/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
deleted file mode 100644
index 7f804a708f..0000000000
--- a/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
-DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
-This package provides tools to create, check and label the filesystem. It \
-contains \
- - dumpexfat to dump properties of the filesystem \
- - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
- - exfatlabel to label a exFAT filesystem \
- - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
-"
-HOMEPAGE = "https://github.com/relan/exfat"
-SECTION = "universe/otherosfs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
-
-UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
-
-DEPENDS = "virtual/libc"
-
-inherit pkgconfig autotools
-
-SRC_URI[md5sum] = "f8928571b152455e828ca0bd42af8b73"
-SRC_URI[sha256sum] = "dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835"
diff --git a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb
new file mode 100644
index 0000000000..0dd5d8f5e7
--- /dev/null
+++ b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "exFAT filesystem userspace utilities"
+DESCRIPTION = "\
+As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is \
+created as an official userspace utilities that contain all of the standard \
+utilities for creating and fixing and debugging exfat filesystem in linux \
+system. The goal of exfatprogs is to provide high performance and quality \
+at the level of exfat utilities in windows. And this software is licensed \
+under the GNU General Public License Version 2."
+HOMEPAGE = "https://github.com/${BPN}/${BPN}"
+SECTION = "universe/otherosfs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "61d517231f8ec177eeb5955fd6edb89748d3f88ba412c48bcb32741b430e359a"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools
+
+RPROVIDES:${PN} = "exfat-utils"
+RCONFLICTS:${PN} = "exfat-utils"
+RREPLACES:${PN} = "exfat-utils"
diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch
new file mode 100644
index 0000000000..d4e3194e62
--- /dev/null
+++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch
@@ -0,0 +1,183 @@
+From 3c0314e1820afc9a98e890cc5f7973c3c81877f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 21 Dec 2022 18:23:03 -0800
+Subject: [PATCH] f2fs_io: Define _FILE_OFFSET_BITS=64
+
+Remove _LARGEFILE64_SOURCE, this is redundant when _FILE_OFFSET_BITS=64
+additionally it fixes build with musl because the detection logic for
+lseek64 fails because when using _LARGEFILE64_SOURCE musl also define's
+lseek64 as an alias to lseek
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-f2fs-devel/20221222022830.976309-2-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/libf2fs_io.c | 4 +++-
+ tools/f2fs_io/f2fs_io.c | 4 ++--
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+--- a/lib/libf2fs_io.c
++++ b/lib/libf2fs_io.c
+@@ -11,7 +11,9 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
++#ifndef _FILE_OFFSET_BITS
++#define _FILE_OFFSET_BITS 64
++#endif
+
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -67,22 +69,13 @@ static int __get_device_fd(__u64 *offset
+ return -1;
+ }
+
+-#ifndef HAVE_LSEEK64
+-typedef off_t off64_t;
+-
+-static inline off64_t lseek64(int fd, __u64 offset, int set)
+-{
+- return lseek(fd, offset, set);
+-}
+-#endif
+-
+ /* ---------- dev_cache, Least Used First (LUF) policy ------------------- */
+ /*
+ * Least used block will be the first victim to be replaced when max hash
+ * collision exceeds
+ */
+ static bool *dcache_valid; /* is the cached block valid? */
+-static off64_t *dcache_blk; /* which block it cached */
++static off_t *dcache_blk; /* which block it cached */
+ static uint64_t *dcache_lastused; /* last used ticks for cache entries */
+ static char *dcache_buf; /* cached block data */
+ static uint64_t dcache_usetick; /* current use tick */
+@@ -172,7 +165,7 @@ static int dcache_alloc_all(long n)
+ {
+ if (n <= 0)
+ return -1;
+- if ((dcache_blk = (off64_t *) malloc(sizeof(off64_t) * n)) == NULL
++ if ((dcache_blk = (off_t *) malloc(sizeof(off_t) * n)) == NULL
+ || (dcache_lastused = (uint64_t *)
+ malloc(sizeof(uint64_t) * n)) == NULL
+ || (dcache_buf = (char *) malloc (F2FS_BLKSIZE * n)) == NULL
+@@ -257,7 +250,7 @@ static inline long dcache_relocate(long
+ dcache_config.num_cache_entry;
+ }
+
+-static long dcache_find(off64_t blk)
++static long dcache_find(off_t blk)
+ {
+ register long n = dcache_config.num_cache_entry;
+ register unsigned m = dcache_config.max_hash_collision;
+@@ -278,10 +271,10 @@ static long dcache_find(off64_t blk)
+ }
+
+ /* Physical read into cache */
+-static int dcache_io_read(int fd, long entry, off64_t offset, off64_t blk)
++static int dcache_io_read(int fd, long entry, off_t offset, off_t blk)
+ {
+- if (lseek64(fd, offset, SEEK_SET) < 0) {
+- MSG(0, "\n lseek64 fail.\n");
++ if (lseek(fd, offset, SEEK_SET) < 0) {
++ MSG(0, "\n lseek fail.\n");
+ return -1;
+ }
+ if (read(fd, dcache_buf + entry * F2FS_BLKSIZE, F2FS_BLKSIZE) < 0) {
+@@ -308,12 +301,12 @@ static int dcache_io_read(int fd, long e
+ * 1: cache not available (uninitialized)
+ * -1: error
+ */
+-static int dcache_update_rw(int fd, void *buf, off64_t offset,
++static int dcache_update_rw(int fd, void *buf, off_t offset,
+ size_t byte_count, bool is_write)
+ {
+- off64_t blk;
++ off_t blk;
+ int addr_in_blk;
+- off64_t start;
++ off_t start;
+
+ if (!dcache_initialized)
+ dcache_init(); /* auto initialize */
+@@ -377,13 +370,13 @@ static int dcache_update_rw(int fd, void
+ * return value: 1: cache not available
+ * 0: success, -1: I/O error
+ */
+-int dcache_update_cache(int fd, void *buf, off64_t offset, size_t count)
++int dcache_update_cache(int fd, void *buf, off_t offset, size_t count)
+ {
+ return dcache_update_rw(fd, buf, offset, count, true);
+ }
+
+ /* handles read into cache + read into buffer */
+-int dcache_read(int fd, void *buf, off64_t offset, size_t count)
++int dcache_read(int fd, void *buf, off_t offset, size_t count)
+ {
+ return dcache_update_rw(fd, buf, offset, count, false);
+ }
+@@ -395,7 +388,7 @@ int dev_read_version(void *buf, __u64 of
+ {
+ if (c.sparse_mode)
+ return 0;
+- if (lseek64(c.kd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(c.kd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (read(c.kd, buf, len) < 0)
+ return -1;
+@@ -537,10 +530,10 @@ int dev_read(void *buf, __u64 offset, si
+
+ /* err = 1: cache not available, fall back to non-cache R/W */
+ /* err = 0: success, err=-1: I/O error */
+- err = dcache_read(fd, buf, (off64_t)offset, len);
++ err = dcache_read(fd, buf, (off_t)offset, len);
+ if (err <= 0)
+ return err;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (read(fd, buf, len) < 0)
+ return -1;
+@@ -586,9 +579,9 @@ int dev_write(void *buf, __u64 offset, s
+ * dcache_update_cache() just update cache, won't do I/O.
+ * Thus even no error, we need normal non-cache I/O for actual write
+ */
+- if (dcache_update_cache(fd, buf, (off64_t)offset, len) < 0)
++ if (dcache_update_cache(fd, buf, (off_t)offset, len) < 0)
+ return -1;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(fd, buf, len) < 0)
+ return -1;
+@@ -602,7 +595,7 @@ int dev_write_block(void *buf, __u64 blk
+
+ int dev_write_dump(void *buf, __u64 offset, size_t len)
+ {
+- if (lseek64(c.dump_fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(c.dump_fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(c.dump_fd, buf, len) < 0)
+ return -1;
+@@ -627,7 +620,7 @@ int dev_fill(void *buf, __u64 offset, si
+ /* Only allow fill to zero */
+ if (*((__u8*)buf))
+ return -1;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(fd, buf, len) < 0)
+ return -1;
+--- a/tools/f2fs_io/f2fs_io.c
++++ b/tools/f2fs_io/f2fs_io.c
+@@ -12,8 +12,8 @@
+ #ifndef _LARGEFILE_SOURCE
+ #define _LARGEFILE_SOURCE
+ #endif
+-#ifndef _LARGEFILE64_SOURCE
+-#define _LARGEFILE64_SOURCE
++#ifndef _FILE_OFFSET_BITS
++#define _FILE_OFFSET_BITS 64
+ #endif
+ #ifndef O_LARGEFILE
+ #define O_LARGEFILE 0
diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.14.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb
index d0b299f0b3..997fa1240a 100644
--- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.14.0.bb
+++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb
@@ -1,14 +1,15 @@
SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
# to provide libuuid
DEPENDS = "util-linux"
-SRCREV = "d41dcbdf46dc3841cd0a0507e6573e38cb6c55bb"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+SRCREV = "06c027abc6153c4a97cba5317844e8dcaaee3cf7"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git;branch=master \
+ file://0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Replace-std-ptr_fun-for-c-17.patch b/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Replace-std-ptr_fun-for-c-17.patch
new file mode 100644
index 0000000000..277a368b67
--- /dev/null
+++ b/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Replace-std-ptr_fun-for-c-17.patch
@@ -0,0 +1,48 @@
+From 455001cb0112f7324ab50f555aa5ed5eae1bb93b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 16 Jan 2023 19:23:18 -0800
+Subject: [PATCH] Replace std::ptr_fun for c++17
+
+std::ptr_fun was deprecated in C++11, and removed completely in C++17.
+Similarly, std::not1 is deprecated since C++17.
+
+Modern compilers like clang >= 16 have started to notice it
+
+src/FatUtils.h:41:46: error: use of undeclared identifier 'ptr_fun'
+| s.erase(find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end());
+
+Therefore replace ptr_fun with lambda
+
+Also use 'unsigned char' parameter to std::isspace, for reason see [1]
+
+[1] https://en.cppreference.com/w/cpp/string/byte/isspace#Notes
+
+Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/36]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/FatUtils.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/FatUtils.h b/src/FatUtils.h
+index 5080f2a..a8d69ee 100644
+--- a/src/FatUtils.h
++++ b/src/FatUtils.h
+@@ -32,13 +32,13 @@ using namespace std;
+
+ // trim from start
+ static inline string ltrim(string s) {
+- s.erase(s.begin(), find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace))));
++ s.erase(s.begin(), find_if(s.begin(), s.end(), [](unsigned char c) {return !isspace(c);}));
+ return s;
+ }
+
+ // trim from end
+ static inline string rtrim(string s) {
+- s.erase(find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end());
++ s.erase(find_if(s.rbegin(), s.rend(), [](unsigned char c) {return !isspace(c);}).base(), s.end());
+ return s;
+ }
+
+--
+2.39.0
+
diff --git a/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch b/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch
index fd8e22abca..c612dd8d5d 100644
--- a/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch
+++ b/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch
@@ -8,8 +8,8 @@ of any of the GNU specific argp extensions. Include unistd.h directly to
allow building with musl on linux, whilst retaining compatibility with
glibc and other unices.
+Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/34]
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
-Upstream-status: Pending
---
src/fatcat.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/meta-filesystems/recipes-utils/fatcat/fatcat/0002-Enable-64bit-off_t.patch b/meta-filesystems/recipes-utils/fatcat/fatcat/0002-Enable-64bit-off_t.patch
new file mode 100644
index 0000000000..306e36d068
--- /dev/null
+++ b/meta-filesystems/recipes-utils/fatcat/fatcat/0002-Enable-64bit-off_t.patch
@@ -0,0 +1,71 @@
+From 0383fff94471278c92ef2ad5edc14abbb40a9acd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Dec 2022 18:54:55 -0800
+Subject: [PATCH] Enable 64bit off_t
+
+Ensure that off_t is always 64-bit by specifying -D_LARGEFILE_SOURCE
+-D_FILE_OFFSET_BITS=64 this will ensure that normal lseek() function is
+same as lseek64
+
+This helps compiling on latest musl where lseek64 and friends are not
+available
+
+Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/34]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 ++
+ src/core/FatSystem.cpp | 4 ++--
+ src/core/FatSystem.h | 2 --
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d6a2649..4cdd1fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,6 +34,8 @@ IF(DEFINE_WIN)
+ add_definitions(-D__WIN__)
+ ENDIF(DEFINE_WIN)
+
++add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64)
++
+ include_directories("${CMAKE_SOURCE_DIR}/src")
+
+ add_executable(fatcat "src/fatcat.cpp" ${ALL_SOURCES})
+diff --git a/src/core/FatSystem.cpp b/src/core/FatSystem.cpp
+index 79cda8c..1f52e82 100644
+--- a/src/core/FatSystem.cpp
++++ b/src/core/FatSystem.cpp
+@@ -90,7 +90,7 @@ int FatSystem::readData(unsigned long long address, char *buffer, int size)
+ cerr << "! Trying to read outside the disk" << endl;
+ }
+
+- lseek64(fd, globalOffset+address, SEEK_SET);
++ lseek(fd, globalOffset+address, SEEK_SET);
+
+ int n;
+ int pos = 0;
+@@ -112,7 +112,7 @@ int FatSystem::writeData(unsigned long long address, const char *buffer, int siz
+ throw string("Trying to write data while write mode is disabled");
+ }
+
+- lseek64(fd, globalOffset+address, SEEK_SET);
++ lseek(fd, globalOffset+address, SEEK_SET);
+
+ int n;
+ int pos = 0;
+diff --git a/src/core/FatSystem.h b/src/core/FatSystem.h
+index cd3c914..f9f2ca3 100644
+--- a/src/core/FatSystem.h
++++ b/src/core/FatSystem.h
+@@ -11,11 +11,9 @@
+
+ #ifdef __APPLE__
+ #define O_LARGEFILE 0
+-#define lseek64 lseek
+ #endif
+ #ifdef __WIN__
+ #define O_LARGEFILE 0
+-#define lseek64 lseek
+ #endif
+ using namespace std;
+
diff --git a/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb
index c72671739d..214b3f914c 100644
--- a/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.0.bb
+++ b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb
@@ -7,11 +7,13 @@ HOMEPAGE = "https://github.com/Gregwar/fatcat"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=57fbbfebd0dd1d6ff21b8cecb552a03f"
-SRC_URI = "git://github.com/Gregwar/fatcat.git \
+SRC_URI = "git://github.com/Gregwar/fatcat.git;branch=master;protocol=https \
file://0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch \
+ file://0002-Enable-64bit-off_t.patch \
+ file://0001-Replace-std-ptr_fun-for-c-17.patch \
"
-SRCREV = "b923172d97c578297964c062e3a92799e2a9eca4"
+SRCREV = "99cb99fc86eb1601ac7ae27f5bba23add04d2543"
S = "${WORKDIR}/git"
diff --git a/meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch b/meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch
index c754f21d0d..ac16766f6f 100644
--- a/meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch
+++ b/meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] build: Do not build .sgml file
It needs docbook-to-man tool which we do not have recipe for
-Upstream-Status: OE-Specific [needs native docbook-to-man tool]
+Upstream-Status: Inappropriate [needs native docbook-to-man tool]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
diff --git a/meta-filesystems/recipes-utils/fatresize/fatresize/0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch b/meta-filesystems/recipes-utils/fatresize/fatresize/0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch
new file mode 100644
index 0000000000..d0ecdcba4e
--- /dev/null
+++ b/meta-filesystems/recipes-utils/fatresize/fatresize/0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch
@@ -0,0 +1,34 @@
+From 69647e5d393a52ed3892eccc172ee750d6aaa45d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Dec 2022 21:08:25 -0800
+Subject: [PATCH] configure: Do not add -D_FILE_OFFSET_BITS to CFLAGS
+
+AC_SYS_LARGEFILE macro is in use and this will add a definition for
+_FILE_OFFSET_BITS in generated config.h which is already included as
+first include file in fatresize.c hence its not required to be added via
+CFLAGS, this also fixes a case when -D_FILE_OFFSET_BITS=64 is passed via
+CC from environment, where the autoconf macros set
+ac_cv_sys_file_offset_bits=no and that means we will have
+-D_FILE_OFFSET_BITS=no added to CFLAGS which messes up builds.
+
+Upstream-Status: Submitted [https://salsa.debian.org/parted-team/fatresize/-/merge_requests/3]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index d6e6cb2..4dcec28 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,7 +29,6 @@ AC_CHECK_FUNCS([memset strtoll])
+
+ # Check for LFS
+ AC_SYS_LARGEFILE
+-CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=${ac_cv_sys_file_offset_bits}"
+
+ dnl libparted
+ # hack
+--
+2.39.0
+
diff --git a/meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb b/meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb
index ec7e7f968b..cf7ac62be8 100644
--- a/meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb
+++ b/meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb
@@ -1,15 +1,14 @@
SUMMARY = "Resize FAT partitions using libparted"
SECTION = "console/tools"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "git://salsa.debian.org/parted-team/fatresize.git;protocol=https \
+SRC_URI = "git://salsa.debian.org/parted-team/fatresize.git;protocol=https;branch=master \
file://0001-build-Do-not-build-.sgml-file.patch \
+ file://0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch \
"
SRCREV = "12da22087de2ec43f0fe5af1237389e94619c483"
-PV = "1.1.0"
-
S = "${WORKDIR}/git"
DEPENDS = "parted"
diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb
new file mode 100644
index 0000000000..47613207af
--- /dev/null
+++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Maintenance tools for OverlayFS"
+HOMEPAGE = "https://github.com/kmxz/overlayfs-tools"
+LICENSE = "WTFPL"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f312a7c4d02230e8f2b537295d375c69"
+
+SRC_URI = "\
+ git://github.com/kmxz/overlayfs-tools.git;protocol=https;branch=master \
+"
+
+PV = "1.0+git"
+SRCREV = "b5e5a829895ac98ccfe4629fbfbd8b819262bd00"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+# Required to have the fts.h header for musl
+DEPENDS:append:libc-musl = " fts"
+
+EXTRA_OEMAKE += "'CC=${CC} -O2'"
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE:append:libc-musl = " LDLIBS=-lfts"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/overlay ${D}${bindir}
+ install -m 0755 ${B}/fsck.overlay ${D}${bindir}
+}
diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch
index 355e93a37b..6e3a6ecb1f 100644
--- a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch
+++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Fix compilation with GCC6
--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100
diff --git a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch
index f014a0f537..a65c0218ce 100644
--- a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch
+++ b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch
@@ -8,6 +8,8 @@ libdir.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
+Upstream-Status: Pending
+
etc/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
index 60f84f8f9c..20d6036686 100644
--- a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
+++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb
@@ -6,12 +6,12 @@ DEPENDS = "glib-2.0 \
intltool-native \
udev \
"
-RDEPENDS_${PN} = "udev bash"
+RDEPENDS:${PN} = "udev bash"
-LICENSE = "GPL-3.0"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-inherit autotools systemd
+inherit autotools pkgconfig systemd
SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \
file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \
@@ -24,5 +24,5 @@ SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-SYSTEMD_SERVICE_${PN} = "devmon@.service"
+SYSTEMD_SERVICE:${PN} = "devmon@.service"
SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch
deleted file mode 100644
index 08cf870169..0000000000
--- a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils/0001-Use-asm-type.h-for-kernel-types.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 517f841ccac59b0579e706dd768d6c7b1a7e7552 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 12 Mar 2021 10:37:21 -0800
-Subject: [PATCH] Use asm/type.h for kernel types
-
-This ensures that right headers for types is included otherwise it can
-conflict for some platforms e.g. ppc64 where it includes the underlying
-files conditionally
-
-asm/types.h is
-
-if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__)
- include <asm-generic/int-l64.h>
-else
- include <asm-generic/int-ll64.h>
-endif
-
-Upstream-Status: Submitted [https://github.com/westerndigitalcorporation/ufs-utils/pull/29]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ufs.h | 1 -
- ufs_cmds.h | 2 +-
- ufs_ffu.c | 1 -
- 3 files changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/ufs.h b/ufs.h
-index dc51367..0321c54 100644
---- a/ufs.h
-+++ b/ufs.h
-@@ -4,7 +4,6 @@
-
- #ifndef UFS_H_
- #define UFS_H_
--#include <asm-generic/int-ll64.h>
- #include "ioctl.h"
- #include "scsi_bsg_util.h"
-
-diff --git a/ufs_cmds.h b/ufs_cmds.h
-index 1e7e24d..5c5b045 100644
---- a/ufs_cmds.h
-+++ b/ufs_cmds.h
-@@ -5,7 +5,7 @@
- #define UFS_CMNDS_H_
-
- #include "options.h"
--#include <asm-generic/int-ll64.h>
-+#include <asm/types.h>
-
-
- enum field_width {
-diff --git a/ufs_ffu.c b/ufs_ffu.c
-index 2bcec44..99b479c 100644
---- a/ufs_ffu.c
-+++ b/ufs_ffu.c
-@@ -12,7 +12,6 @@
- #include <unistd.h>
- #include <stdint.h>
- #include <errno.h>
--#include <asm-generic/int-ll64.h>
-
- #include "ufs.h"
- #include "ufs_cmds.h"
---
-2.30.2
-
diff --git a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb
index e23c764a03..7126684e61 100644
--- a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_1.9.bb
+++ b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb
@@ -1,14 +1,13 @@
SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
BRANCH ?= "dev"
-SRCREV = "517c0b01e47d4441cc45be351509fb4c96843d5a"
+SRCREV = "18c0a8454ca1cf8969170049f8c628d88627beec"
-SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=git;branch=${BRANCH} \
- file://0001-Use-asm-type.h-for-kernel-types.patch \
-"
+SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \
+ "
UPSTREAM_CHECK_COMMITS = "1"
@@ -16,7 +15,7 @@ S = "${WORKDIR}/git"
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
+CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
do_configure() {
sed -i -e "s|-static$||g" ${S}/Makefile
@@ -28,5 +27,5 @@ do_install() {
PROVIDES += "ufs-tool"
-RPROVIDES_${PN} += "ufs-tool"
+RPROVIDES:${PN} += "ufs-tool"
diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch
new file mode 100644
index 0000000000..a44d3b7f39
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch
@@ -0,0 +1,45 @@
+From 45a532ad73b1ba27fc951657a33f39e8fa915765 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 10:02:20 -0700
+Subject: [PATCH] include libgen.h for basename API prototype
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20240325170941.3279129-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/main.c | 1 +
+ invutil/invidx.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/common/main.c b/common/main.c
+index 1db07d4..ca3b7d4 100644
+--- a/common/main.c
++++ b/common/main.c
+@@ -16,6 +16,7 @@
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <libgen.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+diff --git a/invutil/invidx.c b/invutil/invidx.c
+index 5874e8d..c4e2e21 100644
+--- a/invutil/invidx.c
++++ b/invutil/invidx.c
+@@ -19,6 +19,7 @@
+ #include <xfs/xfs.h>
+ #include <xfs/jdm.h>
+
++#include <libgen.h>
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+--
+2.44.0
+
diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb
index 3e18fba74f..9c0394918e 100644
--- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.9.bb
+++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb
@@ -6,16 +6,16 @@ DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
specified disk, tape or other storage medium."
HOMEPAGE = "http://oss.sgi.com/projects/xfs"
SECTION = "base"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
DEPENDS = "xfsprogs attr"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
file://remove-install-as-user.patch \
+ file://0001-include-libgen.h-for-basename-API-prototype.patch \
${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \
"
-SRC_URI[md5sum] = "086f7582875b14c17522867ffe3e202b"
-SRC_URI[sha256sum] = "55aeede6232ddce6c9e79e2af88d6f808534df1552eb2bfaf7fb85b92add6dd1"
+SRC_URI[sha256sum] = "f39c4c1b306b2dd7ec979c0e94d60fe69083d2ecf9af051cac5ef3bed772c74a"
inherit autotools-brokensep
@@ -24,8 +24,7 @@ PACKAGECONFIG ??= ""
PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
CFLAGS += "-D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
+TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
do_configure () {
export DEBUG="-DNDEBUG"
diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch
deleted file mode 100644
index 75b227ac19..0000000000
--- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch
new file mode 100644
index 0000000000..60be8bfa34
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch
@@ -0,0 +1,27 @@
+From f62d3e5cc1d4e416b97778059f0b3c20d777a4c2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 21 Dec 2022 17:40:11 -0800
+Subject: [PATCH] configure: Use AC_SYS_LARGERFILE autoconf macro
+
+Helps define largefile support on relevant platforms
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t]
+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 5a6bf185..a6f556ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -10,6 +10,9 @@ AC_PROG_INSTALL
+ LT_INIT
+
+ AC_PROG_CC
++
++AC_SYS_LARGEFILE
++
+ AC_ARG_VAR(BUILD_CC, [C compiler for build tools])
+ if test "${BUILD_CC+set}" != "set"; then
+ if test $cross_compiling = no; then
diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch
new file mode 100644
index 0000000000..940d63c010
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch
@@ -0,0 +1,724 @@
+From f260099fc45f0653aa4758d1d581e07f5b9c6a54 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 21 Dec 2022 17:43:07 -0800
+Subject: [PATCH] Replace off64_t/stat64 with off_t/stat
+
+When using AC_SYS_LARGEFILE, it will automatically add
+-D_FILE_OFFSET_BITS=64 to enable 64bit off_t and all lfs64 support
+
+helps compile on musl where off_t was always 64bit and lfs64 were never
+needed
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ copy/xfs_copy.c | 2 +-
+ fsr/xfs_fsr.c | 2 +-
+ io/bmap.c | 6 +++---
+ io/copy_file_range.c | 4 ++--
+ io/cowextsize.c | 6 +++---
+ io/fadvise.c | 2 +-
+ io/fiemap.c | 6 +++---
+ io/fsmap.c | 6 +++---
+ io/io.h | 10 +++++-----
+ io/madvise.c | 2 +-
+ io/mincore.c | 2 +-
+ io/mmap.c | 12 ++++++------
+ io/pread.c | 22 +++++++++++-----------
+ io/pwrite.c | 20 ++++++++++----------
+ io/reflink.c | 4 ++--
+ io/seek.c | 6 +++---
+ io/sendfile.c | 6 +++---
+ io/stat.c | 2 +-
+ io/sync_file_range.c | 2 +-
+ io/truncate.c | 2 +-
+ libxfs/rdwr.c | 8 ++++----
+ mdrestore/xfs_mdrestore.c | 2 +-
+ repair/prefetch.c | 2 +-
+ scrub/spacemap.c | 6 +++---
+ spaceman/freesp.c | 4 ++--
+ spaceman/trim.c | 2 +-
+ 26 files changed, 74 insertions(+), 74 deletions(-)
+
+diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
+index 0420649..98a578a 100644
+--- a/copy/xfs_copy.c
++++ b/copy/xfs_copy.c
+@@ -881,7 +881,7 @@ main(int argc, char **argv)
+ }
+ } else {
+ char *lb = memalign(wbuf_align, XFS_MAX_SECTORSIZE);
+- off64_t off;
++ off_t off;
+ ssize_t len;
+
+ /* ensure device files are sufficiently large */
+diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
+index ba02506..12fffbd 100644
+--- a/fsr/xfs_fsr.c
++++ b/fsr/xfs_fsr.c
+@@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd,
+ struct dioattr dio;
+ static xfs_swapext_t sx;
+ struct xfs_flock64 space;
+- off64_t cnt, pos;
++ off_t cnt, pos;
+ void *fbuf = NULL;
+ int ct, wc, wc_b4;
+ char ffname[SMBUFSZ];
+diff --git a/io/bmap.c b/io/bmap.c
+index 722a389..6182e1c 100644
+--- a/io/bmap.c
++++ b/io/bmap.c
+@@ -257,7 +257,7 @@ bmap_f(
+ #define FLG_BSW 0000010 /* Not on begin of stripe width */
+ #define FLG_ESW 0000001 /* Not on end of stripe width */
+ int agno;
+- off64_t agoff, bbperag;
++ off_t agoff, bbperag;
+ int foff_w, boff_w, aoff_w, tot_w, agno_w;
+ char rbuf[32], bbuf[32], abuf[32];
+ int sunit, swidth;
+@@ -267,8 +267,8 @@ bmap_f(
+ if (is_rt)
+ sunit = swidth = bbperag = 0;
+ else {
+- bbperag = (off64_t)fsgeo.agblocks *
+- (off64_t)fsgeo.blocksize / BBSIZE;
++ bbperag = (off_t)fsgeo.agblocks *
++ (off_t)fsgeo.blocksize / BBSIZE;
+ sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE;
+ swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE;
+ }
+diff --git a/io/copy_file_range.c b/io/copy_file_range.c
+index d154fa7..422e691 100644
+--- a/io/copy_file_range.c
++++ b/io/copy_file_range.c
+@@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len)
+ return 0;
+ }
+
+-static off64_t
++static off_t
+ copy_src_filesize(int fd)
+ {
+ struct stat st;
+@@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv)
+ }
+
+ if (!len_specified) {
+- off64_t sz;
++ off_t sz;
+
+ sz = copy_src_filesize(fd);
+ if (sz < 0 || (unsigned long long)sz > SIZE_MAX) {
+diff --git a/io/cowextsize.c b/io/cowextsize.c
+index f6b134d..00e40c6 100644
+--- a/io/cowextsize.c
++++ b/io/cowextsize.c
+@@ -50,10 +50,10 @@ static int
+ set_cowextsize(const char *path, int fd, long extsz)
+ {
+ struct fsxattr fsx;
+- struct stat64 stat;
++ struct stat stat;
+
+- if (fstat64(fd, &stat) < 0) {
+- perror("fstat64");
++ if (fstat(fd, &stat) < 0) {
++ perror("fstat");
+ exitcode = 1;
+ return 0;
+ }
+diff --git a/io/fadvise.c b/io/fadvise.c
+index 60cc0f0..0966c41 100644
+--- a/io/fadvise.c
++++ b/io/fadvise.c
+@@ -39,7 +39,7 @@ fadvise_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0, length = 0;
++ off_t offset = 0, length = 0;
+ int c, range = 0, advise = POSIX_FADV_NORMAL;
+
+ while ((c = getopt(argc, argv, "dnrsw")) != EOF) {
+diff --git a/io/fiemap.c b/io/fiemap.c
+index f0c74df..b41f71b 100644
+--- a/io/fiemap.c
++++ b/io/fiemap.c
+@@ -234,9 +234,9 @@ fiemap_f(
+ int tot_w = 5; /* 5 since its just one number */
+ int flg_w = 5;
+ __u64 last_logical = 0; /* last extent offset handled */
+- off64_t start_offset = 0; /* mapping start */
+- off64_t length = -1LL; /* mapping length */
+- off64_t range_end = -1LL; /* mapping end*/
++ off_t start_offset = 0; /* mapping start */
++ off_t length = -1LL; /* mapping length */
++ off_t range_end = -1LL; /* mapping end*/
+ size_t fsblocksize, fssectsize;
+ struct stat st;
+
+diff --git a/io/fsmap.c b/io/fsmap.c
+index 7db5184..bf11963 100644
+--- a/io/fsmap.c
++++ b/io/fsmap.c
+@@ -170,7 +170,7 @@ dump_map_verbose(
+ unsigned long long i;
+ struct fsmap *p;
+ int agno;
+- off64_t agoff, bperag;
++ off_t agoff, bperag;
+ int foff_w, boff_w, aoff_w, tot_w, agno_w, own_w;
+ int nr_w, dev_w;
+ char rbuf[40], bbuf[40], abuf[40], obuf[40];
+@@ -183,8 +183,8 @@ dump_map_verbose(
+ dev_w = 3;
+ nr_w = 4;
+ tot_w = MINTOT_WIDTH;
+- bperag = (off64_t)fsgeo->agblocks *
+- (off64_t)fsgeo->blocksize;
++ bperag = (off_t)fsgeo->agblocks *
++ (off_t)fsgeo->blocksize;
+ sunit = (fsgeo->sunit * fsgeo->blocksize);
+ swidth = (fsgeo->swidth * fsgeo->blocksize);
+
+diff --git a/io/io.h b/io/io.h
+index fe474fa..68e5e48 100644
+--- a/io/io.h
++++ b/io/io.h
+@@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv);
+ typedef struct mmap_region {
+ void *addr; /* address of start of mapping */
+ size_t length; /* length of mapping */
+- off64_t offset; /* start offset into backing file */
++ off_t offset; /* start offset into backing file */
+ int prot; /* protection mode of the mapping */
+ int flags; /* MAP_* flags passed to mmap() */
+ char *name; /* name of backing file */
+@@ -63,13 +63,13 @@ extern mmap_region_t *maptable; /* mmap'd region array */
+ extern int mapcount; /* #entries in the mapping table */
+ extern mmap_region_t *mapping; /* active mapping table entry */
+ extern int maplist_f(void);
+-extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int);
++extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int);
+
+ /*
+ * Various xfs_io helper routines/globals
+ */
+
+-extern off64_t filesize(void);
++extern off_t filesize(void);
+ extern int openfile(char *, struct xfs_fsop_geom *, int, mode_t,
+ struct fs_path *);
+ extern int addfile(char *, int , struct xfs_fsop_geom *, int,
+@@ -84,9 +84,9 @@ extern size_t io_buffersize;
+ extern int vectors;
+ extern struct iovec *iov;
+ extern int alloc_buffer(size_t, int, unsigned int);
+-extern int read_buffer(int, off64_t, long long, long long *,
++extern int read_buffer(int, off_t, long long, long long *,
+ int, int);
+-extern void dump_buffer(off64_t, ssize_t);
++extern void dump_buffer(off_t, ssize_t);
+
+ extern void attr_init(void);
+ extern void bmap_init(void);
+diff --git a/io/madvise.c b/io/madvise.c
+index bde3153..6e9c5b1 100644
+--- a/io/madvise.c
++++ b/io/madvise.c
+@@ -39,7 +39,7 @@ madvise_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, llength;
++ off_t offset, llength;
+ size_t length;
+ void *start;
+ int advise = MADV_NORMAL, c;
+diff --git a/io/mincore.c b/io/mincore.c
+index 67f1d6c..24147ac 100644
+--- a/io/mincore.c
++++ b/io/mincore.c
+@@ -17,7 +17,7 @@ mincore_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, llength;
++ off_t offset, llength;
+ size_t length;
+ size_t blocksize, sectsize;
+ void *start;
+diff --git a/io/mmap.c b/io/mmap.c
+index 7114404..128a2c0 100644
+--- a/io/mmap.c
++++ b/io/mmap.c
+@@ -64,11 +64,11 @@ print_mapping(
+ void *
+ check_mapping_range(
+ mmap_region_t *map,
+- off64_t offset,
++ off_t offset,
+ size_t length,
+ int pagealign)
+ {
+- off64_t relative;
++ off_t relative;
+
+ if (offset < mapping->offset) {
+ printf(_("offset (%lld) is before start of mapping (%lld)\n"),
+@@ -156,7 +156,7 @@ mmap_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
+ ssize_t length = 0, length2 = 0;
+ void *address = NULL;
+ char *filename;
+@@ -309,7 +309,7 @@ msync_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
+ ssize_t length;
+ void *start;
+ int c, flags = 0;
+@@ -402,7 +402,7 @@ mread_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, tmp, dumpoffset, printoffset;
++ off_t offset, tmp, dumpoffset, printoffset;
+ ssize_t length;
+ size_t dumplen, cnt = 0;
+ char *bp;
+@@ -567,7 +567,7 @@ mwrite_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, tmp;
++ off_t offset, tmp;
+ ssize_t length;
+ void *start;
+ char *sp;
+diff --git a/io/pread.c b/io/pread.c
+index 0f1d8b9..79990c6 100644
+--- a/io/pread.c
++++ b/io/pread.c
+@@ -116,7 +116,7 @@ alloc_buffer(
+ static void
+ __dump_buffer(
+ void *buf,
+- off64_t offset,
++ off_t offset,
+ ssize_t len)
+ {
+ int i, j;
+@@ -141,7 +141,7 @@ __dump_buffer(
+
+ void
+ dump_buffer(
+- off64_t offset,
++ off_t offset,
+ ssize_t len)
+ {
+ int i, l;
+@@ -164,7 +164,7 @@ dump_buffer(
+ static ssize_t
+ do_preadv(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count)
+ {
+ int vecs = 0;
+@@ -199,7 +199,7 @@ do_preadv(
+ static ssize_t
+ do_pread(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t buffer_size)
+ {
+@@ -212,13 +212,13 @@ do_pread(
+ static int
+ read_random(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ unsigned int seed,
+ int eof)
+ {
+- off64_t end, off, range;
++ off_t end, off, range;
+ ssize_t bytes;
+ int ops = 0;
+
+@@ -259,12 +259,12 @@ read_random(
+ static int
+ read_backward(
+ int fd,
+- off64_t *offset,
++ off_t *offset,
+ long long *count,
+ long long *total,
+ int eof)
+ {
+- off64_t end, off = *offset;
++ off_t end, off = *offset;
+ ssize_t bytes = 0, bytes_requested;
+ long long cnt = *count;
+ int ops = 0;
+@@ -319,7 +319,7 @@ read_backward(
+ static int
+ read_forward(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int verbose,
+@@ -353,7 +353,7 @@ read_forward(
+ int
+ read_buffer(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int verbose,
+@@ -368,7 +368,7 @@ pread_f(
+ char **argv)
+ {
+ size_t bsize;
+- off64_t offset;
++ off_t offset;
+ unsigned int zeed = 0;
+ long long count, total, tmp;
+ size_t fsblocksize, fssectsize;
+diff --git a/io/pwrite.c b/io/pwrite.c
+index 467bfa9..8d134c5 100644
+--- a/io/pwrite.c
++++ b/io/pwrite.c
+@@ -54,7 +54,7 @@ pwrite_help(void)
+ static ssize_t
+ do_pwritev(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ int pwritev2_flags)
+ {
+@@ -97,7 +97,7 @@ do_pwritev(
+ static ssize_t
+ do_pwrite(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t buffer_size,
+ int pwritev2_flags)
+@@ -110,13 +110,13 @@ do_pwrite(
+
+ static int
+ write_random(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ unsigned int seed,
+ long long *total,
+ int pwritev2_flags)
+ {
+- off64_t off, range;
++ off_t off, range;
+ ssize_t bytes;
+ int ops = 0;
+
+@@ -155,12 +155,12 @@ write_random(
+
+ static int
+ write_backward(
+- off64_t offset,
++ off_t offset,
+ long long *count,
+ long long *total,
+ int pwritev2_flags)
+ {
+- off64_t end, off = offset;
++ off_t end, off = offset;
+ ssize_t bytes = 0, bytes_requested;
+ long long cnt = *count;
+ int ops = 0;
+@@ -214,11 +214,11 @@ write_backward(
+
+ static int
+ write_buffer(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t bs,
+ int fd,
+- off64_t skip,
++ off_t skip,
+ long long *total,
+ int pwritev2_flags)
+ {
+@@ -253,7 +253,7 @@ write_buffer(
+
+ static int
+ write_once(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int pwritev2_flags)
+@@ -275,7 +275,7 @@ pwrite_f(
+ char **argv)
+ {
+ size_t bsize;
+- off64_t offset, skip = 0;
++ off_t offset, skip = 0;
+ long long count, total, tmp;
+ unsigned int zeed = 0, seed = 0xcdcdcdcd;
+ size_t fsblocksize, fssectsize;
+diff --git a/io/reflink.c b/io/reflink.c
+index 8e4f389..b6a3c05 100644
+--- a/io/reflink.c
++++ b/io/reflink.c
+@@ -98,7 +98,7 @@ dedupe_f(
+ int argc,
+ char **argv)
+ {
+- off64_t soffset, doffset;
++ off_t soffset, doffset;
+ long long count, total;
+ char *infile;
+ int condensed, quiet_flag;
+@@ -226,7 +226,7 @@ reflink_f(
+ int argc,
+ char **argv)
+ {
+- off64_t soffset, doffset;
++ off_t soffset, doffset;
+ long long count = 0, total;
+ char *infile = NULL;
+ int condensed, quiet_flag;
+diff --git a/io/seek.c b/io/seek.c
+index 6734ecb..ffe7439 100644
+--- a/io/seek.c
++++ b/io/seek.c
+@@ -63,8 +63,8 @@ static void
+ seek_output(
+ int startflag,
+ char *type,
+- off64_t start,
+- off64_t offset)
++ off_t start,
++ off_t offset)
+ {
+ if (offset == -1) {
+ if (errno == ENXIO) {
+@@ -92,7 +92,7 @@ seek_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, start;
++ off_t offset, start;
+ size_t fsblocksize, fssectsize;
+ int c;
+ int current; /* specify data or hole */
+diff --git a/io/sendfile.c b/io/sendfile.c
+index a003bb5..2ce569c 100644
+--- a/io/sendfile.c
++++ b/io/sendfile.c
+@@ -34,12 +34,12 @@ sendfile_help(void)
+
+ static int
+ send_buffer(
+- off64_t offset,
++ off_t offset,
+ size_t count,
+ int fd,
+ long long *total)
+ {
+- off64_t off = offset;
++ off_t off = offset;
+ ssize_t bytes, bytes_remaining = count;
+ int ops = 0;
+
+@@ -66,7 +66,7 @@ sendfile_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0;
++ off_t offset = 0;
+ long long count, total;
+ size_t blocksize, sectsize;
+ struct timeval t1, t2;
+diff --git a/io/stat.c b/io/stat.c
+index b57f9ee..e8f68dc 100644
+--- a/io/stat.c
++++ b/io/stat.c
+@@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd;
+ static cmdinfo_t statfs_cmd;
+ static cmdinfo_t statx_cmd;
+
+-off64_t
++off_t
+ filesize(void)
+ {
+ struct stat st;
+diff --git a/io/sync_file_range.c b/io/sync_file_range.c
+index 94285c2..2375a06 100644
+--- a/io/sync_file_range.c
++++ b/io/sync_file_range.c
+@@ -30,7 +30,7 @@ sync_range_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0, length = 0;
++ off_t offset = 0, length = 0;
+ int c, sync_mode = 0;
+ size_t blocksize, sectsize;
+
+diff --git a/io/truncate.c b/io/truncate.c
+index 1d04919..a74b613 100644
+--- a/io/truncate.c
++++ b/io/truncate.c
+@@ -16,7 +16,7 @@ truncate_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
+ size_t blocksize, sectsize;
+
+ init_cvtnum(&blocksize, &sectsize);
+diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
+index 0e33211..153007d 100644
+--- a/libxfs/rdwr.c
++++ b/libxfs/rdwr.c
+@@ -576,7 +576,7 @@ libxfs_balloc(
+
+
+ static int
+-__read_buf(int fd, void *buf, int len, off64_t offset, int flags)
++__read_buf(int fd, void *buf, int len, off_t offset, int flags)
+ {
+ int sts;
+
+@@ -638,7 +638,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags)
+
+ buf = bp->b_addr;
+ for (i = 0; i < bp->b_nmaps; i++) {
+- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ int len = BBTOB(bp->b_maps[i].bm_len);
+
+ error = __read_buf(fd, buf, len, offset, flags);
+@@ -797,7 +797,7 @@ err:
+ }
+
+ static int
+-__write_buf(int fd, void *buf, int len, off64_t offset, int flags)
++__write_buf(int fd, void *buf, int len, off_t offset, int flags)
+ {
+ int sts;
+
+@@ -863,7 +863,7 @@ libxfs_bwrite(
+ void *buf = bp->b_addr;
+
+ for (i = 0; i < bp->b_nmaps; i++) {
+- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ int len = BBTOB(bp->b_maps[i].bm_len);
+
+ bp->b_error = __write_buf(fd, buf, len, offset,
+diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
+index 8e3998d..334bdd2 100644
+--- a/mdrestore/xfs_mdrestore.c
++++ b/mdrestore/xfs_mdrestore.c
+@@ -160,7 +160,7 @@ verify_device_size(
+ } else {
+ /* ensure device is sufficiently large enough */
+ char lb[XFS_MAX_SECTORSIZE] = { 0 };
+- off64_t off;
++ off_t off;
+
+ off = nr_blocks * blocksize - sizeof(lb);
+ if (pwrite(dev_fd, lb, sizeof(lb), off) < 0)
+diff --git a/repair/prefetch.c b/repair/prefetch.c
+index 78c1e39..b0dd197 100644
+--- a/repair/prefetch.c
++++ b/repair/prefetch.c
+@@ -475,7 +475,7 @@ pf_batch_read(
+ {
+ struct xfs_buf *bplist[MAX_BUFS];
+ unsigned int num;
+- off64_t first_off, last_off, next_off;
++ off_t first_off, last_off, next_off;
+ int len, size;
+ int i;
+ int inode_bufs;
+diff --git a/scrub/spacemap.c b/scrub/spacemap.c
+index b6fd411..9cefe07 100644
+--- a/scrub/spacemap.c
++++ b/scrub/spacemap.c
+@@ -97,11 +97,11 @@ scan_ag_rmaps(
+ struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx;
+ struct scan_blocks *sbx = arg;
+ struct fsmap keys[2];
+- off64_t bperag;
++ off_t bperag;
+ int ret;
+
+- bperag = (off64_t)ctx->mnt.fsgeom.agblocks *
+- (off64_t)ctx->mnt.fsgeom.blocksize;
++ bperag = (off_t)ctx->mnt.fsgeom.agblocks *
++ (off_t)ctx->mnt.fsgeom.blocksize;
+
+ memset(keys, 0, sizeof(struct fsmap) * 2);
+ keys->fmr_device = ctx->fsinfo.fs_datadev;
+diff --git a/spaceman/freesp.c b/spaceman/freesp.c
+index 70dcdb5..f5177cb 100644
+--- a/spaceman/freesp.c
++++ b/spaceman/freesp.c
+@@ -62,7 +62,7 @@ static void
+ addtohist(
+ xfs_agnumber_t agno,
+ xfs_agblock_t agbno,
+- off64_t len)
++ off_t len)
+ {
+ long i;
+
+@@ -152,7 +152,7 @@ scan_ag(
+ struct fsmap *l, *h;
+ struct fsmap *p;
+ struct xfs_fd *xfd = &file->xfd;
+- off64_t aglen;
++ off_t aglen;
+ xfs_agblock_t agbno;
+ unsigned long long freeblks = 0;
+ unsigned long long freeexts = 0;
+diff --git a/spaceman/trim.c b/spaceman/trim.c
+index e9ed47e..727dd81 100644
+--- a/spaceman/trim.c
++++ b/spaceman/trim.c
+@@ -26,7 +26,7 @@ trim_f(
+ struct xfs_fd *xfd = &file->xfd;
+ struct xfs_fsop_geom *fsgeom = &xfd->fsgeom;
+ xfs_agnumber_t agno = 0;
+- off64_t offset = 0;
++ off_t offset = 0;
+ ssize_t length = 0;
+ ssize_t minlen = 0;
+ int aflag = 0;
diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
index bd2d025635..5bab162c85 100644
--- a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
+++ b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: xfsprogs-4.14.0/include/builddefs.in
===================================================================
--- xfsprogs-4.14.0.orig/include/builddefs.in
diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb
index c2d0595290..07c5e97dbb 100644
--- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb
+++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb
@@ -1,31 +1,32 @@
SUMMARY = "XFS Filesystem Utilities"
HOMEPAGE = "http://oss.sgi.com/projects/xfs"
SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LICENSE:libhandle = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
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-Check-for-MAP_SYNC-in-sys-mman.h.patch \
file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
file://0001-support-usrmerge.patch \
+ file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \
+ file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \
"
-SRC_URI[sha256sum] = "bec44445cf18f49e63971d4f27dc4e90a17b118b852714a1104b621ea30e3507"
-inherit autotools-brokensep
+SRC_URI[sha256sum] = "50ca2f4676df8fab4cb4c3ef3dd512d5551e6844d40a65a31d5b8e03593d22df"
+inherit autotools-brokensep pkgconfig
PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-DEPENDS += "util-linux libinih"
+DEPENDS += "util-linux libinih liburcu"
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+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:${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}"
+FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}"
EXTRA_OECONF = "--enable-gettext=no \
--enable-scrub=no \
@@ -61,7 +62,7 @@ do_configure () {
oe_runconf
}
-do_install_append() {
+do_install:append() {
oe_runmake 'DESTDIR=${D}' install-dev
rm ${D}${libdir}/*.la
rmdir --ignore-fail-on-non-empty ${D}${libdir}
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch
new file mode 100644
index 0000000000..5e230e2cfb
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch
@@ -0,0 +1,41 @@
+From 5facddc332c5ff8330f93c0a7e1b7f6d7bbd24a3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 5 Nov 2023 08:31:21 -0800
+Subject: [PATCH] add missing FTW_ macros when not available in libc
+
+Fixes build with musl
+
+| xfsfind.c:176:13: error: use of undeclared identifier 'FTW_STOP'
+| 176 | retval = FTW_STOP;
+| | ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/global.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/global.h b/src/global.h
+index 49570ef1..1c247488 100644
+--- a/src/global.h
++++ b/src/global.h
+@@ -190,4 +190,16 @@ roundup_64(unsigned long long x, unsigned int y)
+ return rounddown_64(x + y - 1, y);
+ }
+
++#ifndef FTW_ACTIONRETVAL
++#define FTW_ACTIONRETVAL 16
++#endif
++
++#ifndef FTW_CONTINUE
++#define FTW_CONTINUE 0
++#endif
++
++#ifndef FTW_STOP
++#define FTW_STOP 1
++#endif
++
+ #endif /* GLOBAL_H */
+--
+2.42.1
+
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch
new file mode 100644
index 0000000000..1570f3131f
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch
@@ -0,0 +1,84 @@
+From 37caab7a43da5ede0ff1eb700f0257a213ac4b18 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 10:46:50 -0700
+Subject: [PATCH 1/2] include libgen.h for basename API prototype
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-1-raj.khem@gmail.com/T/#t]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/splice-test.c | 1 +
+ src/stat_test.c | 1 +
+ src/t_ext4_dax_inline_corruption.c | 1 +
+ src/t_ext4_dax_journal_corruption.c | 1 +
+ src/t_mmap_collision.c | 1 +
+ 5 files changed, 5 insertions(+)
+
+diff --git a/src/splice-test.c b/src/splice-test.c
+index eb863673..7b7094f5 100644
+--- a/src/splice-test.c
++++ b/src/splice-test.c
+@@ -11,6 +11,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <err.h>
++#include <libgen.h>
+
+ #include <stdlib.h>
+ #include <stdio.h>
+diff --git a/src/stat_test.c b/src/stat_test.c
+index 95cfdc4f..77e1acdd 100644
+--- a/src/stat_test.c
++++ b/src/stat_test.c
+@@ -4,6 +4,7 @@
+ * Written by David Howells (dhowells@redhat.com)
+ */
+
++#include <libgen.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/src/t_ext4_dax_inline_corruption.c b/src/t_ext4_dax_inline_corruption.c
+index e1a39a6c..a40c5df5 100644
+--- a/src/t_ext4_dax_inline_corruption.c
++++ b/src/t_ext4_dax_inline_corruption.c
+@@ -2,6 +2,7 @@
+ /* Copyright (c) 2018 Intel Corporation. */
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/t_ext4_dax_journal_corruption.c b/src/t_ext4_dax_journal_corruption.c
+index ba7a96e4..53be10c2 100644
+--- a/src/t_ext4_dax_journal_corruption.c
++++ b/src/t_ext4_dax_journal_corruption.c
+@@ -2,6 +2,7 @@
+ /* Copyright (c) 2018 Intel Corporation. */
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/t_mmap_collision.c b/src/t_mmap_collision.c
+index c872f4e2..d9315fcf 100644
+--- a/src/t_mmap_collision.c
++++ b/src/t_mmap_collision.c
+@@ -15,6 +15,7 @@
+ */
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <pthread.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+--
+2.44.0
+
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch
new file mode 100644
index 0000000000..20095c86ab
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch
@@ -0,0 +1,42 @@
+From 052818e91314b797d96d87672c60f6784160f935 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 10:50:59 -0700
+Subject: [PATCH 2/2] Add missing STATX_ATTR_* defines from musl sys/stat.h
+
+These defines are not provided by sys/stat.h on musl but are
+in glibc's sys/stat.h, therefore to compile the tests on musl
+based systems add the missing defines from linux/stat.h
+if they are not provided
+
+Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-2-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/statx.h | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/statx.h b/src/statx.h
+index 3f239d79..12599f5b 100644
+--- a/src/statx.h
++++ b/src/statx.h
+@@ -12,6 +12,18 @@
+ #define AT_STATX_DONT_SYNC 0x4000 /* - Don't sync attributes with the server */
+ #endif
+
++#ifndef STATX_ATTR_COMPRESSED
++#define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */
++#define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */
++#define STATX_ATTR_APPEND 0x00000020 /* [I] File is append-only */
++#define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */
++#define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */
++#define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */
++#define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */
++#define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */
++#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */
++#endif
++
+ #ifndef AT_NO_AUTOMOUNT
+ #define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount traversal */
+ #endif
+--
+2.44.0
+
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
new file mode 100644
index 0000000000..e823297343
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch
@@ -0,0 +1,31 @@
+From 79c4715a46b80653eb98b61731c094c85e969220 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 14 Aug 2022 13:33:05 -0700
+Subject: [PATCH] Drop detached_mounts_propagation and remove sys/mount.h from
+ vfs/utils.c
+
+with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here
+linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h
+for the mount() API prototype. Until thats resolved lets not build this
+testcase
+
+Upstream-Status: Inappropriate [Libc specific Workaround]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index e7442487..970f087a 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -33,7 +33,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
+ dio-invalidate-cache stat_test t_encrypted_d_revalidate \
+ attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \
+ fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \
+- detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \
++ ext4_resize t_readdir_3 splice2pipe \
+ uuid_ioctl t_snapshot_deleted_subvolume
+
+ EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb
new file mode 100644
index 0000000000..c8a80523dd
--- /dev/null
+++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb
@@ -0,0 +1,67 @@
+SUMMARY = "File system QA test suite"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
+
+SRCREV = "088e5bd4cb6d7295612430a56ae84ff5c8f54730"
+SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
+SRCREV_FORMAT = "default_unionmount"
+
+SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master \
+ git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
+ file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \
+ file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
+ file://0001-include-libgen.h-for-basename-API-prototype.patch \
+ file://0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# brokensep because m4/package_globals.m4 calls ". ./VERSION" (and that's not the only issue)
+inherit autotools-brokensep useradd
+
+DEPENDS += "xfsprogs acl"
+RDEPENDS:${PN} += "\
+ bash \
+ bc \
+ coreutils \
+ e2fsprogs \
+ e2fsprogs-tune2fs \
+ e2fsprogs-resize2fs \
+ libaio \
+ libcap-bin \
+ overlayfs-tools \
+ perl \
+ python3 \
+ python3-core \
+ xfsprogs \
+ acl \
+ gawk \
+"
+
+USERADD_PACKAGES = "${PN}"
+# these users are necessary to run the tests
+USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
+
+EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
+
+TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+
+do_configure:prepend() {
+ # this is done by Makefile configure target, but we don't call it in do_configure
+ cp -a ${S}/include/install-sh .
+}
+
+do_install() {
+ # otherwise install-sh duplicates DESTDIR prefix
+ export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}"
+ oe_runmake install
+
+ unionmount_target_dir=${D}${prefix}/xfstests/unionmount-testsuite
+ install -d $unionmount_target_dir/tests
+ install ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
+ install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
+ install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
+ install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
+}
+
+FILES:${PN} += "${prefix}/xfstests"
diff --git a/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb b/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb
deleted file mode 100644
index 75b66d9230..0000000000
--- a/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \
-into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \
-manipulation of such filesystems"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "a5e3dc4e0b92be6837f9ed6cbf7f9df5"
-SRC_URI[sha256sum] = "91663d61bee61ff790b3f6861fdf57c54af0e238ab14f297b55bae8ab5d17684"
-
-PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
-PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
-PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr,"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2,"
-PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline,"
-
-inherit autotools-brokensep pkgconfig features_check
-
-do_configure_prepend () {
- touch NEWS
-}
-
-RDEPENDS_${PN} = "tk"
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"