diff options
Diffstat (limited to 'meta-filesystems')
95 files changed, 2785 insertions, 776 deletions
diff --git a/meta-filesystems/README b/meta-filesystems/README.md index edcf8bfeef..78a4429ce2 100644 --- a/meta-filesystems/README +++ b/meta-filesystems/README.md @@ -30,7 +30,7 @@ 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 @@ -99,4 +99,3 @@ II. Misc --- xfsprogs --- It provides XFS filesystem utilities. - diff --git a/meta-filesystems/conf/include/non-repro-meta-filesystems.inc b/meta-filesystems/conf/include/non-repro-meta-filesystems.inc new file mode 100644 index 0000000000..4975593277 --- /dev/null +++ b/meta-filesystems/conf/include/non-repro-meta-filesystems.inc @@ -0,0 +1,9 @@ +# List of known non-reproducible package of the meta-filesystems layer +# Please keep this list sorted +KNOWN_NON_REPRO_META_FILESYSTEMS = " \ + e2tools-ptest \ + xfsprogs-doc \ + zfs \ + zfs-dbg \ + zfs-dev \ +" diff --git a/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc new file mode 100644 index 0000000000..f57bbab930 --- /dev/null +++ b/meta-filesystems/conf/include/ptest-packagelists-meta-filesystems.inc @@ -0,0 +1,18 @@ +# +# Lists of the ptest in meta-filesystems, sorted into two sets by the time they take +# Please keep these sorted in alphabetical order +# +# A first pass at getting all meta-filesystems recipes which inherit ptest +# meta_filesystems_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-filesystems --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d') +# ptests which take less than ~30s each + +PTESTS_FAST_META_FILESYSTEMS = "\ + e2tools \ + fuse3 \ +" + +PTESTS_SLOW_META_FILESYSTEMS = "\ +" +PTESTS_PROBLEMS_META_FILESYSTEMS = "\ + sshfs-fuse \ +" diff --git a/meta-filesystems/conf/layer.conf b/meta-filesystems/conf/layer.conf index e8bd3628f8..2e220bfe24 100644 --- a/meta-filesystems/conf/layer.conf +++ b/meta-filesystems/conf/layer.conf @@ -7,12 +7,12 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "filesystems-layer" BBFILE_PATTERN_filesystems-layer = "^${LAYERDIR}/" -BBFILE_PRIORITY_filesystems-layer = "6" +BBFILE_PRIORITY_filesystems-layer = "5" # This should only be incremented on significant changes that will # cause compatibility issues with other layers LAYERVERSION_filesystems-layer = "1" -LAYERDEPENDS_filesystems-layer = "core openembedded-layer" +LAYERDEPENDS_filesystems-layer = "core openembedded-layer networking-layer" -LAYERSERIES_COMPAT_filesystems-layer = "thud warrior zeus" +LAYERSERIES_COMPAT_filesystems-layer = "scarthgap styhead" diff --git a/meta-filesystems/files/static-passwd-meta-filesystems b/meta-filesystems/files/static-passwd-meta-filesystems new file mode 100644 index 0000000000..157697f3e7 --- /dev/null +++ b/meta-filesystems/files/static-passwd-meta-filesystems @@ -0,0 +1,3 @@ +fsgqa:x:700:nogroup::/:/bin/nologin +123456-fsgqa:x:701:nogroup::/:/bin/nologin +fsgqa2:x:702:nogroup::/:/bin/nologin
\ No newline at end of file diff --git a/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb new file mode 100644 index 0000000000..e0f6664ab3 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.6.bb @@ -0,0 +1,13 @@ +SUMMARY = "library to write an ISO-9660 file system to physical media" +HOMEPAGE = "https://libburnia-project.org/" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111" + +SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz" +SRC_URI[sha256sum] = "7295491b4be5eeac5e7a3fb2067e236e2955ffdc6bbd45f546466edee321644b" + +inherit autotools pkgconfig lib_package + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb new file mode 100644 index 0000000000..3982eae63c --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.6.bb @@ -0,0 +1,27 @@ +SUMMARY = "library and tool to create and burn ISO-9660 images" +HOMEPAGE = "https://libburnia-project.org/" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYRIGHT;md5=43cfe25a7e4a65f722d6253fa0649bb1" + +SRC_URI = "http://files.libburnia-project.org/releases/libisoburn-${PV}.tar.gz" +SRC_URI[sha256sum] = "2b80a6f73dd633a5d243facbe97a15e5c9a07644a5e1a242c219b9375a45f71b" + +DEPENDS = "libisofs libburn" +# This replaces the xorriso recipe +PROVIDES += "xorriso" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-pkg-check-modules" + +do_install:append() { + # This is a proof-of-concept UI using Tk, don't ship it + rm -f ${D}${bindir}/xorriso-tcltk +} + +PACKAGE_BEFORE_PN = "xorriso" +FILES:xorriso = "${bindir}" + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb new file mode 100644 index 0000000000..0add3777f4 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.6.bb @@ -0,0 +1,15 @@ +SUMMARY = "library to create an ISO-9660 filesystem" +HOMEPAGE = "https://libburnia-project.org/" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYRIGHT;md5=1c1e5a960562d65f6449bb1d21e1dffc" + +SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz" +SRC_URI[sha256sum] = "0152d66a9d340b659fe9c880eb9190f3570fb477ac07cf52e8bcd134a1d30d70" + +DEPENDS = "acl zlib" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb index 5720430799..48e3d7af5d 100644 --- a/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb +++ b/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.4.0.bb @@ -5,16 +5,17 @@ is provided under the name mount.exfat-fuse. \ " HOMEPAGE = "https://github.com/relan/exfat" SECTION = "universe/otherosfs" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz" +UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases" + DEPENDS = "fuse virtual/libc" -RRECOMMENDS_${PN} = "util-linux-mount" +RRECOMMENDS:${PN} = "util-linux-mount" inherit autotools pkgconfig -SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff" -SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3" +SRC_URI[sha256sum] = "a1cfedc55e0e7a12c184605aa0f0bf44b24a3fb272449b20b2c8bbe6edb3001e" EXTRA_OECONF += "sbindir=${base_sbindir}" diff --git a/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb b/meta-filesystems/recipes-filesystems/httpfs2-fuse/httpfs2_0.1.5.bb 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.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb index ca21d2a0ed..80fb9f9137 100644 --- a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb @@ -1,3 +1,3 @@ -require meta-filesystems-image-base.bb +require recipes-core/images/core-image-base.bb IMAGE_INSTALL += "packagegroup-meta-filesystems" diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb deleted file mode 100644 index c89b1e1362..0000000000 --- a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb +++ /dev/null @@ -1,7 +0,0 @@ -SUMMARY = "meta-filesystems build test image" - -IMAGE_INSTALL = "packagegroup-core-boot" - -LICENSE = "MIT" - -inherit core-image diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb new file mode 100644 index 0000000000..ffbfa1a3f6 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-all.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Recipe to trigger execution of all meta-filesystems ptest images." +HOMEPAGE = "https://www.openembedded.org/" + +LICENSE = "MIT" + +inherit features_check nopackages +REQUIRED_DISTRO_FEATURES = "ptest" + +require conf/include/ptest-packagelists-meta-filesystems.inc + +# Include the full set of ptests +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" + +do_testimage[noexec] = "1" +do_testimage[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}" + +do_build[depends] = "${@' '.join(['meta-filesystems-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}" + +# normally image.bbclass would do this +EXCLUDE_FROM_WORLD = "1" + +python () { + if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d): + bb.build.addtask("do_testimage", "", "", d) +} diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb new file mode 100644 index 0000000000..dfb0837aa6 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest-fast.bb @@ -0,0 +1,5 @@ +require meta-filesystems-image-ptest-all.bb + +DESCRIPTION = "Recipe to trigger execution of all fast meta-filesystems ptest images." + +PTESTS_META_FILESYSTEMS = "${PTESTS_FAST_META_FILESYSTEMS}" diff --git a/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb new file mode 100644 index 0000000000..90d6a92c1b --- /dev/null +++ b/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-ptest.bb @@ -0,0 +1,40 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +require recipes-core/images/core-image-minimal.bb +require conf/include/ptest-packagelists-meta-filesystems.inc + +SUMMARY = "meta-filesystems ptest test image" + +DESCRIPTION += "Also including the ${MCNAME} ptest package." +HOMEPAGE = "https://www.openembedded.org/" + +PTESTS_META_FILESYSTEMS = "${PTESTS_SLOW_META_FILESYSTEMS} ${PTESTS_FAST_META_FILESYSTEMS} ${PTESTS_PROBLEMS_META_FILESYSTEMS}" + +IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh" + +BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_FILESYSTEMS').split()])}" + +# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add up to 1500MB. +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "324288" +# If a particular ptest needs more space, it can be customized: +#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" +# If a particular ptest needs more memroy, it can be customized: +#QB_MEM:virtclass-mcextend-<pn> = "-m 4096" + +TEST_SUITES = "ping ssh parselogs ptest" + +# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places +PTEST_EXPECT_FAILURE = "1" + +python () { + if not d.getVar("MCNAME"): + raise bb.parse.SkipRecipe("No class extension set") +} + diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch index 30ad1b8ad6..8d790125e3 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-Add-LDFLAGS-to-linker-cmdline.patch @@ -5,6 +5,8 @@ Subject: [PATCH] Add $(LDFLAGS) to linker cmdline Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch index dbf7ae0163..73e42df7e4 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs/0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch @@ -9,6 +9,8 @@ static function Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + btree.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb index d9864ac3e8..7d0a83609e 100644 --- a/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb +++ b/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb @@ -7,11 +7,11 @@ LogFS is included in the mainline Linux kernel and was introduced in \ version 2.6.34, released on May 16, 2010." HOMEPAGE = "https://github.com/prasad-joshi/logfsprogs" SECTION = "base" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02" DEPENDS = "zlib" -SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git \ +SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git;branch=master;protocol=https \ file://0001-Add-LDFLAGS-to-linker-cmdline.patch \ file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \ file://0001-include-sys-sysmacros.h-for-major-minor-definition.patch \ diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch deleted file mode 100644 index fce10b9997..0000000000 --- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 33f678bf74367aab8ddc2858a9f7797455ea9b9f Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 29 Aug 2019 10:21:58 +0800 -Subject: [PATCH] Make build support usrmerge - -Upstream-Status: Inappropriate[oe-specific] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - ntfsprogs/Makefile.am | 2 -- - src/Makefile.am | 3 --- - 2 files changed, 5 deletions(-) - -diff --git a/ntfsprogs/Makefile.am b/ntfsprogs/Makefile.am -index f4f9d1b..1f6a673 100644 ---- a/ntfsprogs/Makefile.am -+++ b/ntfsprogs/Makefile.am -@@ -165,8 +165,6 @@ extras: libs $(EXTRA_PROGRAMS) - - if ENABLE_MOUNT_HELPER - install-exec-hook: -- $(INSTALL) -d $(DESTDIR)/sbin -- $(LN_S) -f $(sbindir)/mkntfs $(DESTDIR)/sbin/mkfs.ntfs - - install-data-hook: - $(INSTALL) -d $(DESTDIR)$(man8dir) -diff --git a/src/Makefile.am b/src/Makefile.am -index 8d98408..d0a6a45 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -66,9 +66,6 @@ endif - - if ENABLE_MOUNT_HELPER - install-exec-local: install-rootbinPROGRAMS -- $(MKDIR_P) "$(DESTDIR)/sbin" -- $(LN_S) -f "$(rootbindir)/ntfs-3g" "$(DESTDIR)/sbin/mount.ntfs-3g" -- $(LN_S) -f "$(rootbindir)/lowntfs-3g" "$(DESTDIR)/sbin/mount.lowntfs-3g" - - install-data-local: install-man8 - $(LN_S) -f ntfs-3g.8 "$(DESTDIR)$(man8dir)/mount.ntfs-3g.8" --- -2.7.4 - 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 1559bfd3f9..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,17 +2,15 @@ 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" SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \ file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \ - ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-Make-build-support-usrmerge.patch','',d)} \ " 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" @@ -27,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/0001-include-sys-sysmacros.h-for-major.patch b/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch deleted file mode 100644 index 0a990ac686..0000000000 --- a/meta-filesystems/recipes-filesystems/owfs/owfs/0001-include-sys-sysmacros.h-for-major.patch +++ /dev/null @@ -1,46 +0,0 @@ -From dd1af7541f18399bcdcb129a8b6618c18ebd9d63 Mon Sep 17 00:00:00 2001 -From: Tomasz Torcz <tomek@pipebreaker.pl> -Date: Sat, 17 Mar 2018 12:56:04 +0100 -Subject: [PATCH] include <sys/sysmacros.h> for major() - - Linux glibc ceased to include it in sys/types.h: -https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html - -Upstream-Status: Backport -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 2 +- - module/owlib/src/include/ow.h | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 86751bf7..d625d3f0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -180,7 +180,7 @@ m4_include([src/scripts/m4/acx_pthread.m4]) - # Checks for header files. - AC_HEADER_DIRENT - AC_HEADER_STDC --AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h]) -+AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/sysmacros.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h]) - AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h]) - AC_CHECK_HEADERS(sys/event.h sys/inotify.h) - -diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h -index 9dbec5f3..0a310552 100644 ---- a/module/owlib/src/include/ow.h -+++ b/module/owlib/src/include/ow.h -@@ -188,8 +188,12 @@ - #include <netdb.h> /* for getaddrinfo */ - #endif /* HAVE_NETDB_H */ - -+#ifdef HAVE_SYS_SYSMACROS_H -+#include <sys/sysmacros.h> /* for major() */ -+#endif /* HAVE_SYS_SYSMACROS_H */ -+ - #ifdef HAVE_SYS_MKDEV_H --#include <sys/mkdev.h> /* for major() */ -+#include <sys/mkdev.h> /* for major() on Solaris */ - #endif /* HAVE_SYS_MKDEV_H */ - - #include <stddef.h> // for offsetof() diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb deleted file mode 100644 index 857aaf216d..0000000000 --- a/meta-filesystems/recipes-filesystems/owfs/owfs_3.2p2.bb +++ /dev/null @@ -1,80 +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=12a64df1cc87275e940cab05ee75c37d \ - file://COPYING.LIB;md5=16ff3ffebed582e19ea7a4f48ec77b42" - -DEPENDS = "fuse virtual/libusb0" -# v3.2p2 -SRCREV = "93c1f36d9ac481075287da331d5184f590f8c0fa" -SRC_URI = "git://github.com/owfs/owfs \ - file://owhttpd \ - file://owserver \ - file://0001-include-sys-sysmacros.h-for-major.patch \ - " - -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/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 index 86b1c9b36f..40f851364d 100644 --- a/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb +++ b/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb @@ -1,35 +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 \ + packagegroup-meta-filesystems-utils \ ' -RDEPENDS_packagegroup-meta-filesystems = "\ +RDEPENDS:packagegroup-meta-filesystems = "\ packagegroup-meta-filesystems \ packagegroup-meta-filesystems-support \ - packagegroup-meta-filesystems-utls \ + packagegroup-meta-filesystems-utils \ " -RDEPENDS_packagegroup-meta-filesystems = "\ - ntfs-3g-ntfsprogs ifuse sshfs-fuse \ - logfsprogs owfs simple-mtpfs \ - unionfs-fuse fuse-exfat yaffs2-utils \ +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 = "\ - physfs fuse \ - " +RDEPENDS:packagegroup-meta-filesystems-support = "\ + fuse3 \ + fuse \ + physfs \ +" -RDEPENDS_packagegroup-meta-filesystems-utils = "\ - xorriso aufs-util xfsprogs \ - f2fs-tools exfat-utils udevil \ +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/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch new file mode 100644 index 0000000000..63cdc57b44 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch @@ -0,0 +1,34 @@ +From 03ee1f8aa0899268ec02b2f54849352df92a3a1d Mon Sep 17 00:00:00 2001 +From: Gabriel Staples <ercaguy@gmail.com> +Date: Tue, 22 Dec 2020 23:33:55 -0800 +Subject: [PATCH] pytest.ini: fix test warning + +Warning: + +``` +test/util.py:99 + sshfs/build/test/util.py:99: PytestUnknownMarkWarning: Unknown pytest.mark.uses_fuse - is this a typo? + You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html + return pytest.mark.uses_fuse() +``` + +References for the fix: + +1. https://stackoverflow.com/questions/60806473/pytestunknownmarkwarning-unknown-pytest-mark-xxx-is-this-a-typo/60813297#60813297 +1. https://docs.pytest.org/en/stable/mark.html + +Upstream-Status: Submitted [https://github.com/libfuse/sshfs/pull/238] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/pytest.ini | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/pytest.ini b/test/pytest.ini +index 95161546..7a7efed4 100644 +--- a/test/pytest.ini ++++ b/test/pytest.ini +@@ -1,2 +1,4 @@ + [pytest] + addopts = --verbose --assert=rewrite --tb=native -x -r a ++markers = ++ uses_fuse diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch new file mode 100644 index 0000000000..e76dbd5059 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/a1d58ae1be99571a88b8439b027abe6349b74658.patch @@ -0,0 +1,31 @@ +From a1d58ae1be99571a88b8439b027abe6349b74658 Mon Sep 17 00:00:00 2001 +From: Gabriel Staples <ercaguy@gmail.com> +Date: Tue, 22 Dec 2020 23:26:40 -0800 +Subject: [PATCH] Fix deprecated warning in conftest.py + +``` +test/conftest.py:66 + sshfs/build/test/conftest.py:66: PytestDeprecationWarning: @pytest.yield_fixture is deprecated. + Use @pytest.fixture instead; they are the same. + @pytest.yield_fixture(autouse=True) +``` + +Upstream-Status: Submitted [https://github.com/libfuse/sshfs/pull/238] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + test/conftest.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/conftest.py b/test/conftest.py +index 70cd0c62..d58d45b2 100644 +--- a/test/conftest.py ++++ b/test/conftest.py +@@ -63,7 +63,7 @@ def register_output(self, pattern, count=1, flags=re.MULTILINE): + # relies on tests running sequential (i.e., don't dare to use e.g. the xdist + # plugin) + current_capfd = None +-@pytest.yield_fixture(autouse=True) ++@pytest.fixture(autouse=True) + def save_cap_fixtures(request, capfd): + global current_capfd + capfd.false_positives = [] diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse/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_3.5.2.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb deleted file mode 100644 index b10c5c5fff..0000000000 --- a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE" -AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>" -HOMEPAGE = "https://github.com/libfuse/sshfs" -SECTION = "console/network" -LICENSE = "GPLv2" -DEPENDS = "glib-2.0 fuse3" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/libfuse/sshfs" -SRCREV = "695cd8916f0e78d28009de3ffe112b9d1a1c9e5e" -S = "${WORKDIR}/git" - -inherit meson 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..5a926dac0c --- /dev/null +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb @@ -0,0 +1,30 @@ +SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE" +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 \ + file://03ee1f8aa0899268ec02b2f54849352df92a3a1d.patch \ + file://a1d58ae1be99571a88b8439b027abe6349b74658.patch \ +" +SRCREV = "c91eb9a9a992f1a36c49a8e6f1146e45b5e1c8e7" +S = "${WORKDIR}/git" + +inherit meson pkgconfig ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + bash \ + fuse \ +" + +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-support-cross-compiling.patch b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch index bf363ca1b7..9b4d0f6cae 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/files/0001-support-cross-compiling.patch @@ -1,32 +1,31 @@ -From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 30 Jun 2017 14:46:51 +0800 +From 6e794a36564a2639a07d8720260e33d7c9435aa4 Mon Sep 17 00:00:00 2001 +From: Alper Ak <alperyasinak1@gmail.com> +Date: Fri, 10 Nov 2023 20:50:48 +0300 Subject: [PATCH] support cross compiling Do not override OE CMAKE variables -Upstream-Status: Pending - Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Signed-off-by: Alper Ak <alperyasinak1@gmail.com> + +Upstream-Status: Pending --- - CMakeLists.txt | 4 ++-- + src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) - ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f549496..ab71fb2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,9 +4,9 @@ set(UNIONFS_SRCS unionfs.c opts.c debug.c findbranch.c readdir.c + fuse_ops.c) + set(UNIONFSCTL_SRCS unionfsctl.c) - # Select flags. --SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2") -+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2") +-SET(CMAKE_C_FLAGS "-pipe -W -Wall -D_FORTIFY_SOURCE=2") ++SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -D_FORTIFY_SOURCE=2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") -SET(CMAKE_C_FLAGS_RELEASE "-O2") +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") - if (UNIX AND APPLE) --- -2.8.1 - + add_executable(unionfs ${UNIONFS_SRCS} ${HASHTABLE_SRCS}) diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/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_3.4.bb index 6bedf16b09..e8fda05365 100644 --- a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_2.0.bb +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_3.4.bb @@ -6,13 +6,13 @@ LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8a file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \ " -SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master \ +SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master;protocol=https \ file://0001-support-cross-compiling.patch \ - file://0001-unionfs-Define-IOCPARM_LEN-if-undefined.patch \ " -SRCREV = "c8d23a9a75f1a62988593671839e8a168a79f3e5" +SRCREV = "773f1853b043eeb64b7459f903a2c65bd096f9d9" -DEPENDS = "fuse" +DEPENDS = "fuse3" +RDEPENDS:${PN} = "bash" S = "${WORKDIR}/git" diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch index df202c8555..6cedc3cb4e 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-define-loff_t-if-not-already-defined.patch @@ -7,6 +7,8 @@ Helps to build with musl Signed-off-by: Khem Raj <raj.khem@gmail.com> --- +Upstream-Status: Pending + yaffs_guts.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch new file mode 100644 index 0000000000..98c27d2654 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils/0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch @@ -0,0 +1,34 @@ +From 05cc2b958090f96d6fa128da43aa69669625e529 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Tue, 5 Mar 2024 12:03:23 +0000 +Subject: [PATCH] yaffs_guts.h: define YTIME_T if not already defined + +Fixed: +yaffs_guts.h:501:9: error: unknown type name 'YTIME_T' + 501 | YTIME_T yst_uid; + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + yaffs_guts.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/yaffs_guts.h b/yaffs_guts.h +index 74ded0b..598271b 100644 +--- a/yaffs_guts.h ++++ b/yaffs_guts.h +@@ -487,6 +487,10 @@ struct yaffs_obj { + + YCHAR short_name[YAFFS_SHORT_NAME_LENGTH + 1]; + ++#ifndef YTIME_T ++#define YTIME_T time_t ++#endif ++ + #ifdef CONFIG_YAFFS_WINCE + //these are always 64 bits + u32 win_ctime[2]; +-- +2.35.5 + diff --git a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb index 7ecae4c1c8..ca5e3302b3 100644 --- a/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb +++ b/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb @@ -4,12 +4,13 @@ DESCRIPTION = "Tools for managing 'yaffs2' file systems." SECTION = "base" HOMEPAGE = "http://www.yaffs.net" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=11;endline=13;md5=5f5464f9b3e981ca574e65b00e438561 \ file://utils/mkyaffsimage.c;beginline=10;endline=12;md5=5f5464f9b3e981ca574e65b00e438561 \ " -PV = "0.0+git${SRCPV}" +# The commit date of SRCREV +PV = "20221209" DEPENDS = "mtd-utils" @@ -17,15 +18,16 @@ DEPENDS = "mtd-utils" SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master \ file://makefile-add-ldflags.patch \ file://0001-define-loff_t-if-not-already-defined.patch \ + file://0001-yaffs_guts.h-define-YTIME_T-if-not-already-defined.patch \ " -SRCREV = "b4ce1bb1b46accb1619dc07164ef6945feded9db" +SRCREV = "613a901a229e8a701c18f003dd0aee18453e0670" UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" -CFLAGS_append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES" +CFLAGS:append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES" EXTRA_OEMAKE = "-e MAKEFLAGS=" do_compile() { diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch new file mode 100644 index 0000000000..80955b3ca0 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-Define-strndupa-if-it-does-not-exist.patch @@ -0,0 +1,34 @@ +From cc0cd6f71f6ef96fca2d7b730a3f0f6722fec696 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 7 May 2022 12:15:22 -0700 +Subject: [PATCH] Define strndupa if it does not exist + +musl e.g. does not supply strndupa, unlike glibc + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + etc/systemd/system-generators/zfs-mount-generator.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/etc/systemd/system-generators/zfs-mount-generator.c b/etc/systemd/system-generators/zfs-mount-generator.c +index f4c6c26..255bee4 100644 +--- a/etc/systemd/system-generators/zfs-mount-generator.c ++++ b/etc/systemd/system-generators/zfs-mount-generator.c +@@ -193,6 +193,15 @@ fopenat(int dirfd, const char *pathname, int flags, + return (fdopen(fd, stream_mode)); + } + ++#ifndef strndupa ++#define strndupa(s, n) \ ++ (__extension__ ({const char *__in = (s); \ ++ size_t __len = strnlen (__in, (n)) + 1; \ ++ char *__out = (char *) alloca (__len); \ ++ __out[__len-1] = '\0'; \ ++ (char *) memcpy (__out, __in, __len-1);})) ++#endif ++ + static int + line_worker(char *line, const char *cachefile) + { diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch new file mode 100644 index 0000000000..f1cfab4daf --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs/0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch @@ -0,0 +1,46 @@ +From 1f9a5cb860b3509791e59a8cae9d5f265e832ed0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 28 May 2023 16:33:15 -0700 +Subject: [PATCH] fs-tests/cmd/readmmap: Replace uint_t with uint32_t + +Makes it portable across glibc and musl + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + tests/zfs-tests/cmd/readmmap.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tests/zfs-tests/cmd/readmmap.c b/tests/zfs-tests/cmd/readmmap.c +index 704ffd55c8..a2590e0e8d 100644 +--- a/tests/zfs-tests/cmd/readmmap.c ++++ b/tests/zfs-tests/cmd/readmmap.c +@@ -38,6 +38,7 @@ + * 0 : no errors + * -------------------------------------------------------------- + */ ++#include <stdint.h> + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> +@@ -55,7 +56,7 @@ main(int argc, char **argv) + char *buf = NULL; + char *map = NULL; + int fd = -1, bytes, retval = 0; +- uint_t seed; ++ uint32_t seed; + + if (argc < 2 || optind == argc) { + (void) fprintf(stderr, +@@ -92,7 +93,7 @@ main(int argc, char **argv) + retval = 1; + goto end; + } +- seed = (uint_t)time(NULL); ++ seed = (uint32_t)time(NULL); + srandom(seed); + + idx = random() % size; +-- +2.40.1 + diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch new file mode 100644 index 0000000000..f5504b389d --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs/aaf28a4630af60496c9d33db1d06a7d7d8983422.patch @@ -0,0 +1,56 @@ +From aaf28a4630af60496c9d33db1d06a7d7d8983422 Mon Sep 17 00:00:00 2001 +From: Sebastian Gottschall <s.gottschall@dd-wrt.com> +Date: Tue, 23 May 2023 13:50:24 +0600 +Subject: [PATCH] fixes broken aarch64 inline assembly for gcc 13.1 + +fixes the following error + +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:549:24: error: the register specified for 'w7' is not general enough to be used as a register variable + 549 | register unsigned char w7 asm("v7") __attribute__((vector_size(16))); + | ^~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:193:9: note: in expansion of macro 'GEN_X_DEFINE_6_7' + 193 | GEN_X_DEFINE_6_7() \ + | ^~~~~~~~~~~~~~~~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE' + 1360 | REC_PQR_DEFINE(); + | ^~~~~~~~~~~~~~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:551:24: error: the register specified for 'w8' is not general enough to be used as a register variable + 551 | register unsigned char w8 asm("v8") __attribute__((vector_size(16))); \ + | ^~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9' + 194 | GEN_X_DEFINE_8_9() \ + | ^~~~~~~~~~~~~~~~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE' + 1360 | REC_PQR_DEFINE(); + | ^~~~~~~~~~~~~~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neon_common.h:552:24: error: the register specified for 'w9' is not general enough to be used as a register variable + 552 | register unsigned char w9 asm("v9") __attribute__((vector_size(16))); + | ^~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_aarch64_neonx2.c:194:9: note: in expansion of macro 'GEN_X_DEFINE_8_9' + 194 | GEN_X_DEFINE_8_9() \ + | ^~~~~~~~~~~~~~~~ +/mnt/b/yoe/master/build/tmp/work/imx8qm_var_som-yoe-linux/zfs/2.1.9-r0/build/../zfs-2.1.9/module/zfs/vdev_raidz_math_impl.h:1360:9: note: in expansion of macro 'REC_PQR_DEFINE' + 1360 | REC_PQR_DEFINE(); + +Upstream-Status: Pending [https://github.com/BrainSlayer/zfs/commit/aaf28a4630af60496c9d33db1d06a7d7d8983422] +Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + module/Kbuild.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/module/Kbuild.in ++++ b/module/Kbuild.in +@@ -57,9 +57,9 @@ asflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_ + ccflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS) + + ifeq ($(CONFIG_ARM64),y) +-CFLAGS_REMOVE_zcommon/zfs_fletcher_aarch64_neon.o += -mgeneral-regs-only +-CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neon.o += -mgeneral-regs-only +-CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neonx2.o += -mgeneral-regs-only ++CFLAGS_REMOVE_zcommon/zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only ++CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only ++CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only + endif + + # Suppress unused-value warnings in sparc64 architecture headers diff --git a/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb new file mode 100644 index 0000000000..d3ea6797e7 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/zfs/zfs_2.2.2.bb @@ -0,0 +1,77 @@ +SUMMARY = "OpenZFS on Linux and FreeBSD" +DESCRIPTION = "OpenZFS on Linux and FreeBSD" +LICENSE = "CDDL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa" +HOMEPAGE ="https://github.com/openzfs/zfs" + +SRCREV = "494aaaed89cb9fe9f2da3b6c6f465a4bc9f6a7e1" +SRC_URI = "git://github.com/openzfs/zfs;protocol=https;branch=zfs-2.2-release \ + file://0001-Define-strndupa-if-it-does-not-exist.patch \ + file://aaf28a4630af60496c9d33db1d06a7d7d8983422.patch \ + file://0001-fs-tests-cmd-readmmap-Replace-uint_t-with-uint32_t.patch \ +" + +S = "${WORKDIR}/git" + +# Using both 'module' and 'autotools' classes seems a bit odd, they both +# define a do_compile function. +# That's why we opt for module-base, also this prevents module splitting. +inherit module-base pkgconfig autotools bash-completion + +DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)}" + +PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd," +PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit," + +EXTRA_OECONF:append = " \ + --disable-pyzfs \ + --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ + --with-mounthelperdir=${base_sbin} \ + --with-udevdir=${base_libdir}/udev \ + --with-systemdunitdir=${systemd_system_unitdir} \ + --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \ + --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \ + --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \ + --without-dracutdir \ +" + +EXTRA_OEMAKE:append = " \ + INSTALL_MOD_PATH=${D}${root_prefix} \ +" + +do_install:append() { + # /usr/share/zfs contains the zfs-tests folder which we do not need: + rm -rf ${D}${datadir}/zfs + + rm -rf ${D}${datadir}/initramfs-tools +} + +FILES:${PN} += "\ + ${nonarch_base_libdir}/modules \ + ${systemd_system_unitdir} \ + ${nonarch_base_libdir}/systemd/system-generators \ + ${nonarch_base_libdir}/systemd/system-preset \ + ${sysconfdir}/modules-load.d/${BPN}.conf \ + ${sysconfdir}/default/${BPN} \ + ${sysconfdir}/sudoers.d/${BPN} \ + ${sysconfdir}/${BPN} \ + ${base_libdir}/udev \ + ${sbindir} \ + ${bindir} \ + ${libexecdir}/${BPN} \ + ${libdir} \ +" + +FILES:${PN}-dev += "\ + ${prefix}/src/zfs-${PV} \ + ${prefix}/src/spl-${PV} \ +" +# Not yet ported to rv32 +COMPATIBLE_HOST:riscv32 = "null" +# conflicting definition of ABS macro from asm/asm.h from kernel +COMPATIBLE_HOST:mips = "null" +# FTBFS on aarch64 with 6.2+ kernel see https://github.com/openzfs/zfs/issues/14555 +COMPATIBLE_HOST:aarch64 = "null" diff --git a/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch b/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch new file mode 100644 index 0000000000..7b548b4cde --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/files/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch @@ -0,0 +1,53 @@ +Upstream-Status: Pending + +From: Sam James <sam@gentoo.org> +Date: Sat, 24 Jul 2021 22:02:45 +0100 +Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix + glibc-2.34+) + +closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since +it's available in glibc 2.34+, we want to detect it and only define our +fallback if the libc doesn't provide it. + +Bug: https://bugs.gentoo.org/803923 +Signed-off-by: Sam James <sam@gentoo.org> + +--- a/configure.ac ++++ b/configure.ac +@@ -55,6 +55,7 @@ fi + + AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat]) + AC_CHECK_FUNCS([posix_fallocate]) ++AC_CHECK_FUNCS([closefrom]) + AC_CHECK_MEMBERS([struct stat.st_atim]) + AC_CHECK_MEMBERS([struct stat.st_atimespec]) + +--- a/util/ulockmgr_server.c ++++ b/util/ulockmgr_server.c +@@ -22,6 +22,10 @@ + #include <sys/socket.h> + #include <sys/wait.h> + ++#ifdef HAVE_CONFIG_H ++ #include "config.h" ++#endif ++ + struct message { + unsigned intr : 1; + unsigned nofd : 1; +@@ -124,6 +128,7 @@ static int receive_message(int sock, voi + return res; + } + ++#if !defined(HAVE_CLOSEFROM) + static int closefrom(int minfd) + { + DIR *dir = opendir("/proc/self/fd"); +@@ -141,6 +146,7 @@ static int closefrom(int minfd) + } + return 0; + } ++#endif + + static void send_reply(int cfd, struct message *msg) + { diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb deleted file mode 100644 index e65eb08e27..0000000000 --- a/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb +++ /dev/null @@ -1,48 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ -" -SRC_URI[md5sum] = "1798945aa69434286723b9999a141c7a" -SRC_URI[sha256sum] = "f45869427575e1e59ab743a67deb57addbf2cb8f9ce431199dbd40ddab71f281" - -S = "${WORKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz" - -inherit meson pkgconfig - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" - -FILES_${PN} += "${libdir}/libfuse3.so.*" -FILES_${PN}-dev += "${libdir}/libfuse3*.la" - -EXTRA_OEMESON += " \ - -Dexamples=false \ -" - -# Forbid auto-renaming to libfuse3-utils -FILES_fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse3-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" - -do_install_append() { - rm -rf ${D}${base_prefix}/dev -} diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb index 95e870691c..cee4879eee 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb @@ -6,7 +6,7 @@ DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspac " HOMEPAGE = "https://github.com/libfuse/libfuse" SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" +LICENSE = "GPL-2.0-only & LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" @@ -14,6 +14,7 @@ SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar. file://gold-unversioned-symbol.patch \ file://aarch64.patch \ file://0001-fuse-fix-the-return-value-of-help-option.patch \ + file://fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch \ file://fuse.conf \ " SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312" @@ -22,38 +23,40 @@ SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7 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 libulockmgr libulockmgr-dev" -RPROVIDES_${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg" +RPROVIDES:${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg" -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse libulockmgr fuse-utils" +RRECOMMENDS:${PN}:class-target = "kernel-module-fuse libulockmgr fuse-utils" -FILES_${PN} += "${libdir}/libfuse.so.*" -FILES_${PN}-dev += "${libdir}/libfuse*.la" +FILES:${PN} += "${libdir}/libfuse.so.*" +FILES:${PN}-dev += "${libdir}/libfuse*.la" -FILES_libulockmgr = "${libdir}/libulockmgr.so.*" -FILES_libulockmgr-dev += "${libdir}/libulock*.la" +FILES:libulockmgr = "${libdir}/libulockmgr.so.*" +FILES:libulockmgr-dev += "${libdir}/libulock*.la" # Forbid auto-renaming to libfuse-utils -FILES_fuse-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" +FILES:fuse-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME:fuse-utils = "1" +DEBIAN_NOAUTONAME:${PN}-dbg = "1" -do_configure_prepend() { +do_configure:prepend() { # Make this explicit so overriding base_sbindir propagates properly. export MOUNT_FUSE_PATH="${base_sbindir}" } -do_install_append() { +do_install:append() { rm -rf ${D}/dev # systemd class remove the sysv_initddir only if systemd_system_unitdir @@ -69,7 +72,7 @@ do_install_append() { fi } -do_install_append_class-nativesdk() { +do_install:append:class-nativesdk() { install -d ${D}${sysconfdir} mv ${D}/etc/* ${D}${sysconfdir}/ rmdir ${D}/etc diff --git a/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb b/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb index a0033fab5c..57cfdcdf82 100644 --- a/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb +++ b/meta-filesystems/recipes-support/physfs/physfs_3.0.2.bb @@ -1,5 +1,5 @@ SUMMARY = "PhysicsFS is a library to provide abstract access to various archives" -HOMEAPAGE = "http://icculus.org/physfs" +HOMEPAGE = "http://icculus.org/physfs" LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=96801882d1120239dcafbf888e821a6e" DEPENDS = "readline zlib" diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch new file mode 100644 index 0000000000..c983733dcb --- /dev/null +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/0001-libau-Do-not-build-LFS-version-of-readdir.patch @@ -0,0 +1,32 @@ +From 12ba95281d0bbea3576350d635b4dee0f953b94a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 29 Nov 2022 18:38:07 -0800 +Subject: [PATCH] libau: Do not build LFS version of readdir + +rdu64 is providing largefile supported version of readdir and readdir_r +however, we enable largefile support unconditionally in OE therefore its +not needed since readdir() and readdir_r() are already LFS capable + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + libau/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libau/Makefile b/libau/Makefile +index 9ada831..1fd1ccc 100644 +--- a/libau/Makefile ++++ b/libau/Makefile +@@ -30,7 +30,7 @@ STRIP ?= strip + all: ${LibSo} + + ifeq (${Glibc},yes) +-LibSoObj += rdu64.o ++#LibSoObj += rdu64.o + + # this is unnecessary on 64bit system? + rdu64.c: rdu.c +-- +2.38.1 + diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb index b4819d8fbf..ad846af470 100644 --- a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -1,42 +1,43 @@ SUMMARY = "Tools for managing AUFS mounts" SECTION = "base" HOMEPAGE = "http://aufs.sourceforge.net/" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" DEPENDS = "coreutils-native aufs-util-native" -DEPENDS_class-native = "" +DEPENDS:class-native = "" SRCREV = "8f35db59ef83078f87879ec2828e0bb45719e0ef" SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.9 \ https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.9/include/uapi/linux/aufs_type.h;name=aufs_type \ file://aufs-util-don-t-strip-executables.patch \ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ + file://0001-libau-Do-not-build-LFS-version-of-readdir.patch \ " SRC_URI[aufs_type.md5sum] = "b37129ef0703de72a852db7e48bdedc6" SRC_URI[aufs_type.sha256sum] = "7ff6566adb9c7a3b6862cdc85a690ab546f1d0bc81ddd595fd663c0a69031683" UPSTREAM_CHECK_COMMITS = "1" -PV = "4.9+git${SRCPV}" +PV = "4.9+git" S = "${WORKDIR}/git" export HOSTCC = "${BUILD_CC}" -do_configure_prepend() { +do_configure:prepend() { # Replace sbin,bin paths with bitbake environment sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \ -e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \ ${S}/Makefile } -do_configure_append () { +do_configure:append () { install -d ${S}/include/linux/ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h } -do_configure_append_class-target () { +do_configure:append:class-target () { for i in ver c2sh c2tmac; do cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B} done @@ -46,7 +47,7 @@ do_compile () { oe_runmake CPPFLAGS="-I${S}/include -I${S}/libau" } -do_compile_class-native () { +do_compile:class-native () { oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau" CC="${BUILD_CC}" } @@ -54,13 +55,13 @@ do_install () { oe_runmake 'DESTDIR=${D}' install_sbin install_ubin install_etc } -do_install_class-native () { +do_install:class-native () { install -d ${D}${bindir}/aufs-util-${PV} for i in ver c2sh c2tmac; do install -m 755 $i ${D}${bindir}/aufs-util-${PV}/$i done } -RRECOMMENDS_${PN}_class-target += "kernel-module-aufs" +RRECOMMENDS:${PN}:class-target += "kernel-module-aufs" BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb b/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb new file mode 100644 index 0000000000..788c85b7ce --- /dev/null +++ b/meta-filesystems/recipes-utils/binfs/bindfs_1.17.7.bb @@ -0,0 +1,15 @@ +SUMMARY = "A FUSE filesystem for mounting a directory to another location" +DESCRIPTION = "bindfs is a FUSE filesystem for mounting a directory to another location, similarly to mount --bind." +HOMEPAGE = "https://bindfs.org/" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "fuse" +RDEPENDS:${PN} = "fuse" + +SRC_URI = "git://github.com/mpartel/bindfs;protocol=https;branch=master" +SRCREV = "3f5e3cb1fcac5fb8034fa4712764317fab51ebe0" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig gettext diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb new file mode 100644 index 0000000000..b4e5da6e20 --- /dev/null +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb @@ -0,0 +1,58 @@ + +SUMMARY = "Services for periodic btrfs maintenance tasks" +DESCRIPTION = "A set of scripts supplementing the btrfs filesystem and aims \ + to automate a few maintenance tasks. This means the scrub, balance, trim \ + or defragmentation." +HOMEPAGE = "https://github.com/kdave/btrfsmaintenance" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" + +SECTION = "base" + +SRC_URI = "git://github.com/kdave/${BPN};branch=master;protocol=https \ + file://0001-change-sysconfig-path-to-etc-default.patch \ + file://0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch \ +" +SRCREV = "be42cb6267055d125994abd6927cf3a26deab74c" + +UPSTREAM_CHECK_URI = "https://github.com/kdave/${BPN}/tags" +UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)" + +RDEPENDS:${PN} = "bash btrfs-tools" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -Dm0644 ${S}/btrfsmaintenance-refresh.path \ + ${D}${systemd_system_unitdir}/btrfsmaintenance-refresh.path + install -Dm0644 ${S}/*.timer \ + ${D}${systemd_system_unitdir} + install -Dm0644 ${S}/*.service \ + ${D}${systemd_system_unitdir} + + install -Dm0644 ${S}/btrfsmaintenance-functions \ + ${D}${datadir}/${BPN}/btrfsmaintenance-functions + install -Dm0755 ${S}/*.sh \ + ${D}${datadir}/${BPN} + + install -Dm0644 ${S}/sysconfig.btrfsmaintenance \ + ${D}${sysconfdir}/default/btrfsmaintenance +} + +inherit systemd +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE:${PN} = " \ + btrfs-scrub.timer \ + btrfs-scrub.service \ + btrfs-trim.timer \ + btrfs-trim.service \ + btrfs-balance.timer \ + btrfs-balance.service \ + btrfs-defrag.timer \ + btrfs-defrag.service \ + btrfsmaintenance-refresh.service \ + btrfsmaintenance-refresh.path \ +" diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch new file mode 100644 index 0000000000..d425206f0e --- /dev/null +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0001-change-sysconfig-path-to-etc-default.patch @@ -0,0 +1,47 @@ +From b49dbe17e0d9ae463e5a34e6991aa2d3c70d2fb1 Mon Sep 17 00:00:00 2001 +From: Claudius Heine <ch@denx.de> +Date: Wed, 11 May 2022 14:33:13 +0200 +Subject: [PATCH] change sysconfig path to /etc/default + +OE uses /etc/default for service configuration, not /etc/sysconfig which +is used by SUSE and RedHat based distributions. + +Change the files accordingly + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Claudius Heine <ch@denx.de> +--- + btrfsmaintenance-refresh.path | 4 ++-- + btrfsmaintenance-refresh.service | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/btrfsmaintenance-refresh.path b/btrfsmaintenance-refresh.path +index d56ad11..f0b4132 100644 +--- a/btrfsmaintenance-refresh.path ++++ b/btrfsmaintenance-refresh.path +@@ -1,8 +1,8 @@ + [Unit] +-Description=Watch /etc/sysconfig/btrfsmaintenance ++Description=Watch /etc/default/btrfsmaintenance + + [Path] +-PathChanged=/etc/sysconfig/btrfsmaintenance ++PathChanged=/etc/default/btrfsmaintenance + + [Install] + WantedBy=multi-user.target +diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service +index 4ed1eb4..d6225a6 100644 +--- a/btrfsmaintenance-refresh.service ++++ b/btrfsmaintenance-refresh.service +@@ -1,5 +1,5 @@ + [Unit] +-Description=Update cron periods from /etc/sysconfig/btrfsmaintenance ++Description=Update cron periods from /etc/default/btrfsmaintenance + + [Service] + ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer +-- +2.33.3 + diff --git a/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch new file mode 100644 index 0000000000..0da7992a09 --- /dev/null +++ b/meta-filesystems/recipes-utils/btrfsmaintenance/files/0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch @@ -0,0 +1,33 @@ +From 420ae0f395838b852ae8b8fe5528056c36dc0919 Mon Sep 17 00:00:00 2001 +From: Claudius Heine <ch@denx.de> +Date: Wed, 11 May 2022 15:14:22 +0200 +Subject: [PATCH] add WantedBy directive to btrfsmaintenance-refresh.service + +Just trigger the service on the first boot, to configure services to the +configuration file deployed in the package, afterwards disable the +service, so that is only triggered when the configuration file has +changed. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Claudius Heine <ch@denx.de> +--- + btrfsmaintenance-refresh.service | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service +index d6225a6..58d0e09 100644 +--- a/btrfsmaintenance-refresh.service ++++ b/btrfsmaintenance-refresh.service +@@ -3,4 +3,8 @@ Description=Update cron periods from /etc/default/btrfsmaintenance + + [Service] + ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer ++ExecStart=systemctl disable btrfsmaintenance-refresh.service + Type=oneshot ++ ++[Install] ++WantedBy=multi-user.target +-- +2.33.3 + diff --git a/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb b/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb new file mode 100644 index 0000000000..1fa5e01874 --- /dev/null +++ b/meta-filesystems/recipes-utils/e2tools/e2tools_git.bb @@ -0,0 +1,75 @@ +SUMMARY = "Set of GPL'ed utilities to ext2/ext3 filesystem." +DESCRIPTION = "e2tools is a simple set of GPL'ed utilities to read, write, \ +and manipulate files in an ext2/ext3 filesystem. These utilities access a \ +filesystem directly using the ext2fs library. Can also be used on a Linux \ +machine to read/write to disk images or floppies without having to mount \ +them or have root access." +HOMEPAGE = "https://github.com/e2tools/e2tools" +SECTION = "base" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS += "coreutils e2fsprogs" + +PV = "0.1.0+git" + +SRC_URI = " \ + git://github.com/e2tools/e2tools;protocol=https;branch=master \ + file://run-ptest \ +" + +SRCREV = "fd092754a6b65c3a769f74f888668c066f09c36d" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest + +do_configure:prepend() { + git -C "${WORKDIR}/git" reset --hard HEAD + + # To install ptest for this package, special configuration needs to be + # done before do_configure(). So, do_configure_ptest() which is scheduled + # after do_configure() cannot be used. + + # We only do special configuration if we are installing ptest for this + # package. + if [ "${@d.getVar('PTEST_ENABLED')}" -eq "1" ]; then + # Since we guarantee run-time dependency when installing the ptest for + # this package, we do not need the check macros under section "checks + # for programs" in "configure.ac". Plus, these check macros set the + # ouput variables to incorrect values as these checks are performed on + # the host environment. Still, we need these variables outputted from + # these check macros. So, we insert the following lines to manually + # set these output variables to the correct value in "configure.ac". + + # Note that HAVE_DD_COMMAND and HAVE_MKE2FS_COMMAND are only ever used + # in tests/Makefile-files which determines whether to include the test + # cases. As for output variables CHMOD, DD, and MKE2FS, they only + # point to the programs which test cases need to run. Since these + # commands are guaranteed to be present due to RDEPENDS and are + # guaranteed to be accessible under PATH environment variable on the + # target, we only need to specify the name of these programs. + + perl -i -0777 -pe 's/(^dnl\s*=+\s*^dnl\s*Checks for compiler flags\s*^dnl\s*=+)/ +AC_SUBST([CHMOD], 'chmod') +AC_SUBST([DD], 'dd') +AC_SUBST([MKE2FS], 'mke2fs') +AM_CONDITIONAL([HAVE_DD_COMMAND], [true]) +AM_CONDITIONAL([HAVE_MKE2FS_COMMAND], [true]) +\1/ms' "${WORKDIR}/git/configure.ac" + fi +} + +do_install_ptest() { + rm -rf "${D}${PTEST_PATH}/*" + cp -r ../build "${D}${PTEST_PATH}" + cp -r "${S}/build-aux" "${D}${PTEST_PATH}/build" + cp -r "${S}" "${D}${PTEST_PATH}" + rm -rf ${D}${PTEST_PATH}/build/config.log ${D}${PTEST_PATH}/build/autom4te.cache \ + ${D}${PTEST_PATH}/git/.git ${D}${PTEST_PATH}/git/autom4te.cache + sed -i -e 's;${RECIPE_SYSROOT};;g' ${D}${PTEST_PATH}/build/config.status +} + +RDEPENDS:${PN}-ptest += "bash coreutils e2fsprogs e2tools gawk make perl" + +BBCLASSEXTEND = "native" diff --git a/meta-filesystems/recipes-utils/e2tools/files/run-ptest b/meta-filesystems/recipes-utils/e2tools/files/run-ptest new file mode 100644 index 0000000000..3d4dd9cf37 --- /dev/null +++ b/meta-filesystems/recipes-utils/e2tools/files/run-ptest @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +make -C build check diff --git a/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb b/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb deleted file mode 100644 index 1f2bfa6a0c..0000000000 --- a/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.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 = "https://github.com/relan/exfat" -SECTION = "universe/otherosfs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz" - -DEPENDS = "virtual/libc" - -inherit pkgconfig autotools - -SRC_URI[md5sum] = "f8928571b152455e828ca0bd42af8b73" -SRC_URI[sha256sum] = "dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835" diff --git a/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb new file mode 100644 index 0000000000..0dd5d8f5e7 --- /dev/null +++ b/meta-filesystems/recipes-utils/exfatprogs/exfatprogs_1.2.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "exFAT filesystem userspace utilities" +DESCRIPTION = "\ +As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is \ +created as an official userspace utilities that contain all of the standard \ +utilities for creating and fixing and debugging exfat filesystem in linux \ +system. The goal of exfatprogs is to provide high performance and quality \ +at the level of exfat utilities in windows. And this software is licensed \ +under the GNU General Public License Version 2." +HOMEPAGE = "https://github.com/${BPN}/${BPN}" +SECTION = "universe/otherosfs" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" +SRC_URI[sha256sum] = "61d517231f8ec177eeb5955fd6edb89748d3f88ba412c48bcb32741b430e359a" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)" + +inherit autotools + +RPROVIDES:${PN} = "exfat-utils" +RCONFLICTS:${PN} = "exfat-utils" +RREPLACES:${PN} = "exfat-utils" diff --git a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/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/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch deleted file mode 100644 index 0a3261b4e7..0000000000 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0fb9d6bc25e903f7831a38468845ea143fb5afd5 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 11 Aug 2018 18:49:03 -0700 -Subject: [PATCH] f2fs-tools: Use srcdir prefix to denote include path - -This helps builds when builddir != srcdir - -Upstream-Status: Submitted [https://lkml.org/lkml/2018/8/12/1] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - tools/sg_write_buffer/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/sg_write_buffer/Makefile.am b/tools/sg_write_buffer/Makefile.am -index 922c328..19c438d 100644 ---- a/tools/sg_write_buffer/Makefile.am -+++ b/tools/sg_write_buffer/Makefile.am -@@ -1,7 +1,7 @@ - ## Makefile.am - - if LINUX --AM_CPPFLAGS = -I./include -+AM_CPPFLAGS = -I$(srcdir)/include - AM_CFLAGS = -Wall - sbin_PROGRAMS = sg_write_buffer - sg_write_buffer_SOURCES = sg_write_buffer.c \ --- -2.18.0 - 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.11.0.bb b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb index 2240049d44..997fa1240a 100644 --- a/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.11.0.bb +++ b/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.16.0.bb @@ -1,18 +1,18 @@ SUMMARY = "Tools for Flash-Friendly File System (F2FS)" -HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/" +HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3" # to provide libuuid DEPENDS = "util-linux" -# v1.11.0 -SRCREV = "b98fab3666e498c2e27ad9dcda6874c9b683f06b" -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://0001-f2fs-tools-Use-srcdir-prefix-to-denote-include-path.patch \ +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 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.0.2.bb b/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb deleted file mode 100644 index 88d495b685..0000000000 --- a/meta-filesystems/recipes-utils/fatresize/fatresize_1.0.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Resize FAT partitions using libparted" -SECTION = "console/tools" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "git://salsa.debian.org/parted-team/fatresize.git;protocol=https" -SRCREV = "3f80afc76ad82d4a1b852a6c8dea24cd9f5e7a24" - -PV = "1.0.2-11" - -S = "${WORKDIR}/git" - -DEPENDS = "parted" - -inherit autotools pkgconfig 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-tools_git.bb b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb new file mode 100644 index 0000000000..47613207af --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Maintenance tools for OverlayFS" +HOMEPAGE = "https://github.com/kmxz/overlayfs-tools" +LICENSE = "WTFPL" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f312a7c4d02230e8f2b537295d375c69" + +SRC_URI = "\ + git://github.com/kmxz/overlayfs-tools.git;protocol=https;branch=master \ +" + +PV = "1.0+git" +SRCREV = "b5e5a829895ac98ccfe4629fbfbd8b819262bd00" + +S = "${WORKDIR}/git" +B = "${S}" + +# Required to have the fts.h header for musl +DEPENDS:append:libc-musl = " fts" + +EXTRA_OEMAKE += "'CC=${CC} -O2'" +# Fix the missing fts libs when using musl +EXTRA_OEMAKE:append:libc-musl = " LDLIBS=-lfts" +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${B}/overlay ${D}${bindir} + install -m 0755 ${B}/fsck.overlay ${D}${bindir} +} diff --git a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch index 355e93a37b..6e3a6ecb1f 100644 --- a/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch +++ b/meta-filesystems/recipes-utils/udevil/files/0001-udevil-0.4.3-fix-compile-with-gcc6.patch @@ -1,3 +1,5 @@ +Upstream-Status: Pending + Fix compilation with GCC6 --- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100 diff --git a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch index f014a0f537..a65c0218ce 100644 --- a/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch +++ b/meta-filesystems/recipes-utils/udevil/files/0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch @@ -8,6 +8,8 @@ libdir. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- +Upstream-Status: Pending + etc/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb index 60f84f8f9c..20d6036686 100644 --- a/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb +++ b/meta-filesystems/recipes-utils/udevil/udevil_0.4.4.bb @@ -6,12 +6,12 @@ DEPENDS = "glib-2.0 \ intltool-native \ udev \ " -RDEPENDS_${PN} = "udev bash" +RDEPENDS:${PN} = "udev bash" -LICENSE = "GPL-3.0" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -inherit autotools systemd +inherit autotools pkgconfig systemd SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \ file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \ @@ -24,5 +24,5 @@ SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}" PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" -SYSTEMD_SERVICE_${PN} = "devmon@.service" +SYSTEMD_SERVICE:${PN} = "devmon@.service" SYSTEMD_AUTO_ENABLE = "disable" diff --git a/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb b/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb deleted file mode 100644 index 208ac3c58b..0000000000 --- a/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Tool to access UFS (Universal Flash Storage) devices" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -PV = "1.3+git${SRCPV}" - -BRANCH ?= "dev" - -SRCREV = "8b00e33003b57d7071943f63863fcf8cc48d5be9" - -SRC_URI = "git://github.com/westerndigitalcorporation/ufs-tool.git;protocol=git;branch=${BRANCH}" - -S = "${WORKDIR}/git" - -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}"" - -do_configure() { - sed -i -e "s|-static$||g" ${S}/Makefile -} -do_install() { - install -d ${D}${bindir}/ - install -c -m 755 ${S}/ufs-tool ${D}${bindir}/ -} diff --git a/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.bb new file mode 100644 index 0000000000..7126684e61 --- /dev/null +++ b/meta-filesystems/recipes-utils/ufs-utils/ufs-utils_4.13.5.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 = "18c0a8454ca1cf8969170049f8c628d88627beec" + +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-libgen.h-for-basename-API-prototype.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch new file mode 100644 index 0000000000..a44d3b7f39 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-include-libgen.h-for-basename-API-prototype.patch @@ -0,0 +1,45 @@ +From 45a532ad73b1ba27fc951657a33f39e8fa915765 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Mar 2024 10:02:20 -0700 +Subject: [PATCH] include libgen.h for basename API prototype + +basename prototype has been removed from string.h from latest musl [1] +compilers e.g. clang-18 flags the absense of prototype as error. therefore +include libgen.h for providing it. + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20240325170941.3279129-1-raj.khem@gmail.com/T/#u] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + common/main.c | 1 + + invutil/invidx.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/common/main.c b/common/main.c +index 1db07d4..ca3b7d4 100644 +--- a/common/main.c ++++ b/common/main.c +@@ -16,6 +16,7 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include <libgen.h> + #include <stdio.h> + #include <unistd.h> + #include <stdlib.h> +diff --git a/invutil/invidx.c b/invutil/invidx.c +index 5874e8d..c4e2e21 100644 +--- a/invutil/invidx.c ++++ b/invutil/invidx.c +@@ -19,6 +19,7 @@ + #include <xfs/xfs.h> + #include <xfs/jdm.h> + ++#include <libgen.h> + #include <stdio.h> + #include <fcntl.h> + #include <unistd.h> +-- +2.44.0 + diff --git a/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch b/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch index 04ec7b34ac..bfb25e87f7 100644 --- a/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch +++ b/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch @@ -1,44 +1,48 @@ -From 2da4cfe17b994d7f10017561ca8efe6b6bd5f3cf Mon Sep 17 00:00:00 2001 +From fea8c4634469784c16211e2597411c18c72dfa4a Mon Sep 17 00:00:00 2001 From: Changqing Li <changqing.li@windriver.com> -Date: Thu, 5 Sep 2019 11:17:15 +0800 +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 | 4 +--- - restore/Makefile | 4 +--- - 2 files changed, 2 insertions(+), 6 deletions(-) + dump/Makefile | 6 +----- + restore/Makefile | 6 +----- + 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/dump/Makefile b/dump/Makefile -index 97879fa..14da664 100644 +index 66f00d3..cc2d973 100644 --- a/dump/Makefile +++ b/dump/Makefile -@@ -97,10 +97,8 @@ default: depend $(LTCOMMAND) +@@ -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) -- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND) +- # 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 c6f3f25..7835ecc 100644 +index ac3f8c8..3c46394 100644 --- a/restore/Makefile +++ b/restore/Makefile -@@ -107,10 +107,8 @@ default: depend $(LTCOMMAND) +@@ -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) -- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND) +- # 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: diff --git a/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch b/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch deleted file mode 100644 index 4ce23d7172..0000000000 --- a/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch +++ /dev/null @@ -1,28 +0,0 @@ -Make it work with xfsprogs 5.2.0. - -"xfs_fsop_geom_v1_t" has changed to "struct xfs_fsop_geom_v1" -in xfsprogs since version 5.2.0. - -Upstream-Status: Pending - -Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com> ---- - common/fs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/common/fs.c b/common/fs.c -index 60cf0fd..2cc7031 100644 ---- a/common/fs.c -+++ b/common/fs.c -@@ -204,7 +204,7 @@ fs_mounted( char *typs, char *chrs, char *mnts, uuid_t *idp ) - int - fs_getid( char *mnts, uuid_t *idb ) - { -- xfs_fsop_geom_v1_t geo; -+ struct xfs_fsop_geom_v1 geo; - int fd; - - fd = open( mnts, O_RDONLY ); --- -2.7.4 - diff --git a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb index 9c57558625..9c0394918e 100644 --- a/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb +++ b/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.12.bb @@ -6,17 +6,16 @@ DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \ specified disk, tape or other storage medium." HOMEPAGE = "http://oss.sgi.com/projects/xfs" SECTION = "base" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc" DEPENDS = "xfsprogs attr" SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \ file://remove-install-as-user.patch \ - file://work-with-new-version-of-xfsprogs.patch \ + file://0001-include-libgen.h-for-basename-API-prototype.patch \ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \ " -SRC_URI[md5sum] = "84d3bc287b4a2bb5d16b2320a47049a7" -SRC_URI[sha256sum] = "ed14e67ae5b273c2698e767b43a46f033d361e540fe13feaaf9b110ee0edc585" +SRC_URI[sha256sum] = "f39c4c1b306b2dd7ec979c0e94d60fe69083d2ecf9af051cac5ef3bed772c74a" inherit autotools-brokensep @@ -25,8 +24,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext" CFLAGS += "-D_FILE_OFFSET_BITS=64" - -EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1" +TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE" do_configure () { export DEBUG="-DNDEBUG" diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch deleted file mode 100644 index 75b227ac19..0000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f41ef1f06d428c81fcdef73d896dfc7ceda1809c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 23 Aug 2018 04:59:39 +0000 -Subject: [PATCH] Check for MAP_SYNC in sys/mman.h - -Not all arches have wired MAP_SYNC e.g. mips -which have conflicts with definition, so checking -a generic file is going to mis-configure xfsprogs -for such arches. - -libc now has added the relevant macros to -sys/mman.h, and returns the right values for arches -where its implemented and nothing for others -unlike asm-generic/mman.h which only checks -for kernel headers and ignored arches - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/linux.h | 3 +-- - m4/package_libcdev.m4 | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/include/linux.h b/include/linux.h -index 1998941..7e5c9ab 100644 ---- a/include/linux.h -+++ b/include/linux.h -@@ -331,8 +331,7 @@ fsmap_advance( - #define MAP_SYNC 0 - #define MAP_SHARED_VALIDATE 0 - #else --#include <asm-generic/mman.h> --#include <asm-generic/mman-common.h> -+#include <sys/mman.h> - #endif /* HAVE_MAP_SYNC */ - - #endif /* __XFS_LINUX_H__ */ -diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 -index 0a6b514..2b47d2f 100644 ---- a/m4/package_libcdev.m4 -+++ b/m4/package_libcdev.m4 -@@ -335,8 +335,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS], - AC_DEFUN([AC_HAVE_MAP_SYNC], - [ AC_MSG_CHECKING([for MAP_SYNC]) - AC_TRY_COMPILE([ --#include <asm-generic/mman.h> --#include <asm-generic/mman-common.h> -+#include <sys/mman.h> - ], [ - int flags = MAP_SYNC | MAP_SHARED_VALIDATE; - ], have_map_sync=yes diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/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 b5071aea6a..0000000000 --- a/meta-filesystems/recipes-utils/xfsprogs/files/0001-build-Check-for-sync_file_range-libc-function.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 1a4c9ebbb8731f2e3631d77b7eeaf3c373141d88 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 31 Jan 2018 21:28:53 -0800 -Subject: [PATCH] build: Check for sync_file_range libc function - -glibc 2.27 now has sync_file_range() - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - include/builddefs.in | 1 + - io/Makefile | 5 ++++- - io/io.h | 2 +- - io/sync_file_range.c | 3 +++ - 4 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/include/builddefs.in b/include/builddefs.in -index d38dc7e..706eca6 100644 ---- a/include/builddefs.in -+++ b/include/builddefs.in -@@ -94,6 +94,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 484e2b5..2751dcb 100644 ---- a/io/Makefile -+++ b/io/Makefile -@@ -53,10 +53,13 @@ else - LSRCFILES += fiemap.c - 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 6469179..678b3d7 100644 ---- a/io/io.h -+++ b/io/io.h -@@ -146,7 +146,7 @@ extern void fiemap_init(void); - #define fiemap_init() do { } while (0) - #endif - --#ifdef HAVE_COPY_FILE_RANGE -+#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE) - extern void copy_range_init(void); - #else - #define copy_range_init() do { } while (0) -diff --git a/io/sync_file_range.c b/io/sync_file_range.c -index 30bbc93..6c49d73 100644 ---- a/io/sync_file_range.c -+++ b/io/sync_file_range.c -@@ -4,6 +4,7 @@ - * All Rights Reserved. - */ - -+#ifndef HAVE_COPY_FILE_RANGE - #include "command.h" - #include "input.h" - #include "init.h" -@@ -92,3 +93,5 @@ sync_range_init(void) - - add_command(&sync_range_cmd); - } -+ -+#endif diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch new file mode 100644 index 0000000000..60be8bfa34 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch @@ -0,0 +1,27 @@ +From f62d3e5cc1d4e416b97778059f0b3c20d777a4c2 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 21 Dec 2022 17:40:11 -0800 +Subject: [PATCH] configure: Use AC_SYS_LARGERFILE autoconf macro + +Helps define largefile support on relevant platforms + +Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 5a6bf185..a6f556ec 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,6 +10,9 @@ AC_PROG_INSTALL + LT_INIT + + AC_PROG_CC ++ ++AC_SYS_LARGEFILE ++ + AC_ARG_VAR(BUILD_CC, [C compiler for build tools]) + if test "${BUILD_CC+set}" != "set"; then + if test $cross_compiling = no; then diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch new file mode 100644 index 0000000000..940d63c010 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0005-Replace-off64_t-stat64-with-off_t-stat.patch @@ -0,0 +1,724 @@ +From f260099fc45f0653aa4758d1d581e07f5b9c6a54 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 21 Dec 2022 17:43:07 -0800 +Subject: [PATCH] Replace off64_t/stat64 with off_t/stat + +When using AC_SYS_LARGEFILE, it will automatically add +-D_FILE_OFFSET_BITS=64 to enable 64bit off_t and all lfs64 support + +helps compile on musl where off_t was always 64bit and lfs64 were never +needed + +Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + copy/xfs_copy.c | 2 +- + fsr/xfs_fsr.c | 2 +- + io/bmap.c | 6 +++--- + io/copy_file_range.c | 4 ++-- + io/cowextsize.c | 6 +++--- + io/fadvise.c | 2 +- + io/fiemap.c | 6 +++--- + io/fsmap.c | 6 +++--- + io/io.h | 10 +++++----- + io/madvise.c | 2 +- + io/mincore.c | 2 +- + io/mmap.c | 12 ++++++------ + io/pread.c | 22 +++++++++++----------- + io/pwrite.c | 20 ++++++++++---------- + io/reflink.c | 4 ++-- + io/seek.c | 6 +++--- + io/sendfile.c | 6 +++--- + io/stat.c | 2 +- + io/sync_file_range.c | 2 +- + io/truncate.c | 2 +- + libxfs/rdwr.c | 8 ++++---- + mdrestore/xfs_mdrestore.c | 2 +- + repair/prefetch.c | 2 +- + scrub/spacemap.c | 6 +++--- + spaceman/freesp.c | 4 ++-- + spaceman/trim.c | 2 +- + 26 files changed, 74 insertions(+), 74 deletions(-) + +diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c +index 0420649..98a578a 100644 +--- a/copy/xfs_copy.c ++++ b/copy/xfs_copy.c +@@ -881,7 +881,7 @@ main(int argc, char **argv) + } + } else { + char *lb = memalign(wbuf_align, XFS_MAX_SECTORSIZE); +- off64_t off; ++ off_t off; + ssize_t len; + + /* ensure device files are sufficiently large */ +diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c +index ba02506..12fffbd 100644 +--- a/fsr/xfs_fsr.c ++++ b/fsr/xfs_fsr.c +@@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd, + struct dioattr dio; + static xfs_swapext_t sx; + struct xfs_flock64 space; +- off64_t cnt, pos; ++ off_t cnt, pos; + void *fbuf = NULL; + int ct, wc, wc_b4; + char ffname[SMBUFSZ]; +diff --git a/io/bmap.c b/io/bmap.c +index 722a389..6182e1c 100644 +--- a/io/bmap.c ++++ b/io/bmap.c +@@ -257,7 +257,7 @@ bmap_f( + #define FLG_BSW 0000010 /* Not on begin of stripe width */ + #define FLG_ESW 0000001 /* Not on end of stripe width */ + int agno; +- off64_t agoff, bbperag; ++ off_t agoff, bbperag; + int foff_w, boff_w, aoff_w, tot_w, agno_w; + char rbuf[32], bbuf[32], abuf[32]; + int sunit, swidth; +@@ -267,8 +267,8 @@ bmap_f( + if (is_rt) + sunit = swidth = bbperag = 0; + else { +- bbperag = (off64_t)fsgeo.agblocks * +- (off64_t)fsgeo.blocksize / BBSIZE; ++ bbperag = (off_t)fsgeo.agblocks * ++ (off_t)fsgeo.blocksize / BBSIZE; + sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE; + swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE; + } +diff --git a/io/copy_file_range.c b/io/copy_file_range.c +index d154fa7..422e691 100644 +--- a/io/copy_file_range.c ++++ b/io/copy_file_range.c +@@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len) + return 0; + } + +-static off64_t ++static off_t + copy_src_filesize(int fd) + { + struct stat st; +@@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv) + } + + if (!len_specified) { +- off64_t sz; ++ off_t sz; + + sz = copy_src_filesize(fd); + if (sz < 0 || (unsigned long long)sz > SIZE_MAX) { +diff --git a/io/cowextsize.c b/io/cowextsize.c +index f6b134d..00e40c6 100644 +--- a/io/cowextsize.c ++++ b/io/cowextsize.c +@@ -50,10 +50,10 @@ static int + set_cowextsize(const char *path, int fd, long extsz) + { + struct fsxattr fsx; +- struct stat64 stat; ++ struct stat stat; + +- if (fstat64(fd, &stat) < 0) { +- perror("fstat64"); ++ if (fstat(fd, &stat) < 0) { ++ perror("fstat"); + exitcode = 1; + return 0; + } +diff --git a/io/fadvise.c b/io/fadvise.c +index 60cc0f0..0966c41 100644 +--- a/io/fadvise.c ++++ b/io/fadvise.c +@@ -39,7 +39,7 @@ fadvise_f( + int argc, + char **argv) + { +- off64_t offset = 0, length = 0; ++ off_t offset = 0, length = 0; + int c, range = 0, advise = POSIX_FADV_NORMAL; + + while ((c = getopt(argc, argv, "dnrsw")) != EOF) { +diff --git a/io/fiemap.c b/io/fiemap.c +index f0c74df..b41f71b 100644 +--- a/io/fiemap.c ++++ b/io/fiemap.c +@@ -234,9 +234,9 @@ fiemap_f( + int tot_w = 5; /* 5 since its just one number */ + int flg_w = 5; + __u64 last_logical = 0; /* last extent offset handled */ +- off64_t start_offset = 0; /* mapping start */ +- off64_t length = -1LL; /* mapping length */ +- off64_t range_end = -1LL; /* mapping end*/ ++ off_t start_offset = 0; /* mapping start */ ++ off_t length = -1LL; /* mapping length */ ++ off_t range_end = -1LL; /* mapping end*/ + size_t fsblocksize, fssectsize; + struct stat st; + +diff --git a/io/fsmap.c b/io/fsmap.c +index 7db5184..bf11963 100644 +--- a/io/fsmap.c ++++ b/io/fsmap.c +@@ -170,7 +170,7 @@ dump_map_verbose( + unsigned long long i; + struct fsmap *p; + int agno; +- off64_t agoff, bperag; ++ off_t agoff, bperag; + int foff_w, boff_w, aoff_w, tot_w, agno_w, own_w; + int nr_w, dev_w; + char rbuf[40], bbuf[40], abuf[40], obuf[40]; +@@ -183,8 +183,8 @@ dump_map_verbose( + dev_w = 3; + nr_w = 4; + tot_w = MINTOT_WIDTH; +- bperag = (off64_t)fsgeo->agblocks * +- (off64_t)fsgeo->blocksize; ++ bperag = (off_t)fsgeo->agblocks * ++ (off_t)fsgeo->blocksize; + sunit = (fsgeo->sunit * fsgeo->blocksize); + swidth = (fsgeo->swidth * fsgeo->blocksize); + +diff --git a/io/io.h b/io/io.h +index fe474fa..68e5e48 100644 +--- a/io/io.h ++++ b/io/io.h +@@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv); + typedef struct mmap_region { + void *addr; /* address of start of mapping */ + size_t length; /* length of mapping */ +- off64_t offset; /* start offset into backing file */ ++ off_t offset; /* start offset into backing file */ + int prot; /* protection mode of the mapping */ + int flags; /* MAP_* flags passed to mmap() */ + char *name; /* name of backing file */ +@@ -63,13 +63,13 @@ extern mmap_region_t *maptable; /* mmap'd region array */ + extern int mapcount; /* #entries in the mapping table */ + extern mmap_region_t *mapping; /* active mapping table entry */ + extern int maplist_f(void); +-extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int); ++extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int); + + /* + * Various xfs_io helper routines/globals + */ + +-extern off64_t filesize(void); ++extern off_t filesize(void); + extern int openfile(char *, struct xfs_fsop_geom *, int, mode_t, + struct fs_path *); + extern int addfile(char *, int , struct xfs_fsop_geom *, int, +@@ -84,9 +84,9 @@ extern size_t io_buffersize; + extern int vectors; + extern struct iovec *iov; + extern int alloc_buffer(size_t, int, unsigned int); +-extern int read_buffer(int, off64_t, long long, long long *, ++extern int read_buffer(int, off_t, long long, long long *, + int, int); +-extern void dump_buffer(off64_t, ssize_t); ++extern void dump_buffer(off_t, ssize_t); + + extern void attr_init(void); + extern void bmap_init(void); +diff --git a/io/madvise.c b/io/madvise.c +index bde3153..6e9c5b1 100644 +--- a/io/madvise.c ++++ b/io/madvise.c +@@ -39,7 +39,7 @@ madvise_f( + int argc, + char **argv) + { +- off64_t offset, llength; ++ off_t offset, llength; + size_t length; + void *start; + int advise = MADV_NORMAL, c; +diff --git a/io/mincore.c b/io/mincore.c +index 67f1d6c..24147ac 100644 +--- a/io/mincore.c ++++ b/io/mincore.c +@@ -17,7 +17,7 @@ mincore_f( + int argc, + char **argv) + { +- off64_t offset, llength; ++ off_t offset, llength; + size_t length; + size_t blocksize, sectsize; + void *start; +diff --git a/io/mmap.c b/io/mmap.c +index 7114404..128a2c0 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -64,11 +64,11 @@ print_mapping( + void * + check_mapping_range( + mmap_region_t *map, +- off64_t offset, ++ off_t offset, + size_t length, + int pagealign) + { +- off64_t relative; ++ off_t relative; + + if (offset < mapping->offset) { + printf(_("offset (%lld) is before start of mapping (%lld)\n"), +@@ -156,7 +156,7 @@ mmap_f( + int argc, + char **argv) + { +- off64_t offset; ++ off_t offset; + ssize_t length = 0, length2 = 0; + void *address = NULL; + char *filename; +@@ -309,7 +309,7 @@ msync_f( + int argc, + char **argv) + { +- off64_t offset; ++ off_t offset; + ssize_t length; + void *start; + int c, flags = 0; +@@ -402,7 +402,7 @@ mread_f( + int argc, + char **argv) + { +- off64_t offset, tmp, dumpoffset, printoffset; ++ off_t offset, tmp, dumpoffset, printoffset; + ssize_t length; + size_t dumplen, cnt = 0; + char *bp; +@@ -567,7 +567,7 @@ mwrite_f( + int argc, + char **argv) + { +- off64_t offset, tmp; ++ off_t offset, tmp; + ssize_t length; + void *start; + char *sp; +diff --git a/io/pread.c b/io/pread.c +index 0f1d8b9..79990c6 100644 +--- a/io/pread.c ++++ b/io/pread.c +@@ -116,7 +116,7 @@ alloc_buffer( + static void + __dump_buffer( + void *buf, +- off64_t offset, ++ off_t offset, + ssize_t len) + { + int i, j; +@@ -141,7 +141,7 @@ __dump_buffer( + + void + dump_buffer( +- off64_t offset, ++ off_t offset, + ssize_t len) + { + int i, l; +@@ -164,7 +164,7 @@ dump_buffer( + static ssize_t + do_preadv( + int fd, +- off64_t offset, ++ off_t offset, + long long count) + { + int vecs = 0; +@@ -199,7 +199,7 @@ do_preadv( + static ssize_t + do_pread( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + size_t buffer_size) + { +@@ -212,13 +212,13 @@ do_pread( + static int + read_random( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + long long *total, + unsigned int seed, + int eof) + { +- off64_t end, off, range; ++ off_t end, off, range; + ssize_t bytes; + int ops = 0; + +@@ -259,12 +259,12 @@ read_random( + static int + read_backward( + int fd, +- off64_t *offset, ++ off_t *offset, + long long *count, + long long *total, + int eof) + { +- off64_t end, off = *offset; ++ off_t end, off = *offset; + ssize_t bytes = 0, bytes_requested; + long long cnt = *count; + int ops = 0; +@@ -319,7 +319,7 @@ read_backward( + static int + read_forward( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + long long *total, + int verbose, +@@ -353,7 +353,7 @@ read_forward( + int + read_buffer( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + long long *total, + int verbose, +@@ -368,7 +368,7 @@ pread_f( + char **argv) + { + size_t bsize; +- off64_t offset; ++ off_t offset; + unsigned int zeed = 0; + long long count, total, tmp; + size_t fsblocksize, fssectsize; +diff --git a/io/pwrite.c b/io/pwrite.c +index 467bfa9..8d134c5 100644 +--- a/io/pwrite.c ++++ b/io/pwrite.c +@@ -54,7 +54,7 @@ pwrite_help(void) + static ssize_t + do_pwritev( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + int pwritev2_flags) + { +@@ -97,7 +97,7 @@ do_pwritev( + static ssize_t + do_pwrite( + int fd, +- off64_t offset, ++ off_t offset, + long long count, + size_t buffer_size, + int pwritev2_flags) +@@ -110,13 +110,13 @@ do_pwrite( + + static int + write_random( +- off64_t offset, ++ off_t offset, + long long count, + unsigned int seed, + long long *total, + int pwritev2_flags) + { +- off64_t off, range; ++ off_t off, range; + ssize_t bytes; + int ops = 0; + +@@ -155,12 +155,12 @@ write_random( + + static int + write_backward( +- off64_t offset, ++ off_t offset, + long long *count, + long long *total, + int pwritev2_flags) + { +- off64_t end, off = offset; ++ off_t end, off = offset; + ssize_t bytes = 0, bytes_requested; + long long cnt = *count; + int ops = 0; +@@ -214,11 +214,11 @@ write_backward( + + static int + write_buffer( +- off64_t offset, ++ off_t offset, + long long count, + size_t bs, + int fd, +- off64_t skip, ++ off_t skip, + long long *total, + int pwritev2_flags) + { +@@ -253,7 +253,7 @@ write_buffer( + + static int + write_once( +- off64_t offset, ++ off_t offset, + long long count, + long long *total, + int pwritev2_flags) +@@ -275,7 +275,7 @@ pwrite_f( + char **argv) + { + size_t bsize; +- off64_t offset, skip = 0; ++ off_t offset, skip = 0; + long long count, total, tmp; + unsigned int zeed = 0, seed = 0xcdcdcdcd; + size_t fsblocksize, fssectsize; +diff --git a/io/reflink.c b/io/reflink.c +index 8e4f389..b6a3c05 100644 +--- a/io/reflink.c ++++ b/io/reflink.c +@@ -98,7 +98,7 @@ dedupe_f( + int argc, + char **argv) + { +- off64_t soffset, doffset; ++ off_t soffset, doffset; + long long count, total; + char *infile; + int condensed, quiet_flag; +@@ -226,7 +226,7 @@ reflink_f( + int argc, + char **argv) + { +- off64_t soffset, doffset; ++ off_t soffset, doffset; + long long count = 0, total; + char *infile = NULL; + int condensed, quiet_flag; +diff --git a/io/seek.c b/io/seek.c +index 6734ecb..ffe7439 100644 +--- a/io/seek.c ++++ b/io/seek.c +@@ -63,8 +63,8 @@ static void + seek_output( + int startflag, + char *type, +- off64_t start, +- off64_t offset) ++ off_t start, ++ off_t offset) + { + if (offset == -1) { + if (errno == ENXIO) { +@@ -92,7 +92,7 @@ seek_f( + int argc, + char **argv) + { +- off64_t offset, start; ++ off_t offset, start; + size_t fsblocksize, fssectsize; + int c; + int current; /* specify data or hole */ +diff --git a/io/sendfile.c b/io/sendfile.c +index a003bb5..2ce569c 100644 +--- a/io/sendfile.c ++++ b/io/sendfile.c +@@ -34,12 +34,12 @@ sendfile_help(void) + + static int + send_buffer( +- off64_t offset, ++ off_t offset, + size_t count, + int fd, + long long *total) + { +- off64_t off = offset; ++ off_t off = offset; + ssize_t bytes, bytes_remaining = count; + int ops = 0; + +@@ -66,7 +66,7 @@ sendfile_f( + int argc, + char **argv) + { +- off64_t offset = 0; ++ off_t offset = 0; + long long count, total; + size_t blocksize, sectsize; + struct timeval t1, t2; +diff --git a/io/stat.c b/io/stat.c +index b57f9ee..e8f68dc 100644 +--- a/io/stat.c ++++ b/io/stat.c +@@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd; + static cmdinfo_t statfs_cmd; + static cmdinfo_t statx_cmd; + +-off64_t ++off_t + filesize(void) + { + struct stat st; +diff --git a/io/sync_file_range.c b/io/sync_file_range.c +index 94285c2..2375a06 100644 +--- a/io/sync_file_range.c ++++ b/io/sync_file_range.c +@@ -30,7 +30,7 @@ sync_range_f( + int argc, + char **argv) + { +- off64_t offset = 0, length = 0; ++ off_t offset = 0, length = 0; + int c, sync_mode = 0; + size_t blocksize, sectsize; + +diff --git a/io/truncate.c b/io/truncate.c +index 1d04919..a74b613 100644 +--- a/io/truncate.c ++++ b/io/truncate.c +@@ -16,7 +16,7 @@ truncate_f( + int argc, + char **argv) + { +- off64_t offset; ++ off_t offset; + size_t blocksize, sectsize; + + init_cvtnum(&blocksize, §size); +diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c +index 0e33211..153007d 100644 +--- a/libxfs/rdwr.c ++++ b/libxfs/rdwr.c +@@ -576,7 +576,7 @@ libxfs_balloc( + + + static int +-__read_buf(int fd, void *buf, int len, off64_t offset, int flags) ++__read_buf(int fd, void *buf, int len, off_t offset, int flags) + { + int sts; + +@@ -638,7 +638,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags) + + buf = bp->b_addr; + for (i = 0; i < bp->b_nmaps; i++) { +- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); ++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); + int len = BBTOB(bp->b_maps[i].bm_len); + + error = __read_buf(fd, buf, len, offset, flags); +@@ -797,7 +797,7 @@ err: + } + + static int +-__write_buf(int fd, void *buf, int len, off64_t offset, int flags) ++__write_buf(int fd, void *buf, int len, off_t offset, int flags) + { + int sts; + +@@ -863,7 +863,7 @@ libxfs_bwrite( + void *buf = bp->b_addr; + + for (i = 0; i < bp->b_nmaps; i++) { +- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); ++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn); + int len = BBTOB(bp->b_maps[i].bm_len); + + bp->b_error = __write_buf(fd, buf, len, offset, +diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c +index 8e3998d..334bdd2 100644 +--- a/mdrestore/xfs_mdrestore.c ++++ b/mdrestore/xfs_mdrestore.c +@@ -160,7 +160,7 @@ verify_device_size( + } else { + /* ensure device is sufficiently large enough */ + char lb[XFS_MAX_SECTORSIZE] = { 0 }; +- off64_t off; ++ off_t off; + + off = nr_blocks * blocksize - sizeof(lb); + if (pwrite(dev_fd, lb, sizeof(lb), off) < 0) +diff --git a/repair/prefetch.c b/repair/prefetch.c +index 78c1e39..b0dd197 100644 +--- a/repair/prefetch.c ++++ b/repair/prefetch.c +@@ -475,7 +475,7 @@ pf_batch_read( + { + struct xfs_buf *bplist[MAX_BUFS]; + unsigned int num; +- off64_t first_off, last_off, next_off; ++ off_t first_off, last_off, next_off; + int len, size; + int i; + int inode_bufs; +diff --git a/scrub/spacemap.c b/scrub/spacemap.c +index b6fd411..9cefe07 100644 +--- a/scrub/spacemap.c ++++ b/scrub/spacemap.c +@@ -97,11 +97,11 @@ scan_ag_rmaps( + struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx; + struct scan_blocks *sbx = arg; + struct fsmap keys[2]; +- off64_t bperag; ++ off_t bperag; + int ret; + +- bperag = (off64_t)ctx->mnt.fsgeom.agblocks * +- (off64_t)ctx->mnt.fsgeom.blocksize; ++ bperag = (off_t)ctx->mnt.fsgeom.agblocks * ++ (off_t)ctx->mnt.fsgeom.blocksize; + + memset(keys, 0, sizeof(struct fsmap) * 2); + keys->fmr_device = ctx->fsinfo.fs_datadev; +diff --git a/spaceman/freesp.c b/spaceman/freesp.c +index 70dcdb5..f5177cb 100644 +--- a/spaceman/freesp.c ++++ b/spaceman/freesp.c +@@ -62,7 +62,7 @@ static void + addtohist( + xfs_agnumber_t agno, + xfs_agblock_t agbno, +- off64_t len) ++ off_t len) + { + long i; + +@@ -152,7 +152,7 @@ scan_ag( + struct fsmap *l, *h; + struct fsmap *p; + struct xfs_fd *xfd = &file->xfd; +- off64_t aglen; ++ off_t aglen; + xfs_agblock_t agbno; + unsigned long long freeblks = 0; + unsigned long long freeexts = 0; +diff --git a/spaceman/trim.c b/spaceman/trim.c +index e9ed47e..727dd81 100644 +--- a/spaceman/trim.c ++++ b/spaceman/trim.c +@@ -26,7 +26,7 @@ trim_f( + struct xfs_fd *xfd = &file->xfd; + struct xfs_fsop_geom *fsgeom = &xfd->fsgeom; + xfs_agnumber_t agno = 0; +- off64_t offset = 0; ++ off_t offset = 0; + ssize_t length = 0; + ssize_t minlen = 0; + int aflag = 0; diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch index bd2d025635..5bab162c85 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch +++ b/meta-filesystems/recipes-utils/xfsprogs/files/remove_flags_from_build_flags.patch @@ -1,3 +1,5 @@ +Upstream-Status: Pending + Index: xfsprogs-4.14.0/include/builddefs.in =================================================================== --- xfsprogs-4.14.0.orig/include/builddefs.in diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb index 5ab1d028fc..07c5e97dbb 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_6.6.0.bb @@ -1,34 +1,32 @@ SUMMARY = "XFS Filesystem Utilities" HOMEPAGE = "http://oss.sgi.com/projects/xfs" SECTION = "base" -LICENSE = "GPLv2 & LGPLv2.1" -LICENSE_libhandle = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \ +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LICENSE:libhandle = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" DEPENDS = "util-linux util-linux-native" SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ file://remove_flags_from_build_flags.patch \ - file://0001-build-Check-for-sync_file_range-libc-function.patch \ - file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ file://0001-support-usrmerge.patch \ + file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \ + file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \ " -SRC_URI[md5sum] = "5ca3f79e76e3fb984a03d1b42a2e60ba" -SRC_URI[sha256sum] = "7b500e148cebd08f99e37cf744c7843817b37e7be2a32c4dc57d6ea16e3019ae" - -inherit autotools-brokensep +SRC_URI[sha256sum] = "50ca2f4676df8fab4cb4c3ef3dd512d5551e6844d40a65a31d5b8e03593d22df" +inherit autotools-brokensep pkgconfig PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle" -DEPENDS += "util-linux" +DEPENDS += "util-linux libinih liburcu" -RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" +RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair" -FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs" -FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs" -FILES_${PN}-repair = "${base_sbindir}/xfs_repair" +FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs" +FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs" +FILES:${PN}-repair = "${base_sbindir}/xfs_repair" -FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}" +FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}" EXTRA_OECONF = "--enable-gettext=no \ --enable-scrub=no \ @@ -36,14 +34,14 @@ EXTRA_OECONF = "--enable-gettext=no \ 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 ??= "readline blkid" +PACKAGECONFIG ??= "blkid" -PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline" PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux" export DEBUG="-DNDEBUG" @@ -64,7 +62,7 @@ do_configure () { oe_runconf } -do_install_append() { +do_install:append() { oe_runmake 'DESTDIR=${D}' install-dev rm ${D}${libdir}/*.la rmdir --ignore-fail-on-non-empty ${D}${libdir} diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch new file mode 100644 index 0000000000..5e230e2cfb --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-add-missing-FTW_-macros-when-not-available-in-libc.patch @@ -0,0 +1,41 @@ +From 5facddc332c5ff8330f93c0a7e1b7f6d7bbd24a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 5 Nov 2023 08:31:21 -0800 +Subject: [PATCH] add missing FTW_ macros when not available in libc + +Fixes build with musl + +| xfsfind.c:176:13: error: use of undeclared identifier 'FTW_STOP' +| 176 | retval = FTW_STOP; +| | ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/global.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/global.h b/src/global.h +index 49570ef1..1c247488 100644 +--- a/src/global.h ++++ b/src/global.h +@@ -190,4 +190,16 @@ roundup_64(unsigned long long x, unsigned int y) + return rounddown_64(x + y - 1, y); + } + ++#ifndef FTW_ACTIONRETVAL ++#define FTW_ACTIONRETVAL 16 ++#endif ++ ++#ifndef FTW_CONTINUE ++#define FTW_CONTINUE 0 ++#endif ++ ++#ifndef FTW_STOP ++#define FTW_STOP 1 ++#endif ++ + #endif /* GLOBAL_H */ +-- +2.42.1 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch new file mode 100644 index 0000000000..1570f3131f --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-include-libgen.h-for-basename-API-prototype.patch @@ -0,0 +1,84 @@ +From 37caab7a43da5ede0ff1eb700f0257a213ac4b18 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Mar 2024 10:46:50 -0700 +Subject: [PATCH 1/2] include libgen.h for basename API prototype + +basename prototype has been removed from string.h from latest musl [1] +compilers e.g. clang-18 flags the absense of prototype as error. therefore +include libgen.h for providing it. + +[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7 + +Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-1-raj.khem@gmail.com/T/#t] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/splice-test.c | 1 + + src/stat_test.c | 1 + + src/t_ext4_dax_inline_corruption.c | 1 + + src/t_ext4_dax_journal_corruption.c | 1 + + src/t_mmap_collision.c | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/src/splice-test.c b/src/splice-test.c +index eb863673..7b7094f5 100644 +--- a/src/splice-test.c ++++ b/src/splice-test.c +@@ -11,6 +11,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <err.h> ++#include <libgen.h> + + #include <stdlib.h> + #include <stdio.h> +diff --git a/src/stat_test.c b/src/stat_test.c +index 95cfdc4f..77e1acdd 100644 +--- a/src/stat_test.c ++++ b/src/stat_test.c +@@ -4,6 +4,7 @@ + * Written by David Howells (dhowells@redhat.com) + */ + ++#include <libgen.h> + #include <stdarg.h> + #include <stdio.h> + #include <stdlib.h> +diff --git a/src/t_ext4_dax_inline_corruption.c b/src/t_ext4_dax_inline_corruption.c +index e1a39a6c..a40c5df5 100644 +--- a/src/t_ext4_dax_inline_corruption.c ++++ b/src/t_ext4_dax_inline_corruption.c +@@ -2,6 +2,7 @@ + /* Copyright (c) 2018 Intel Corporation. */ + #include <errno.h> + #include <fcntl.h> ++#include <libgen.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +diff --git a/src/t_ext4_dax_journal_corruption.c b/src/t_ext4_dax_journal_corruption.c +index ba7a96e4..53be10c2 100644 +--- a/src/t_ext4_dax_journal_corruption.c ++++ b/src/t_ext4_dax_journal_corruption.c +@@ -2,6 +2,7 @@ + /* Copyright (c) 2018 Intel Corporation. */ + #include <errno.h> + #include <fcntl.h> ++#include <libgen.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +diff --git a/src/t_mmap_collision.c b/src/t_mmap_collision.c +index c872f4e2..d9315fcf 100644 +--- a/src/t_mmap_collision.c ++++ b/src/t_mmap_collision.c +@@ -15,6 +15,7 @@ + */ + #include <errno.h> + #include <fcntl.h> ++#include <libgen.h> + #include <pthread.h> + #include <stdbool.h> + #include <stdio.h> +-- +2.44.0 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch new file mode 100644 index 0000000000..20095c86ab --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch @@ -0,0 +1,42 @@ +From 052818e91314b797d96d87672c60f6784160f935 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Mar 2024 10:50:59 -0700 +Subject: [PATCH 2/2] Add missing STATX_ATTR_* defines from musl sys/stat.h + +These defines are not provided by sys/stat.h on musl but are +in glibc's sys/stat.h, therefore to compile the tests on musl +based systems add the missing defines from linux/stat.h +if they are not provided + +Upstream-Status: Submitted [https://lore.kernel.org/fstests/20240325175323.3450750-2-raj.khem@gmail.com/T/#u] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/statx.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/statx.h b/src/statx.h +index 3f239d79..12599f5b 100644 +--- a/src/statx.h ++++ b/src/statx.h +@@ -12,6 +12,18 @@ + #define AT_STATX_DONT_SYNC 0x4000 /* - Don't sync attributes with the server */ + #endif + ++#ifndef STATX_ATTR_COMPRESSED ++#define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */ ++#define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */ ++#define STATX_ATTR_APPEND 0x00000020 /* [I] File is append-only */ ++#define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */ ++#define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */ ++#define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */ ++#define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */ ++#define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */ ++#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */ ++#endif ++ + #ifndef AT_NO_AUTOMOUNT + #define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount traversal */ + #endif +-- +2.44.0 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch new file mode 100644 index 0000000000..e823297343 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch @@ -0,0 +1,31 @@ +From 79c4715a46b80653eb98b61731c094c85e969220 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 14 Aug 2022 13:33:05 -0700 +Subject: [PATCH] Drop detached_mounts_propagation and remove sys/mount.h from + vfs/utils.c + +with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here +linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h +for the mount() API prototype. Until thats resolved lets not build this +testcase + +Upstream-Status: Inappropriate [Libc specific Workaround] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index e7442487..970f087a 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -33,7 +33,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ + dio-invalidate-cache stat_test t_encrypted_d_revalidate \ + attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \ + fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \ +- detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \ ++ ext4_resize t_readdir_3 splice2pipe \ + uuid_ioctl t_snapshot_deleted_subvolume + + EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \ diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb new file mode 100644 index 0000000000..c8a80523dd --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2024.03.03.bb @@ -0,0 +1,67 @@ +SUMMARY = "File system QA test suite" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" + +SRCREV = "088e5bd4cb6d7295612430a56ae84ff5c8f54730" +SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" +SRCREV_FORMAT = "default_unionmount" + +SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master \ + git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ + file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \ + file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ + file://0001-include-libgen.h-for-basename-API-prototype.patch \ + file://0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch \ + " + +S = "${WORKDIR}/git" + +# brokensep because m4/package_globals.m4 calls ". ./VERSION" (and that's not the only issue) +inherit autotools-brokensep useradd + +DEPENDS += "xfsprogs acl" +RDEPENDS:${PN} += "\ + bash \ + bc \ + coreutils \ + e2fsprogs \ + e2fsprogs-tune2fs \ + e2fsprogs-resize2fs \ + libaio \ + libcap-bin \ + overlayfs-tools \ + perl \ + python3 \ + python3-core \ + xfsprogs \ + acl \ + gawk \ +" + +USERADD_PACKAGES = "${PN}" +# these users are necessary to run the tests +USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2" + +EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root" + +TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE" + +do_configure:prepend() { + # this is done by Makefile configure target, but we don't call it in do_configure + cp -a ${S}/include/install-sh . +} + +do_install() { + # otherwise install-sh duplicates DESTDIR prefix + export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}" + oe_runmake install + + unionmount_target_dir=${D}${prefix}/xfstests/unionmount-testsuite + install -d $unionmount_target_dir/tests + install ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests + install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir +} + +FILES:${PN} += "${prefix}/xfstests" diff --git a/meta-filesystems/recipes-utils/xorriso/xorriso_1.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" |