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