From c1d5aa46109995c733e29dc6c9fa9efb57749ec0 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 14 Aug 2022 13:37:33 -0700 Subject: xfstests: Upgrade to 2022.07.31 release Rename recipe to reflect version number Add patches to build with glibc 2.36 Disable one test namely detached_mounts_propagation Signed-off-by: Khem Raj --- .../0001-Add-a-return-type-to-aio_rw.patch | 28 ++++++++++ ...ed_mounts_propagation-and-remove-sys-moun.patch | 47 ++++++++++++++++ .../recipes-utils/xfstests/xfstests_2022.07.31.bb | 64 ++++++++++++++++++++++ .../recipes-utils/xfstests/xfstests_git.bb | 61 --------------------- 4 files changed, 139 insertions(+), 61 deletions(-) create mode 100644 meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch create mode 100644 meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch create mode 100644 meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb delete mode 100644 meta-filesystems/recipes-utils/xfstests/xfstests_git.bb diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch new file mode 100644 index 0000000000..e0a04c9073 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0001-Add-a-return-type-to-aio_rw.patch @@ -0,0 +1,28 @@ +From f172ea004d34b00aa7bd5baff9422b2ab80df6e7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 14 Aug 2022 13:32:10 -0700 +Subject: [PATCH 1/2] Add a return type to aio_rw + +Compilers complain about the function prototype otherwise + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + ltp/fsx.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ltp/fsx.c b/ltp/fsx.c +index 12c2cc33..55b4e9b6 100644 +--- a/ltp/fsx.c ++++ b/ltp/fsx.c +@@ -2429,6 +2429,7 @@ out_error: + return -1; + } + #else ++int + aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset) + { + fprintf(stderr, "io_rw: need AIO support!\n"); +-- +2.37.2 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch new file mode 100644 index 0000000000..a594b73a12 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests/0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch @@ -0,0 +1,47 @@ +From dd43cbc7f50266cdc6210f2b920d7f648a83bdd6 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 14 Aug 2022 13:33:05 -0700 +Subject: [PATCH 2/2] Drop detached_mounts_propagation and remove sys/mount.h + from vfs/utils.c + +with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here +linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h +for the mount() API prototype. Until thats resolved lets not build this +testcase + +Upstream-Status: Inappropriate [Libc specific Workaround] + +Signed-off-by: Khem Raj +--- + src/Makefile | 2 +- + src/vfs/utils.c | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 665edcf9..7debcbbd 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -31,7 +31,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ + dio-invalidate-cache stat_test t_encrypted_d_revalidate \ + attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \ + fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \ +- detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \ ++ ext4_resize t_readdir_3 splice2pipe \ + uuid_ioctl + + EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \ +diff --git a/src/vfs/utils.c b/src/vfs/utils.c +index 1388edda..aacd6c0a 100644 +--- a/src/vfs/utils.c ++++ b/src/vfs/utils.c +@@ -10,7 +10,6 @@ + #include + #include + #include +-#include + #include + #include + #include +-- +2.37.2 + diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb new file mode 100644 index 0000000000..647b6fcd73 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfstests/xfstests_2022.07.31.bb @@ -0,0 +1,64 @@ +SUMMARY = "File system QA test suite" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" + +SRCREV_FORMAT = "xfstests_unionmount" + +SRC_URI = "\ + git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ + git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ + file://0001-Add-a-return-type-to-aio_rw.patch \ + file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \ +" + +SRCREV_xfstests = "b91889d79e1d92e22860504e40108a2e4d054c33" +SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep useradd + +DEPENDS += "xfsprogs acl" +RDEPENDS:${PN} += "\ + bash \ + bc \ + coreutils \ + e2fsprogs \ + e2fsprogs-tune2fs \ + e2fsprogs-resize2fs \ + libaio \ + libcap-bin \ + overlayfs-progs \ + perl \ + python3 \ + python3-core \ + xfsprogs \ + acl \ +" + +USERADD_PACKAGES = "${PN}" +# these users are necessary to run the tests +USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2" + +EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root" + +# install-sh script in the project is outdated +# we use the one from the latest libtool to solve installation issues +# It looks like the upstream is not interested in having it fixed :( +# https://www.spinics.net/lists/fstests/msg16981.html +do_configure:prepend() { + cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} +} + +do_install:append() { + unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite + install -d ${D}/usr/xfstests/unionmount-testsuite/tests + install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests + install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir + install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir +} + +FILES:${PN} += "\ + /usr/xfstests \ +" diff --git a/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb b/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb deleted file mode 100644 index a6fc89d606..0000000000 --- a/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "File system QA test suite" -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038" - -SRCREV_FORMAT = "xfstests_unionmount" - -SRC_URI = "\ - git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \ - git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \ -" - -SRCREV_xfstests = "47ed066309716c73a97fff9b7f557f72d90bffb4" -SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep useradd - -DEPENDS += "xfsprogs acl" -RDEPENDS:${PN} += "\ - bash \ - bc \ - coreutils \ - e2fsprogs \ - e2fsprogs-tune2fs \ - e2fsprogs-resize2fs \ - libcap-bin \ - overlayfs-progs \ - perl \ - python3 \ - python3-core \ - xfsprogs \ - acl \ -" - -USERADD_PACKAGES = "${PN}" -# these users are necessary to run the tests -USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2" - -EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root" - -# install-sh script in the project is outdated -# we use the one from the latest libtool to solve installation issues -# It looks like the upstream is not interested in having it fixed :( -# https://www.spinics.net/lists/fstests/msg16981.html -do_configure:prepend() { - cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B} -} - -do_install:append() { - unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite - install -d ${D}/usr/xfstests/unionmount-testsuite/tests - install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests - install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir - install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir - install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir -} - -FILES:${PN} += "\ - /usr/xfstests \ -" -- cgit v1.2.3-54-g00ecf