diff options
Diffstat (limited to 'meta-filesystems')
93 files changed, 2841 insertions, 902 deletions
diff --git a/meta-filesystems/README b/meta-filesystems/README.md index 97d0e94bfe..78a4429ce2 100644 --- a/meta-filesystems/README +++ b/meta-filesystems/README.md @@ -9,9 +9,6 @@ Dependencies This layer depends on: - URI: git://git.openembedded.org/bitbake - branch: master - URI: git://git.openembedded.org/openembedded-core layers: meta branch: master @@ -27,13 +24,13 @@ Please submit any patches against the filesystems layer to the OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org) with '[meta-filesystems]' in the subject. -Layer maintainer: Armin Kuster <akuster808@gmail.com> +Layer maintainer: Khem Raj <raj.khem@gmail.com> When sending single patches, please use something like: git send-email -1 -M \ --to openembedded-devel@lists.openembedded.org \ - --subject-prefix=meta-filesystems][PATCH + --subject-prefix='meta-filesystems][PATCH' Table of Contents @@ -102,4 +99,3 @@ II. Misc --- xfsprogs --- It provides XFS filesystem utilities. - diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf index dbcff42d44..9602aa9e1a 100644 --- a/meta-filesystems/conf/layer.conf +++ b/meta-filesystems/conf/layer.conf @@ -7,7 +7,7 @@ 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 @@ -15,4 +15,4 @@ LAYERVERSION_filesystems-layer = "1" LAYERDEPENDS_filesystems-layer = "core openembedded-layer" -LAYERSERIES_COMPAT_filesystems-layer = "sumo" +LAYERSERIES_COMPAT_filesystems-layer = "mickledore" 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.4.bb b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb new file mode 100644 index 0000000000..f263b51350 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.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] = "2d89846d43880f17fa591c53b3bea42ffb803628e4e630c680fc2c9184f79132" + +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.4.bb b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb new file mode 100644 index 0000000000..1754db7f70 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.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] = "aaa0ed80a7501979316f505b0b017f29cba0ea5463b751143bad2c360215a88e" + +DEPENDS = "acl zlib" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb index 99bf2bed41..ac18fe90fe 100644 --- a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb +++ b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb @@ -3,19 +3,20 @@ DESCRIPTION = "fuse-exfat is a read and write driver implementing the \ extended file allocation table as a filesystem in userspace. A mounthelper \ is provided under the name mount.exfat-fuse. \ " -HOMEPAGE = "http://code.google.com/p/exfat/" +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 = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \ -" +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] = "fca71e6598f79d037a3c7c969cb5710c" -SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9" +SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff" +SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3" -S = "${WORKDIR}/${PN}-${PV}" 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 new file mode 100644 index 0000000000..5dc3ea6632 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "This is a filesystem client based on the HTTP using FUSE" +HOMEPAGE = "http://httpfs.sourceforge.net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=83f224c5182f148ec92e0b9f84b3c6c7" + +inherit pkgconfig + +DEPENDS += "fuse" +RDEPENDS:${PN} += "fuse" + +SRC_URI += "${SOURCEFORGE_MIRROR}/project/httpfs/httpfs2/httpfs2-${PV}.tar.gz" +SRC_URI[sha256sum] = "01cb4bb38deb344f540da6f1464dc7edbdeb51213ad810b8c9c282c1e17e0fc1" + +S = "${WORKDIR}/httpfs2-${PV}" + +do_compile() { + oe_runmake -C ${S} httpfs2 +} + +do_install() { + install -Dm 0755 ${S}/httpfs2 ${D}${bindir}/httpfs2 +} diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb deleted file mode 100644 index f0b58b9673..0000000000 --- a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7" -HOMEPAGE ="http://www.libimobiledevice.org/" - -DEPENDS = "fuse libimobiledevice" - -SRC_URI = " \ - http://www.libimobiledevice.org/downloads/ifuse-${PV}.tar.bz2 \ -" - -SRC_URI[md5sum] = "4152526b2ac3c505cb41797d997be14d" -SRC_URI[sha256sum] = "47835c8afb72588b3202fe0b206d7ea37a68663d9aa4eaf73f0a4bcb6215fc05" - -inherit autotools pkgconfig diff --git a/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb new file mode 100644 index 0000000000..c9702eb93e --- /dev/null +++ b/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.4.bb @@ -0,0 +1,13 @@ +SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7" +HOMEPAGE ="http://www.libimobiledevice.org/" + +DEPENDS = "fuse libimobiledevice" + +SRC_URI = "https://github.com/libimobiledevice/ifuse/releases/download/${PV}/ifuse-${PV}.tar.bz2" + +SRC_URI[md5sum] = "cd31fbd0ea945b2ff1e39eac8d198fdd" +SRC_URI[sha256sum] = "3550702ef94b2f5f16c7db91c6b3282b2aed1340665834a03e47458e09d98d87" + +inherit autotools pkgconfig diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb new file mode 100644 index 0000000000..c89b1e1362 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb @@ -0,0 +1,7 @@ +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.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb new file mode 100644 index 0000000000..ca21d2a0ed --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb @@ -0,0 +1,3 @@ +require meta-filesystems-image-base.bb + +IMAGE_INSTALL += "packagegroup-meta-filesystems" 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/0001-include-sys-sysmacros.h-for-major-minor-definition.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-include-sys-sysmacros.h-for-major-minor-definition.patch new file mode 100644 index 0000000000..86bb0b53af --- /dev/null +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-include-sys-sysmacros.h-for-major-minor-definition.patch @@ -0,0 +1,24 @@ +From 3b02acbb3d5bc93422a6821ce47568633ef4ae5e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 11 Aug 2018 15:09:24 -0700 +Subject: [PATCH] include sys/sysmacros.h for major/minor definition + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + mkfs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mkfs.c b/mkfs.c +index e612cbd..b6aa63d 100644 +--- a/mkfs.c ++++ b/mkfs.c +@@ -21,6 +21,7 @@ + #include <sys/ioctl.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <sys/sysmacros.h> + #define __USE_UNIX98 + #include <unistd.h> + #include <zlib.h> diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index 1b4d97d762..7d0a83609e 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -7,13 +7,14 @@ 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 \ " SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4" 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 addb4d3512..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,19 +25,29 @@ 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() { - # Standard mount will execute the program /sbin/mount.TYPE - # when called. Add the symbolic to let mount could find ntfs. - ln -sf mount.ntfs-3g ${D}/${base_sbindir}/mount.ntfs +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 rmdir ${D}${libdir}/ntfs-3g + + # Handle when usrmerge is in effect. Some files are installed to /sbin + # regardless of the value of ${base_sbindir}. + if [ "${base_sbindir}" != /sbin ] && [ -d ${D}/sbin ]; then + mkdir -p ${D}${base_sbindir} + mv ${D}/sbin/* ${D}${base_sbindir} + rmdir ${D}/sbin + fi } # 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 new file mode 100644 index 0000000000..870d0ef056 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Add-build-rule-for-README.patch @@ -0,0 +1,27 @@ +From dfeadd4eb43e829aafb0d10f611fa22ae81bfca4 Mon Sep 17 00:00:00 2001 +From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +Date: Sun, 20 Oct 2019 17:00:45 +0900 +Subject: [PATCH] Add build rule for README. + +fix do_configure error: +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/Makefile.am b/Makefile.am +index e0c4ad6..0449321 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -35,3 +35,4 @@ rpmcvs: preparerpm + @LN_S@ -f `pwd`/@PACKAGE@-@VERSION@.tar.gz ${RPMDIR}/SOURCES/@PACKAGE@-@VERSION@_cvs_`date +"%Y%m%d"`.tar.gz + cd ${RPMDIR}/SPECS && @RPMBUILD@ -ba @PACKAGE@.spec --define 'cvs 1' + ++README: README.md +-- +2.7.4 + diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch new file mode 100644 index 0000000000..6426ecb247 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-Fix-compilation-with-GCC10.patch @@ -0,0 +1,44 @@ +From a812202d22a2861318b8e39f1cd74cd222f8e76f Mon Sep 17 00:00:00 2001 +From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com> +Date: Tue, 9 Jun 2020 11:30:38 +0300 +Subject: [PATCH] Fix compilation with GCC10 + +Fixed compilation with -fno-common, which enabled in GCC 10 by default. +See https://bugs.gentoo.org/707438. + +Upstream-Status: Backport [https://github.com/owfs/owfs/pull/62] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + module/owserver/src/c/owserver.c | 2 ++ + module/owserver/src/include/owserver.h | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/module/owserver/src/c/owserver.c b/module/owserver/src/c/owserver.c +index db29988e..2ed29161 100644 +--- a/module/owserver/src/c/owserver.c ++++ b/module/owserver/src/c/owserver.c +@@ -36,6 +36,8 @@ + + #include "owserver.h" + ++pthread_mutex_t persistence_mutex ; ++ + /* --- Prototypes ------------ */ + static void SetupAntiloop(int argc, char **argv); + +diff --git a/module/owserver/src/include/owserver.h b/module/owserver/src/include/owserver.h +index 8be582f0..a257ed02 100644 +--- a/module/owserver/src/include/owserver.h ++++ b/module/owserver/src/include/owserver.h +@@ -18,7 +18,7 @@ + #include "ow.h" + #include "ow_connection.h" + +-pthread_mutex_t persistence_mutex ; ++extern pthread_mutex_t persistence_mutex ; + #define PERSISTENCELOCK _MUTEX_LOCK( persistence_mutex ) ; + #define PERSISTENCEUNLOCK _MUTEX_UNLOCK( persistence_mutex ) ; + +-- +2.28.0 + diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb deleted file mode 100644 index 21fd7e93e2..0000000000 --- a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb +++ /dev/null @@ -1,68 +0,0 @@ -SUMMARY = "1-Wire file system" -DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim" -HOMEPAGE = "http://www.owfs.org/" -SECTION = "console/network" - -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=a0bc427f423a41220ab79a0b392218bd \ - file://COPYING.LIB;md5=865c4bd642d9e04f43925ad7e929ae87" - -DEPENDS = "fuse virtual/libusb0" - -SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \ - file://owhttpd \ - file://owserver " -SRC_URI[md5sum] = "56ba145be208002e58775a7203369851" -SRC_URI[sha256sum] = "9d22dbff72d235476688c02669f7171b23e21dffadf40bbdd3b8263908218424" - -inherit autotools-brokensep update-rc.d - -EXTRA_OECONF = " \ - --with-fuseinclude=${STAGING_INCDIR} \ - --with-fuselib=${STAGING_LIBDIR} \ - --enable-owfs \ - --enable-owhttpd \ - --enable-w1 \ - --disable-swig \ - --disable-owtcl \ - --disable-owphp \ - --disable-owpython \ - --disable-owperl \ -" - -do_install_prepend() { - install -d ${D}${sysconfdir}/default/ - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd - install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver -} - -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" - -FILES_owftpd = "${bindir}/owftpd" -FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd" -FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver" -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-*" - -INITSCRIPT_PACKAGES = "owhttpd owserver" -INITSCRIPT_NAME_owserver = "owserver" -INITSCRIPT_NAME_owhttpd = "owhttpd" -INITSCRIPT_PARAMS_owserver = "defaults 20" -INITSCRIPT_PARAMS_owhttpd = "defaults 21" diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb new file mode 100644 index 0000000000..b641e4c24e --- /dev/null +++ b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p3.bb @@ -0,0 +1,81 @@ +SUMMARY = "1-Wire file system" +DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim" +HOMEPAGE = "http://www.owfs.org/" +SECTION = "console/network" + +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;branch=master;protocol=https \ + file://0001-Add-build-rule-for-README.patch \ + file://0001-Fix-compilation-with-GCC10.patch \ + file://owhttpd \ + file://owserver \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep update-rc.d pkgconfig systemd + +EXTRA_OECONF = " \ + --with-fuseinclude=${STAGING_INCDIR} \ + --with-fuselib=${STAGING_LIBDIR} \ + --enable-owfs \ + --enable-owhttpd \ + --enable-w1 \ + --disable-swig \ + --disable-owtcl \ + --disable-owphp \ + --disable-owpython \ + --disable-owperl \ +" + +do_install:prepend() { + install -d ${D}${sysconfdir}/default/ + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd + install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver +} + +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" + +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 \ + ${systemd_system_unitdir}/owserver.service \ + ${systemd_system_unitdir}/owserver.socket" +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" + +INITSCRIPT_PACKAGES = "owhttpd owserver" +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" diff --git a/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb new file mode 100644 index 0000000000..361972a45b --- /dev/null +++ b/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb @@ -0,0 +1,55 @@ +SUMMARY = "Meta-filesystem packagegroups" + +PACKAGE_ARCH = "${TUNE_PKGARCH}" +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = ' \ + packagegroup-meta-filesystems \ + packagegroup-meta-filesystems-support \ + packagegroup-meta-filesystems-utls \ +' + +RDEPENDS:packagegroup-meta-filesystems = "\ + packagegroup-meta-filesystems \ + packagegroup-meta-filesystems-support \ + packagegroup-meta-filesystems-utls \ +" + +RDEPENDS:packagegroup-meta-filesystems = "\ + ifuse \ + libisofs \ + libburn \ + libisoburn \ + logfsprogs \ + fuse-exfat \ + owfs \ + ${@bb.utils.contains("DISTRO_FEATURES", "pam", "smbnetfs", "", d)} \ + simple-mtpfs \ + yaffs2-utils \ + ntfs-3g-ntfsprogs \ + httpfs2 \ + unionfs-fuse \ + sshfs-fuse \ +" + +RDEPENDS:packagegroup-meta-filesystems-support = "\ + fuse3 \ + fuse \ + physfs \ +" + +RDEPENDS:packagegroup-meta-filesystems-utils = "\ + aufs-util \ + exfat-utils \ + fatcat \ + xfsdump \ + f2fs-tools \ + fatresize \ + udevil \ + ufs-utils \ + xfsprogs \ + xorriso \ +" + +EXCLUDE_FROM_WORLD = "1" 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 f85977fd59..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,13 +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 SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master" -SRCREV = "a7ab64c7e4d7aca155cbc7ce9412aaf68ef6e404" +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 55275669b1..d5e9040b9a 100644 --- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch +++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch @@ -1,9 +1,9 @@ -Index: git/configure.in -=================================================================== ---- git.orig/configure.ac 2014-06-18 16:06:16.040721349 +0000 -+++ git/configure.ac 2014-07-18 07:49:17.085552256 +0000 +Upstream-Status: Pending + +--- a/configure.ac ++++ b/configure.ac @@ -1,5 +1,5 @@ - AC_INIT([SMBNetFS],[0.6.1]) + 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 c72936c087..2d9eab1dd5 100644 --- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb +++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb @@ -4,22 +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 -inherit distro_features_check REQUIRED_DISTRO_FEATURES = "pam" -inherit autotools gitpkgv pkgconfig - -PKGV = "${GITPKGVTAG}" +PV = "0.6.3" -SRCREV = "bc6b94b015fdaf7c4dab56ccb996eecea8bc4373" +SRCREV = "736d5e599df3bebce3450125118ac2e70358b0c9" SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \ file://configure.patch \ @@ -30,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/files/0001-Makefile-fix-path-for-sshfs.1.patch b/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch deleted file mode 100644 index c434a03f0f..0000000000 --- a/meta-filesystems/recipes-filesystems/sshfs-fuse/files/0001-Makefile-fix-path-for-sshfs.1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e3cd445a4ee44a16faa646d7b642d02eea62b1f8 Mon Sep 17 00:00:00 2001 -From: Zoltan Kuscsik <zoltan.kuscsik@linaro.org> -Date: Fri, 1 Jul 2016 09:30:31 +0200 -Subject: [PATCH] Makefile: fix path for sshfs.1 - -Fix source path when build directory differs -from the source dir. - -Upstream-Status: Accepted - -https://github.com/libfuse/sshfs/pull/24 - ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index f003bae..3d8f9cb 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -24,7 +24,7 @@ sshfs.1: sshfs.1.in - $(AM_V_GEN)sed \ - -e 's,__IDMAP_DEFAULT__,$(IDMAP_DEFAULT),g' \ - -e 's,__UNMOUNT_COMMAND__,$(UNMOUNT_COMMAND),g' \ -- <sshfs.1.in >sshfs.1.tmp || exit 1; \ -+ <$(srcdir)/sshfs.1.in >sshfs.1.tmp || exit 1; \ - mv sshfs.1.tmp sshfs.1 - - if SSH_NODELAY_SO --- -1.9.1 - diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/run-ptest b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb deleted file mode 100644 index 64ccdace18..0000000000 --- a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE" -AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>" -HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html" -SECTION = "console/network" -LICENSE = "GPLv2" -DEPENDS = "glib-2.0 fuse" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/libfuse/sshfs;tag=b2fa7593586b141298e6159f40f521d2b0f4f894 \ - file://0001-Makefile-fix-path-for-sshfs.1.patch" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -FILES_${PN} += "${libdir}/sshnodelay.so" diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb new file mode 100644 index 0000000000..f91e682d24 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb @@ -0,0 +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 = "GPL-2.0-only" +DEPENDS = "glib-2.0 fuse3" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/libfuse/sshfs;branch=master;protocol=https" +SRCREV = "c91eb9a9a992f1a36c49a8e6f1146e45b5e1c8e7" +S = "${WORKDIR}/git" + +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/ +} diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch deleted file mode 100644 index 8f991cd3f7..0000000000 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 10411fa8658621822ae394160daffaced4a4cd7f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:07:29 -0700 -Subject: [PATCH] unionfs: Define IOCPARM_LEN if undefined - -musl does not have sysctl.h which defines this -for glibc - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/unionfs.c | 8 -------- - src/unionfs.h | 15 +++++++++++++++ - 2 files changed, 15 insertions(+), 8 deletions(-) - -diff --git a/src/unionfs.c b/src/unionfs.c -index a34d34e..51684a7 100644 ---- a/src/unionfs.c -+++ b/src/unionfs.c -@@ -21,14 +21,6 @@ - #include "opts.h" - #include "usyslog.h" - --#ifndef _IOC_SIZE --#ifdef IOCPARM_LEN --#define _IOC_SIZE(x) IOCPARM_LEN(x) --#else --#error "No mechanism for determining ioctl length found." --#endif --#endif -- - static struct fuse_opt unionfs_opts[] = { - FUSE_OPT_KEY("chroot=%s,", KEY_CHROOT), - FUSE_OPT_KEY("cow", KEY_COW), -diff --git a/src/unionfs.h b/src/unionfs.h -index 8f5e0bf..b02de5a 100644 ---- a/src/unionfs.h -+++ b/src/unionfs.h -@@ -17,6 +17,21 @@ - #define FUSE_META_FILE ".fuse_hidden" - #define FUSE_META_LENGTH 12 - -+#ifndef IOCPARM_MASK -+#define IOCPARM_MASK 0x1FFF -+#endif -+#ifndef IOCPARM_LEN -+#define IOCPARM_LEN(a) (((a) >> 16) & IOCPARM_MASK) -+#endif -+ -+#ifndef _IOC_SIZE -+#ifdef IOCPARM_LEN -+#define _IOC_SIZE(x) IOCPARM_LEN(x) -+#else -+#error "No mechanism for determining ioctl length found." -+#endif -+#endif -+ - // file access protection mask - #define S_PROT_MASK (S_ISUID| S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO) - --- -2.13.2 - diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb index 6bedf16b09..03ae418a49 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.2.bb @@ -6,11 +6,10 @@ 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 \ - file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \ " -SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" +SRCREV = "b0e3805d3d84d44ddf3e4e5238ae0332145d8157" DEPENDS = "fuse" 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_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index 317965ede8..6bf321e237 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -4,8 +4,10 @@ DESCRIPTION = "Tools for managing 'yaffs2' file systems." SECTION = "base" HOMEPAGE = "http://www.yaffs.net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=12;endline=14;md5=5f5464f9b3e981ca574e65b00e438561" +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}" @@ -17,13 +19,13 @@ SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://0001-define-loff_t-if-not-already-defined.patch \ " -SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578" +SRCREV = "9a6f486e56f927eeb8dc7e4e0d84f6bb95eeaa0f" 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() { @@ -41,3 +43,9 @@ do_install() { } BBCLASSEXTEND = "native" + +# Fixed make clean error: +#make -C /lib/modules/4.4.0-112-generic/build M=<snip> +#make: *** /lib/modules/4.4.0-112-generic/build: No such file or directory. Stop. +#make: *** [clean] Error 2 +CLEANBROKEN = "1" 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.0.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.bb new file mode 100644 index 0000000000..a62a8a39b1 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.0.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 = "009d3288dea524c7ad373b04b65bee8bb6f0bfea" +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 + +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/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/run-ptest b/meta-filesystems/recipes-support/fuse/fuse3/run-ptest new file mode 100644 index 0000000000..b63c4de0d9 --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/fuse3/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh + +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}' diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb new file mode 100644 index 0000000000..c8a820a09d --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb @@ -0,0 +1,80 @@ +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.xz \ +" +SRC_URI[sha256sum] = "126919d72b46b3e0eb58a9c6933a2a50c36f2ea69f61fe9e78bdba9f463ffa20" + +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 + 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.7.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb index 2996319008..cee4879eee 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.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,46 +14,50 @@ 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] = "9bd4ce8184745fd3d000ca2692adacdb" -SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874" +SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312" +SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5" UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz" + +CVE_PRODUCT = "fuse_project:fuse" 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-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg" +PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev" + +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-dbg += "${libdir}/.debug/libulock*" +FILES:libulockmgr = "${libdir}/libulockmgr.so.*" +FILES:libulockmgr-dev += "${libdir}/libulock*.la" # Forbid auto-renaming to libfuse-utils -FILES_fuse-utils = "${bindir} ${base_sbindir}" -FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug" -DEBIAN_NOAUTONAME_fuse-utils = "1" -DEBIAN_NOAUTONAME_fuse-utils-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() { - rm -rf ${D}${base_prefix}/dev +do_install:append() { + rm -rf ${D}/dev # systemd class remove the sysv_initddir only if systemd_system_unitdir # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES @@ -68,4 +72,10 @@ do_install_append() { fi } +do_install:append:class-nativesdk() { + install -d ${D}${sysconfdir} + mv ${D}/etc/* ${D}${sysconfdir}/ + rmdir ${D}/etc +} + BBCLASSEXTEND = "native nativesdk" diff --git a/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb b/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb deleted file mode 100644 index cc97dead56..0000000000 --- a/meta-filesystems/recipes-support/physfs/physfs_3.0.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "PhysicsFS is a library to provide abstract access to various archives" -HOMEAPAGE = "http://icculus.org/physfs" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2668e2fb051c3e564198e146a9a2d9f0" -DEPENDS = "readline zlib" - -inherit cmake - -PE = "1" - -SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2" -SRC_URI[md5sum] = "359f102bcbd62accf84ef32f4863255d" -SRC_URI[sha256sum] = "b77b9f853168d9636a44f75fca372b363106f52d789d18a2f776397bf117f2f1" diff --git a/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb b/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb new file mode 100644 index 0000000000..57cfdcdf82 --- /dev/null +++ b/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb @@ -0,0 +1,15 @@ +SUMMARY = "PhysicsFS is a library to provide abstract access to various archives" +HOMEPAGE = "http://icculus.org/physfs" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=96801882d1120239dcafbf888e821a6e" +DEPENDS = "readline zlib" + +inherit cmake + +PE = "1" + +SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2" +SRC_URI[md5sum] = "dc751294aaf59d1359bbe34e693d1d87" +SRC_URI[sha256sum] = "304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863" + +EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch deleted file mode 100644 index 6732dc42e3..0000000000 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Define-STRIP-weakly.patch +++ /dev/null @@ -1,37 +0,0 @@ -From daf04dc9ca1f2e4c65ec338ab439e0a792e1a8ac Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 5 Sep 2017 10:36:52 -0700 -Subject: [PATCH] libau: Define STRIP weakly - -STRIP can be set on environment to use cross version of strip utility -hardcoding to strip is not working in cross environment - -Upstream-Status: Submitted - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - libau/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libau/Makefile b/libau/Makefile -index 81520ac..c25eef2 100644 ---- a/libau/Makefile -+++ b/libau/Makefile -@@ -25,6 +25,7 @@ LibSoHdr = libau.h rdu.h - LibSoExport = $(addsuffix .exp, $(basename ${LibSoObj})) - LibSoExportErr = $(addsuffix .err, ${LibSoExport}) - LibSoVerScript = verscript -+STRIP ?= strip - - all: ${LibSo} - -@@ -77,7 +78,7 @@ ${LibSo}.${LibSoMajor}.${LibSoMinor}: ${LibSoObj} - ${CC} --shared -Wl,-soname,${LibSo}.${LibSoMajor} \ - -Wl,--version-script,${LibSoVerScript} \ - ${LDFLAGS} -o $@ $^ ${LDLIBS} -- strip -R EXP $@ -+ ${STRIP} -R EXP $@ - # readelf --syms --use-dynamic libau.so - - install_ulib: File = ${LibSo}.${LibSoMajor}.${LibSoMinor} 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 64eb94064c..fbf7753b02 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -1,43 +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 = "89afb1806c3d2eed8db2666ae254b77518ae3ceb" -SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.4 \ - https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.4/include/uapi/linux/aufs_type.h;name=aufs_type \ +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-Define-STRIP-weakly.patch \ + file://0001-libau-Do-not-build-LFS-version-of-readdir.patch \ " -SRC_URI[aufs_type.md5sum] = "f7b4a255dcb55fe7b0967f5f59b44f19" -SRC_URI[aufs_type.sha256sum] = "85bc8e4c1a94a7d526c382e4b047b4256cab8c4a65fc0396291707ad9a327a18" +SRC_URI[aufs_type.md5sum] = "b37129ef0703de72a852db7e48bdedc6" +SRC_URI[aufs_type.sha256sum] = "7ff6566adb9c7a3b6862cdc85a690ab546f1d0bc81ddd595fd663c0a69031683" UPSTREAM_CHECK_COMMITS = "1" -PV = "4.4+git${SRCPV}" +PV = "4.9+git${SRCPV}" 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 @@ -47,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}" } @@ -55,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} += "kernel-module-aufs" +RRECOMMENDS:${PN}:class-target += "kernel-module-aufs" BBCLASSEXTEND = "native" 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..5761844f81 --- /dev/null +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb @@ -0,0 +1,62 @@ + +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" + +DEPENDS = "btrfs-tools" + +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" + +S="${WORKDIR}/git" + +inherit allarch + +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/exfat-utils/exfat-utils_1.2.3.bb b/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb deleted file mode 100644 index 440f336184..0000000000 --- a/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb +++ /dev/null @@ -1,22 +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 = "http://code.google.com/p/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" - -DEPENDS = "virtual/libc" - -inherit pkgconfig autotools - -SRC_URI[md5sum] = "f4e564450aa8159e26dde2869563d242" -SRC_URI[sha256sum] = "80d3b3f21242d60d36a38a4ddb05cb7cc3a7d4eef5793e8314814937b938fcea" diff --git a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.bb b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.bb new file mode 100644 index 0000000000..3767ec48f5 --- /dev/null +++ b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.1.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] = "a6f3b1fb4bd37835c8f8cb421aac4eb75b880a51342b29850c4063973162227b" + +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/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch deleted file mode 100644 index cf844bf878..0000000000 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001 -From: Sven Ebenfeld <sven.ebenfeld@vaillant.de> -Date: Wed, 26 Nov 2014 10:36:44 +0100 -Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation - ---- - configure.ac | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0111e72..8c286d4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version, - [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]), - [Minor version for f2fs-tools]) - --AC_CHECK_FILE(.git, -- AC_DEFINE([F2FS_TOOLS_DATE], -- "m4_bpatsubst(f2fs_tools_gitdate, -- [\([0-9-]*\)\(\w\|\W\)*], [\1])", -- [f2fs-tools date based on Git commits]), - AC_DEFINE([F2FS_TOOLS_DATE], - "f2fs_tools_date", -- [f2fs-tools date based on Source releases])) -+ [f2fs-tools date based on Source releases]) - - AC_CONFIG_SRCDIR([config.h.in]) - AC_CONFIG_HEADER([config.h]) --- -1.8.1.rc3 - diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch deleted file mode 100644 index 9e561cb111..0000000000 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0002-Fix-mkfs-out-of-tree-builds.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0731eefd389e01419f78a115e1363ed0c28cfd3a Mon Sep 17 00:00:00 2001 -From: "Yong, Jonathan" <jonathan.yong@intel.com> -Date: Thu, 30 Mar 2017 08:03:37 +0000 -Subject: [PATCH] Fix mkfs out of tree builds - -Libraries are built in builddir, not srcdir, fix Makefile.am -accordingly. - -Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com> -Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> - -The patch was imported from the f2fs-tools repo -(git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git) -commit ID 0731eefd389e01419f78a115e1363ed0c28cfd3a. - -Upstream-Status: Accepted, expected to be included in 1.9.0. - -Signed-off-by: Yong, Jonathan <jonathan.yong@intel.com> - ---- - mkfs/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am -index 162a0cf..0ea8b49 100644 ---- a/mkfs/Makefile.am -+++ b/mkfs/Makefile.am -@@ -10,5 +10,5 @@ lib_LTLIBRARIES = libf2fs_format.la - libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c - libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD - libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include --libf2fs_format_la_LDFLAGS = -luuid -L$(top_srcdir)/lib -lf2fs \ -+libf2fs_format_la_LDFLAGS = -luuid -L$(top_builddir)/lib -lf2fs \ - -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE) --- -2.10.2 - 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.16.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb new file mode 100644 index 0000000000..997fa1240a --- /dev/null +++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Tools for Flash-Friendly File System (F2FS)" +HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3" + +# to provide libuuid +DEPENDS = "util-linux" + +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+)+)" + +S = "${WORKDIR}/git" + +inherit pkgconfig autotools + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb deleted file mode 100644 index 691cb6ea0e..0000000000 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.8.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Tools for Flash-Friendly File System (F2FS)" -HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3" - -# to provide libuuid -DEPENDS = "util-linux" - -SRCREV = "1e7aedf99b85d16f94d1d8ad2fcf846403bb2174" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \ - file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch \ - file://0002-Fix-mkfs-out-of-tree-builds.patch" -S = "${WORKDIR}/git" - -inherit pkgconfig autotools - -BBCLASSEXTEND = "native" 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 new file mode 100644 index 0000000000..c612dd8d5d --- /dev/null +++ b/meta-filesystems/recipes-utils/fatcat/fatcat/0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch @@ -0,0 +1,37 @@ +From 14ef83291096e019ebc48040cf63530a2574a26d Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Sun, 19 Jan 2020 16:03:21 +0000 +Subject: [PATCH] Use unistd.h not argp.h for all POSIX systems + +getopt(3) is found in unistd.h on all POSIX systems and we make no use +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> +--- + src/fatcat.cpp | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/fatcat.cpp b/src/fatcat.cpp +index ce23ca07bb99..b4427e465bde 100644 +--- a/src/fatcat.cpp ++++ b/src/fatcat.cpp +@@ -1,14 +1,10 @@ + #include <stdlib.h> +-#include<string.h> +-#ifdef __APPLE__ +-#include <unistd.h> +-#else ++#include <string.h> + #ifdef __WIN__ + #include <ctype.h> + #include "xgetopt/xgetopt.h" + #else +-#include <argp.h> +-#endif ++#include <unistd.h> + #endif + + #include <stdio.h> 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.1.bb b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb new file mode 100644 index 0000000000..214b3f914c --- /dev/null +++ b/meta-filesystems/recipes-utils/fatcat/fatcat_1.1.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "FAT filesystems explore, extract, repair, and forensic tool" +DESCRIPTION = "This tool is designed to manipulate FAT filesystems, in order to \ +explore, extract, repair, recover and forensic them. It currently supports \ +FAT12, FAT16 and FAT32." +HOMEPAGE = "https://github.com/Gregwar/fatcat" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=57fbbfebd0dd1d6ff21b8cecb552a03f" + +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 = "99cb99fc86eb1601ac7ae27f5bba23add04d2543" + +S = "${WORKDIR}/git" + +inherit cmake 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 new file mode 100644 index 0000000000..ac16766f6f --- /dev/null +++ b/meta-filesystems/recipes-utils/fatresize/fatresize/0001-build-Do-not-build-.sgml-file.patch @@ -0,0 +1,27 @@ +From b16373da7e5a45cf92df83b39e2fdee939439c84 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 17 Jul 2021 08:55:42 -0700 +Subject: [PATCH] build: Do not build .sgml file + +It needs docbook-to-man tool which we do not have recipe for + +Upstream-Status: Inappropriate [needs native docbook-to-man tool] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 2becb84..858df00 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,4 +14,4 @@ SUFFIXES = .1 + CLEANFILES = $(man_MANS) + + .sgml.1: +- docbook-to-man $< > $@ ++ @echo "Needs docbook-to-man" +-- +2.32.0 + 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 new file mode 100644 index 0000000000..cf7ac62be8 --- /dev/null +++ b/meta-filesystems/recipes-utils/fatresize/fatresize_1.1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Resize FAT partitions using libparted" +SECTION = "console/tools" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +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" + +S = "${WORKDIR}/git" + +DEPENDS = "parted" + +inherit autotools pkgconfig diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch b/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch new file mode 100644 index 0000000000..2c001834b6 --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch @@ -0,0 +1,32 @@ +From 8eeaee82dcfdf47f16ad880e416b722827f41bdb Mon Sep 17 00:00:00 2001 +From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> +Date: Mon, 23 May 2022 19:37:32 +0200 +Subject: [PATCH] Makefile: proper location of LDFLAGS + +Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> +--- +Upstream-Status: Pending + + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index e3c5207..14b155e 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ + CFLAGS = -Wall -g +-LFLAGS = -lm ++LDFLAGS = -lm + CC = gcc + + all: overlay +@@ -7,7 +7,7 @@ all: overlay + objects = fsck.o common.o lib.o check.o mount.o path.o overlayfs.o + + overlay: $(objects) +- $(CC) $(LFLAGS) $(objects) -o fsck.overlay ++ $(CC) $(objects) -o fsck.overlay $(LDFLAGS) + + .c.o: + $(CC) $(CFLAGS) -c $< diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb b/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb new file mode 100644 index 0000000000..9d58b9a63f --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "File system check utility for OverlayFS" +HOMEPAGE = "https://github.com/hisilicon/overlayfs-progs" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851" + +SRC_URI = "\ + git://github.com/hisilicon/overlayfs-progs.git;protocol=https;branch=master \ + file://0001-Makefile-proper-location-of-LDFLAGS.patch \ +" + +PV = "1.0+git${SRCPV}" +SRCREV = "e10ef686570d9c7eff42f52461593a5c15da56bd" + +S = "${WORKDIR}/git" +B = "${S}" + +# Required to have the fts.h header for musl +DEPENDS:append:libc-musl = " fts" +# Fix the missing fts libs when using musl +EXTRA_OEMAKE:append:libc-musl = " LDFLAGS='-lfts'" + +EXTRA_OEMAKE += "'CC=${CC} -O2' " +TARGET_CC_ARCH += "${LDFLAGS}" + +do_compile () { + oe_runmake +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${B}/fsck.overlay ${D}${bindir} +} diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch new file mode 100644 index 0000000000..ed84d92c7c --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch @@ -0,0 +1,43 @@ +From 81b4fbb5f52044cb348534c23f10b3884972b09b Mon Sep 17 00:00:00 2001 +From: Beat Schaer <beat.schaer@wabtec.com> +Date: Fri, 19 Mar 2021 08:18:58 +0100 +Subject: [PATCH] Fixed includes so that it compiles on Ubuntu 20.04 + +--- +Upstream-Status: Pending + + logic.c | 3 +-- + main.c | 3 ++- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/logic.c b/logic.c +index 97767f5..47ebfaa 100644 +--- a/logic.c ++++ b/logic.c +@@ -7,8 +7,7 @@ + #include <string.h> + #include <errno.h> + #include <unistd.h> +-#include <attr/xattr.h> +-#include <attr/attributes.h> ++#include <sys/xattr.h> + #include <fts.h> + #include <libgen.h> + #include "logic.h" +diff --git a/main.c b/main.c +index aa11239..f462b98 100644 +--- a/main.c ++++ b/main.c +@@ -12,7 +12,8 @@ + #include <linux/limits.h> + #include <stdbool.h> + #include <sys/stat.h> +-#include <attr/xattr.h> ++#include <sys/xattr.h> ++#include <errno.h> + #ifndef _SYS_STAT_H + #include <linux/stat.h> + #endif +-- +2.25.1 + diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch new file mode 100644 index 0000000000..8fbb250f04 --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch @@ -0,0 +1,33 @@ +From b4ff5886797e72d1c21da43261ca7648412f3186 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> +Date: Mon, 23 May 2022 19:53:21 +0200 +Subject: [PATCH] makefile: fix linking flags + +LDLIBS should be placed at the end according to +https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html + +Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> +--- +Upstream-Status: Pending + + makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makefile b/makefile +index fb1bed4..038c7ce 100644 +--- a/makefile ++++ b/makefile +@@ -1,11 +1,11 @@ + CFLAGS = -Wall -std=c99 +-LFLAGS = -lm ++LDLIBS = -lm + CC = gcc + + all: overlay + + overlay: main.o logic.o sh.o +- $(CC) $(LFLAGS) main.o logic.o sh.o -o overlay ++ $(CC) main.o logic.o sh.o -o overlay $(LDLIBS) + + main.o: main.c logic.h + $(CC) $(CFLAGS) -c main.c 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..eb6e4963a5 --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb @@ -0,0 +1,34 @@ +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 \ + file://0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch \ + file://0002-makefile-fix-linking-flags.patch \ +" + +PV = "1.0+git${SRCPV}" +SRCREV = "291c7f4a3fb548d06c572700650c2e3bccb0cd27" + +S = "${WORKDIR}/git" +B = "${S}" + +DEPENDS += "attr" +# 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_compile () { + oe_runmake +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${B}/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_3.12.3.bb b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_3.12.3.bb new file mode 100644 index 0000000000..342661c9a5 --- /dev/null +++ b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_3.12.3.bb @@ -0,0 +1,31 @@ +SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +BRANCH ?= "dev" + +SRCREV = "40c0bdfa7f4e922a4bcdf431ef72b321648d2d9f" + +SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \ + " + +UPSTREAM_CHECK_COMMITS = "1" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" + +CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE" + +do_configure() { + sed -i -e "s|-static$||g" ${S}/Makefile +} + +do_install() { + install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils +} + +PROVIDES += "ufs-tool" + +RPROVIDES:${PN} += "ufs-tool" + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch deleted file mode 100644 index 660468d731..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0001-Include-fcntl.h-for-O_EXCL.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8cf48da5f645dd7bbb1ccbeab5bb0964f40f17f7 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:18:47 -0700 -Subject: [PATCH 1/5] Include fcntl.h for O_EXCL - -Fix -error: 'O_CREAT' undeclared (first use in this function) - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - invutil/invidx.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/invutil/invidx.c b/invutil/invidx.c -index 67efdf7..325a9a1 100644 ---- a/invutil/invidx.c -+++ b/invutil/invidx.c -@@ -27,6 +27,7 @@ - #include <sys/stat.h> - #include <string.h> - #include <uuid/uuid.h> -+#include <fcntl.h> - - #include "types.h" - #include "mlog.h" --- -2.13.2 - diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch deleted file mode 100644 index 1fe1bde8bd..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f1e822d546e08cc195eaeb38ca172bd0c3800aa9 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 9 Sep 2017 07:48:48 -0700 -Subject: [PATCH] xfsdump: Use c99 defined int64_t instead of __int64_t - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Submitted - - common/hsmapi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/common/hsmapi.c b/common/hsmapi.c -index 6054773..0709dbe 100644 ---- a/common/hsmapi.c -+++ b/common/hsmapi.c -@@ -585,7 +585,7 @@ HsmModifyExtentMap( - struct getbmapx *bmap) - { - dmf_f_ctxt_t *dmf_f_ctxtp = (dmf_f_ctxt_t *)contextp; -- __int64_t length; -+ int64_t length; - - if (bmap[0].bmv_entries <= 0) { - return 1; /* caller must already be at EOF */ --- -2.14.1 - diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch new file mode 100644 index 0000000000..bfb25e87f7 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch @@ -0,0 +1,52 @@ +From fea8c4634469784c16211e2597411c18c72dfa4a Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 5 Mar 2020 14:36:14 +0800 +Subject: [PATCH] xfsdump: support usrmerge + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + dump/Makefile | 6 +----- + restore/Makefile | 6 +----- + 2 files changed, 2 insertions(+), 10 deletions(-) + +diff --git a/dump/Makefile b/dump/Makefile +index 66f00d3..cc2d973 100644 +--- a/dump/Makefile ++++ b/dump/Makefile +@@ -97,12 +97,8 @@ default: depend $(LTCOMMAND) + include $(BUILDRULES) + + install: default +- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR) +- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR) + $(INSTALL) -m 755 -d $(PKG_SBIN_DIR) +- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora +- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \ +- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND) ++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR) + install-dev: + + .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON) +diff --git a/restore/Makefile b/restore/Makefile +index ac3f8c8..3c46394 100644 +--- a/restore/Makefile ++++ b/restore/Makefile +@@ -111,12 +111,8 @@ default: depend $(LTCOMMAND) + include $(BUILDRULES) + + install: default +- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR) +- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR) + $(INSTALL) -m 755 -d $(PKG_SBIN_DIR) +- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora +- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \ +- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND) ++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR) + install-dev: + + .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON) +-- +2.7.4 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch b/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch deleted file mode 100644 index ed3e0a9e98..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0002-Replace-__uint32_t-with-uint32_t.patch +++ /dev/null @@ -1,122 +0,0 @@ -From f76d2142905f0e5bd830d5d576c235af1171c6ac Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:23:31 -0700 -Subject: [PATCH 2/5] Replace __uint32_t with uint32_t - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - common/content_inode.h | 4 ++-- - doc/xfsdump.html | 8 ++++---- - inventory/inv_oref.h | 2 +- - inventory/inv_priv.h | 4 ++-- - inventory/inventory.h | 2 +- - 5 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/common/content_inode.h b/common/content_inode.h -index a69a9a0..6936e05 100644 ---- a/common/content_inode.h -+++ b/common/content_inode.h -@@ -191,10 +191,10 @@ typedef struct bstat bstat_t; - * and using two 16bit values to hold new 32bit projid was choosen - * to retain compatibility with "old" filesystems). - */ --static inline __uint32_t -+static inline uint32_t - bstat_projid(struct bstat *bs) - { -- return (__uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; -+ return (uint32_t)bs->bs_projid_hi << 16 | bs->bs_projid_lo; - } - - -diff --git a/doc/xfsdump.html b/doc/xfsdump.html -index 9c6722e..f85128f 100644 ---- a/doc/xfsdump.html -+++ b/doc/xfsdump.html -@@ -1935,7 +1935,7 @@ The files are constructed like so: - <pre> - typedef struct invt_counter { - INVT_COUNTER_FIELDS -- __uint32_t ic_vernum;/* on disk version number for posterity */\ -+ uint32_t ic_vernum;/* on disk version number for posterity */\ - u_int ic_curnum;/* number of sessions/invindices recorded \ - so far */ \ - u_int ic_maxnum;/* maximum number of sessions/inv_indices \ -@@ -1975,7 +1975,7 @@ typedef struct invt_fstab { - <pre> - typedef struct invt_counter { - INVT_COUNTER_FIELDS -- __uint32_t ic_vernum;/* on disk version number for posterity */\ -+ uint32_t ic_vernum;/* on disk version number for posterity */\ - u_int ic_curnum;/* number of sessions/invindices recorded \ - so far */ \ - u_int ic_maxnum;/* maximum number of sessions/inv_indices \ -@@ -2012,7 +2012,7 @@ typedef struct invt_entry { - <pre> - typedef struct invt_sescounter { - INVT_COUNTER_FIELDS -- __uint32_t ic_vernum;/* on disk version number for posterity */\ -+ uint32_t ic_vernum;/* on disk version number for posterity */\ - u_int ic_curnum;/* number of sessions/invindices recorded \ - so far */ \ - u_int ic_maxnum;/* maximum number of sessions/inv_indices \ -@@ -2034,7 +2034,7 @@ typedef struct invt_seshdr { - off64_t sh_streams_off; /* offset to start of the set of - stream hdrs */ - time_t sh_time; /* time of the dump */ -- __uint32_t sh_flag; /* for misc flags */ -+ uint32_t sh_flag; /* for misc flags */ - u_char sh_level; /* dump level */ - u_char sh_pruned; /* pruned by invutil flag */ - char sh_padding[22]; -diff --git a/inventory/inv_oref.h b/inventory/inv_oref.h -index e16684d..38303a4 100644 ---- a/inventory/inv_oref.h -+++ b/inventory/inv_oref.h -@@ -46,7 +46,7 @@ - - - --typedef __uint32_t invt_objtype_t; -+typedef uint32_t invt_objtype_t; - - #define INVT_LOCKED 0x0001 - -diff --git a/inventory/inv_priv.h b/inventory/inv_priv.h -index 1690271..364ffbc 100644 ---- a/inventory/inv_priv.h -+++ b/inventory/inv_priv.h -@@ -120,7 +120,7 @@ typedef struct invt_seshdr { - off64_t sh_streams_off; /* offset to start of the set of - stream hdrs */ - time32_t sh_time; /* time of the dump */ -- __uint32_t sh_flag; /* for misc flags */ -+ uint32_t sh_flag; /* for misc flags */ - u_char sh_level; /* dump level */ - u_char sh_pruned; /* pruned by invutil flag */ - char sh_padding[22]; -@@ -184,7 +184,7 @@ typedef struct invt_entry { - - /* Cheap Inheritance, and an attempt to avoid a nested type */ - #define INVT_COUNTER_FIELDS \ -- __uint32_t ic_vernum;/* on disk version number for posterity */\ -+ uint32_t ic_vernum;/* on disk version number for posterity */\ - uint ic_curnum;/* number of sessions/invindices recorded \ - so far */ \ - uint ic_maxnum;/* maximum number of sessions/inv_indices \ -diff --git a/inventory/inventory.h b/inventory/inventory.h -index 134b9ba..c1d7403 100644 ---- a/inventory/inventory.h -+++ b/inventory/inventory.h -@@ -43,7 +43,7 @@ - /* length of labels, mntpts, etc */ - #define INV_STRLEN GLOBAL_HDR_STRING_SZ - --typedef __uint32_t inv_version_t; -+typedef uint32_t inv_version_t; - - /* This is the general inventory version. - */ --- -2.13.2 - diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch b/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch deleted file mode 100644 index 31303d8fa1..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0003-replace-use-of-SIGCLD-with-SIGCHLD.patch +++ /dev/null @@ -1,40 +0,0 @@ -From fcc0cf15a309947103a0695b8a1f4865b820eb5c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:26:03 -0700 -Subject: [PATCH 3/5] replace use of SIGCLD with SIGCHLD - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - common/main.c | 2 +- - doc/xfsdump.html | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/common/main.c b/common/main.c -index 3848499..faa66ee 100644 ---- a/common/main.c -+++ b/common/main.c -@@ -2225,7 +2225,7 @@ static sig_printmap_t sig_printmap[ ] = { - {SIGTERM, "SIGTERM"}, - {SIGUSR1, "SIGUSR1"}, - {SIGUSR2, "SIGUSR2"}, -- {SIGCLD, "SIGCLD"}, -+ {SIGCHLD, "SIGCHLD"}, - {SIGPWR, "SIGPWR"}, - {SIGURG, "SIGURG"}, - {SIGPOLL, "SIGPOLL"}, -diff --git a/doc/xfsdump.html b/doc/xfsdump.html -index f85128f..d96f037 100644 ---- a/doc/xfsdump.html -+++ b/doc/xfsdump.html -@@ -334,7 +334,7 @@ the ring buffer. It ignores signals and does not terminate until it - receives a RING_OP_DIE message. It then exits 0. - <p> - The main process sleeps waiting for any of its children to die --(ie. waiting for a SIGCLD). All children that it cares about (stream -+(ie. waiting for a SIGCHLD). All children that it cares about (stream - managers and ring buffer slaves) are registered through the child - manager abstraction. When a child dies wait status and other info is - stored with its entry in the child manager. main() ignores the deaths --- -2.13.2 - diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch b/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch deleted file mode 100644 index 62ea15b862..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0004-include-limit.h-for-PATH_MAX.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 98c7d96f0f2c6eddf60aa4a1a08d7d4467645930 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:28:10 -0700 -Subject: [PATCH 4/5] include limit.h for PATH_MAX - -fixed -var.c:42:12: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'? - char path[PATH_MAX];` - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - dump/var.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/dump/var.c b/dump/var.c -index 645caab..8156d37 100644 ---- a/dump/var.c -+++ b/dump/var.c -@@ -16,6 +16,7 @@ - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -+#include <limits.h> - #include <unistd.h> - #include <stdlib.h> - #include <sys/stat.h> --- -2.13.2 - diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch b/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch deleted file mode 100644 index fb6e467c93..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d95f494de1aa8123c74170ffebaed8ea89649da2 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 23:33:44 -0700 -Subject: [PATCH 5/5] include sys/types.h for u_int32_t in attr/attributes.h - -error: unknown type name 'u_int32_t' - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - restore/content.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/restore/content.c b/restore/content.c -index 7c4a81f..1d5de1b 100644 ---- a/restore/content.c -+++ b/restore/content.c -@@ -24,6 +24,7 @@ - #include <sys/param.h> - #include <sys/stat.h> - #include <sys/ioctl.h> -+#include <sys/types.h> - #include <attr/attributes.h> - #include <xfs/handle.h> - #include <time.h> --- -2.13.2 - diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb index 39f11890e1..9e595b9521 100644 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.7.bb +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb @@ -6,21 +6,15 @@ 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-fcntl.h-for-O_EXCL.patch \ - file://0002-Replace-__uint32_t-with-uint32_t.patch \ - file://0003-replace-use-of-SIGCLD-with-SIGCHLD.patch \ - file://0004-include-limit.h-for-PATH_MAX.patch \ - file://0005-include-sys-types.h-for-u_int32_t-in-attr-attributes.patch \ - file://0001-xfsdump-Use-c99-defined-int64_t-instead-of-__int64_t.patch \ + ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \ " -SRC_URI[md5sum] = "c6e91f2ac8b76c796db2d236f5ca5947" -SRC_URI[sha256sum] = "99e6d4df257ebc6d29ca9e970ca20672c2ea03481ad949bc68f98de3e4d56dce" +SRC_URI[sha256sum] = "f39c4c1b306b2dd7ec979c0e94d60fe69083d2ecf9af051cac5ef3bed772c74a" inherit autotools-brokensep @@ -29,8 +23,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-build-Check-for-sync_file_range-libc-function.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch deleted file mode 100644 index d8ff555319..0000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch +++ /dev/null @@ -1,82 +0,0 @@ -From ae7172194d3fbb563ff8bbe7c02d34f1bd0e5ec9 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 31 Jan 2018 21:28:53 -0800 -Subject: [PATCH] build: Check for sync_file_range libc function - -glibc 2.27 now has sync_file_range() - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - include/builddefs.in | 1 + - io/Makefile | 5 ++++- - io/io.h | 2 +- - io/sync_file_range.c | 3 +++ - 4 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/include/builddefs.in b/include/builddefs.in -index 92d5076..504225a 100644 ---- a/include/builddefs.in -+++ b/include/builddefs.in -@@ -105,6 +105,7 @@ HAVE_FIEMAP = @have_fiemap@ - HAVE_PREADV = @have_preadv@ - HAVE_PWRITEV2 = @have_pwritev2@ - HAVE_COPY_FILE_RANGE = @have_copy_file_range@ -+HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@ - HAVE_SYNC_FILE_RANGE = @have_sync_file_range@ - HAVE_SYNCFS = @have_syncfs@ - HAVE_READDIR = @have_readdir@ -diff --git a/io/Makefile b/io/Makefile -index 6725936..1876e95 100644 ---- a/io/Makefile -+++ b/io/Makefile -@@ -59,10 +59,13 @@ CFILES += inject.c resblks.c - LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS - endif - --ifeq ($(HAVE_COPY_FILE_RANGE),yes) -+ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes) - CFILES += copy_file_range.c -+LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE -+ifeq ($(HAVE_COPY_FILE_RANGE),yes) - LCFLAGS += -DHAVE_COPY_FILE_RANGE - endif -+endif - - ifeq ($(HAVE_SYNC_FILE_RANGE),yes) - CFILES += sync_file_range.c -diff --git a/io/io.h b/io/io.h -index 3862985..79ddc7b 100644 ---- a/io/io.h -+++ b/io/io.h -@@ -158,7 +158,7 @@ extern void fiemap_init(void); - #define fiemap_init() do { } while (0) - #endif - --#ifdef HAVE_COPY_FILE_RANGE -+#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE) - extern void copy_range_init(void); - #else - #define copy_range_init() do { } while (0) -diff --git a/io/sync_file_range.c b/io/sync_file_range.c -index 7e4f3e6..aafea01 100644 ---- a/io/sync_file_range.c -+++ b/io/sync_file_range.c -@@ -16,6 +16,7 @@ - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -+#ifndef HAVE_COPY_FILE_RANGE - #include "command.h" - #include "input.h" - #include "init.h" -@@ -104,3 +105,5 @@ sync_range_init(void) - - add_command(&sync_range_cmd); - } -+ -+#endif --- -2.16.1 - diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch new file mode 100644 index 0000000000..84f4f88e5f --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch @@ -0,0 +1,40 @@ +From e81633a276dd6a9f919e5e5c15481ac50a8e485d Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Fri, 30 Aug 2019 14:59:06 +0800 +Subject: [PATCH] support usrmerge + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + configure.ac | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4b7e4c8..f1afbd6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -110,8 +110,7 @@ AC_ARG_ENABLE(libicu, + # If the user specified a libdir ending in lib64 do not append another + # 64 to the library names. + # +-base_libdir=`basename "$libdir"` +-case $base_libdir in ++case `basename "$libdir"` in + lib64) + enable_lib64=no + esac +@@ -125,8 +124,8 @@ esac + # + case $exec_prefix:$prefix in + NONE:NONE | NONE:/usr | /usr:*) +- root_sbindir='/sbin' +- root_libdir="/${base_libdir}" ++ root_sbindir="${base_sbindir}" ++ root_libdir="${base_libdir}" + ;; + *) + root_sbindir="${sbindir}" +-- +2.7.4 + diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch new file mode 100644 index 0000000000..f924cd1a16 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch @@ -0,0 +1,33 @@ +From 11a42df394de3dc520e72a016296dcc6dea02a7a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 23 Aug 2018 05:33:57 +0000 +Subject: [PATCH] include include/xfs/linux.h after <sys/mman.h> + +This helps compiling with musl which goes ahead and undefines MAP_SYNC +for mips and other architectures where its not wired in kernel + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + io/mmap.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/io/mmap.c b/io/mmap.c +index dbfcca5..ca00df1 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -4,10 +4,11 @@ + * All Rights Reserved. + */ + +-#include "command.h" +-#include "input.h" + #include <sys/mman.h> + #include <signal.h> ++ ++#include "command.h" ++#include "input.h" + #include "init.h" + #include "io.h" + diff --git a/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..731c001e14 --- /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 79f6594..854fd7f 100644 +--- a/copy/xfs_copy.c ++++ b/copy/xfs_copy.c +@@ -888,7 +888,7 @@ main(int argc, char **argv) + } + } else { + char *lb[XFS_MAX_SECTORSIZE] = { NULL }; +- off64_t off; ++ off_t off; + + /* 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 27383ca..0b14bb7 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 64b7a66..5f42301 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, §size); +diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c +index d5aad3e..0faa05b 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; + +@@ -639,7 +639,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags) + fd = libxfs_device_to_fd(btp->bt_bdev); + 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); +@@ -798,7 +798,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; + +@@ -864,7 +864,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 7c1a66c..bb54e38 100644 +--- a/mdrestore/xfs_mdrestore.c ++++ b/mdrestore/xfs_mdrestore.c +@@ -116,7 +116,7 @@ perform_restore( + /* ensure device is sufficiently large enough */ + + char *lb[XFS_MAX_SECTORSIZE] = { NULL }; +- off64_t off; ++ off_t off; + + off = sb.sb_dblocks * sb.sb_blocksize - sizeof(lb); + if (pwrite(dst_fd, lb, sizeof(lb), off) < 0) +diff --git a/repair/prefetch.c b/repair/prefetch.c +index 017750e..35b5013 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 03440d3..00bee17 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 423568a..df878ce 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_4.14.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb deleted file mode 100644 index 5d76afe000..0000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.14.0.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "XFS Filesystem Utilities" -HOMEPAGE = "http://oss.sgi.com/projects/xfs" -SECTION = "base" -LICENSE = "GPLv2 & LGPLv2.1" -LICENSE_libhandle = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8" -DEPENDS = "util-linux util-linux-native" -SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ - file://remove_flags_from_build_flags.patch \ - file://0001-build-Check-for-sync_file_range-libc-function.patch \ - " -SRC_URI[md5sum] = "2d50e3751cc98e6c9364bc3d2297b9fd" -SRC_URI[sha256sum] = "b1b710b268bc95d6f45eca06e1262c29eb38865a19cd4404e48ba446e043b7ec" - -inherit autotools-brokensep - -PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" - -DEPENDS += "util-linux" - -RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" - -FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES_${PN}-repair = "${base_sbindir}/xfs_repair" - -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" - -EXTRA_OECONF = "--enable-gettext=no \ - INSTALL_USER=root \ - INSTALL_GROUP=root \ - ac_cv_header_aio_h=yes \ - ac_cv_lib_rt_lio_listio=yes \ -" - -DISABLE_STATIC = "" -EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" - -PACKAGECONFIG ??= "readline blkid" - -PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" -PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" - -export DEBUG="-DNDEBUG" -export BUILD_VERBOSE="1" -export tagname="CC" - -EXTRA_OEMAKE = "DIST_ROOT='${D}'" - -do_configure_prepend () { - export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" - # Prevent Makefile from calling configure without arguments, - # when do_configure gets called for a second time. - rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure - # Recreate configure script. - oe_runmake configure -} - -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/xfsprogs/xfsprogs_6.1.1.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.1.1.bb new file mode 100644 index 0000000000..6267fd9a18 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.1.1.bb @@ -0,0 +1,74 @@ +SUMMARY = "XFS Filesystem Utilities" +HOMEPAGE = "http://oss.sgi.com/projects/xfs" +SECTION = "base" +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://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] = "05e8a137870db1d6182df72dda98ab7a7100deb376947e854b9d59c914c2c7bb" +inherit autotools-brokensep pkgconfig + +PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" + +DEPENDS += "util-linux libinih liburcu" + +RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" + +FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES:${PN}-repair = "${base_sbindir}/xfs_repair" + +FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}" + +EXTRA_OECONF = "--enable-gettext=no \ + --enable-scrub=no \ + INSTALL_USER=root \ + INSTALL_GROUP=root \ + ac_cv_header_aio_h=yes \ + ac_cv_lib_rt_lio_listio=yes \ + OPTIMIZER='${SELECTED_OPTIMIZATION}' \ +" + +DISABLE_STATIC = "" +EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader" + +PACKAGECONFIG ??= "blkid" + +PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" + +export DEBUG="-DNDEBUG" +export BUILD_VERBOSE="1" +export tagname="CC" + +EXTRA_OEMAKE = "DIST_ROOT='${D}'" + +do_configure () { + export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" + # Prevent Makefile from calling configure without arguments, + # when do_configure gets called for a second time. + rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure + # Recreate configure script. + oe_runmake configure + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +do_install:append() { + oe_runmake 'DESTDIR=${D}' install-dev + rm ${D}${libdir}/*.la + rmdir --ignore-fail-on-non-empty ${D}${libdir} + + if [ ${libdir} != ${base_libdir} ];then + ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a + ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so + fi +} diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch new file mode 100644 index 0000000000..e0a04c9073 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch @@ -0,0 +1,28 @@ +From f172ea004d34b00aa7bd5baff9422b2ab80df6e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 14 Aug 2022 13:32:10 -0700 +Subject: [PATCH 1/2] Add a return type to aio_rw + +Compilers complain about the function prototype otherwise + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ltp/fsx.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ltp/fsx.c b/ltp/fsx.c +index 12c2cc33..55b4e9b6 100644 +--- a/ltp/fsx.c ++++ b/ltp/fsx.c +@@ -2429,6 +2429,7 @@ out_error: + return -1; + } + #else ++int + aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset) + { + fprintf(stderr, "io_rw: need AIO support!\n"); +-- +2.37.2 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch new file mode 100644 index 0000000000..fd34989fdf --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch @@ -0,0 +1,34 @@ +From 2a4fed8331f996421e65db446559991a854e2ad3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 24 Mar 2023 18:23:01 -0700 +Subject: [PATCH] m4: Check for FTW_ACTIONRETVAL along with nftw + +FTW_ACTIONRETVAL is glibc specific extention which is used to implement +xfsfind but it may not be available on other C library implementations on Linux +e.g. musl. Therefore ensure that these defines are available before declaring +nftw() to be usable + +Upstream-Status: Submitted [https://lore.kernel.org/fstests/20230325012858.587801-1-raj.khem@gmail.com/T/#u] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Cc: Darrick J. Wong <djwong@kernel.org> +Cc: Zorro Lang <zlang@redhat.com> +--- + m4/package_libcdev.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 +index b41c087b..7f731044 100644 +--- a/m4/package_libcdev.m4 ++++ b/m4/package_libcdev.m4 +@@ -132,7 +132,7 @@ AC_DEFUN([AC_HAVE_NFTW], + #include <stddef.h> + #include <ftw.h> + ]], [[ +- nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, 0); ++ nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, FTW_ACTIONRETVAL); + ]])],[have_nftw=yes + AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) + AC_SUBST(have_nftw) +-- +2.40.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..a594b73a12 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch @@ -0,0 +1,47 @@ +From dd43cbc7f50266cdc6210f2b920d7f648a83bdd6 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 2/2] 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 +- + src/vfs/utils.c | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 665edcf9..7debcbbd 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -31,7 +31,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 + + EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \ +diff --git a/src/vfs/utils.c b/src/vfs/utils.c +index 1388edda..aacd6c0a 100644 +--- a/src/vfs/utils.c ++++ b/src/vfs/utils.c +@@ -10,7 +10,6 @@ + #include <stdlib.h> + #include <sys/eventfd.h> + #include <sys/fsuid.h> +-#include <sys/mount.h> + #include <sys/prctl.h> + #include <sys/socket.h> + #include <sys/stat.h> +-- +2.37.2 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb new file mode 100644 index 0000000000..fdfe045749 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2023.03.05.bb @@ -0,0 +1,65 @@ +SUMMARY = "File system QA test suite" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" + +SRCREV_FORMAT = "xfstests_unionmount" + +SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ + git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ + file://0001-Add-a-return-type-to-aio_rw.patch \ + file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ + file://0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch \ + " + +SRCREV_xfstests = "f7765774a1b5cb98c2f21a892e82b3421f40e791" +SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep useradd + +DEPENDS += "xfsprogs acl" +RDEPENDS:${PN} += "\ + bash \ + bc \ + coreutils \ + e2fsprogs \ + e2fsprogs-tune2fs \ + e2fsprogs-resize2fs \ + libaio \ + libcap-bin \ + overlayfs-progs \ + perl \ + python3 \ + python3-core \ + xfsprogs \ + acl \ +" + +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" +# install-sh script in the project is outdated +# we use the one from the latest libtool to solve installation issues +# It looks like the upstream is not interested in having it fixed :( +# https://www.spinics.net/lists/fstests/msg16981.html +do_configure:prepend() { + cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} +} + +do_install:append() { + unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite + install -d ${D}/usr/xfstests/unionmount-testsuite/tests + install -D ${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} += "\ + /usr/xfstests \ +" diff --git a/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb b/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb deleted file mode 100644 index b26709e97c..0000000000 --- a/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.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] = "ec79fd2736b8da76e7a870e27cadf6fa" -SRC_URI[sha256sum] = "0bd1e085015b28c24f57697d6def2fe84517967dc417554c0c3ccf1685ed0e56" - -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 distro_features_check - -do_configure_prepend () { - touch NEWS -} - -RDEPENDS_${PN} = "tk" -REQUIRED_DISTRO_FEATURES = "x11" - -BBCLASSEXTEND = "native" |