1SUMMARY = "File system QA test suite"
2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
4
5SRCREV = "088e5bd4cb6d7295612430a56ae84ff5c8f54730"
6SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
7SRCREV_FORMAT = "default_unionmount"
8
9SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master \
10           git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
11           file://0001-add-missing-FTW_-macros-when-not-available-in-libc.patch \
12           file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
13           file://0001-include-libgen.h-for-basename-API-prototype.patch \
14           file://0002-Add-missing-STATX_ATTR_-defines-from-musl-sys-stat.h.patch \
15           "
16
17S = "${WORKDIR}/git"
18
19# brokensep because m4/package_globals.m4 calls ". ./VERSION" (and that's not the only issue)
20inherit autotools-brokensep useradd
21
22DEPENDS += "xfsprogs acl"
23RDEPENDS:${PN} += "\
24    bash \
25    bc \
26    coreutils \
27    e2fsprogs \
28    e2fsprogs-tune2fs \
29    e2fsprogs-resize2fs \
30    libaio \
31    libcap-bin \
32    overlayfs-tools \
33    perl \
34    python3 \
35    python3-core \
36    xfsprogs \
37    acl \
38    gawk \
39"
40
41USERADD_PACKAGES = "${PN}"
42# these users are necessary to run the tests
43USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
44
45EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
46
47TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
48
49do_configure:prepend() {
50    # this is done by Makefile configure target, but we don't call it in do_configure
51    cp -a ${S}/include/install-sh .
52}
53
54do_install() {
55    # otherwise install-sh duplicates DESTDIR prefix
56    export DIST_ROOT="/" DIST_MANIFEST="" DESTDIR="${D}"
57    oe_runmake install
58
59    unionmount_target_dir=${D}${prefix}/xfstests/unionmount-testsuite
60    install -d $unionmount_target_dir/tests
61    install ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
62    install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
63    install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
64    install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
65}
66
67FILES:${PN} += "${prefix}/xfstests"
68