summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-06-25 22:25:14 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-06-28 15:35:59 +0300
commit0903674e2d7bafcf89cf75adbcf34cac5ce4b938 (patch)
treec46ac7b80c4e559224df62f95931ed8a2ab51435 /poky/meta/recipes-core/util-linux/util-linux_2.37.bb
parenta1a6aefba3ae965f2447b102663b2a6a40aa968a (diff)
downloadopenbmc-0903674e2d7bafcf89cf75adbcf34cac5ce4b938.tar.xz
poky: subtree update:9d1b332292..2834c2f853
Alex Stewart (3): opkg-utils: upgrade to version 0.4.5 opkg: upgrade to version 0.4.5 opkg: add QA check for openssl feed verification Alexander Kanavin (37): virglrenderer: explicitly depend on libgbm elfutils: update 0.183 -> 0.185 libcap: update 2.49 -> 2.50 perl: split perl-cross into its own recipe perl-cross: 1.3.5 -> 1.3.6 perl: update 5.32.1 -> 5.34.0 libgcrypt: upgrade 1.9.2 -> 1.9.3 erofs-utils: correct upstream version check m4: correct ptest failures ovmf: update 2021.02 -> 2021.05 apt: update 2.2.3 -> 2.2.4 util-linux: update 2.36.2 -> 2.37 cross-canadian: correct the location of pkg-config files nettle: update 3.7.2 -> 3.7.3 glib-2.0: update 2.68.2 -> 2.68.3 meson: upgrade 0.58.0 -> 0.58.1 ell: upgrade 0.40 -> 0.41 erofs-utils: upgrade 1.2.1 -> 1.3 grub: upgrade 2.04+2.06~rc1 -> 2.06 gptfdisk: upgrade 1.0.7 -> 1.0.8 connman: update 1.39 -> 1.40 libksba: upgrade 1.5.1 -> 1.6.0 libnss-mdns: upgrade 0.15 -> 0.15.1 libwpe: upgrade 1.10.0 -> 1.10.1 puzzles: upgrade to latest revision rng-tools: upgrade 6.12 -> 6.13 stress-ng: upgrade 0.12.09 -> 0.12.10 python3-magic: upgrade 0.4.23 -> 0.4.24 sudo: upgrade 1.9.7 -> 1.9.7p1 wpebackend-fdo: upgrade 1.8.4 -> 1.10.0 xkeyboard-config: upgrade 2.32 -> 2.33 bitbake.conf: enable debuginfod in native/nativesdk gdb-cross: enable debuginfod util-linux: backport a patch to address mkswap hangs selftest: do not hardcode /tmp/sdk glibc: do not enable memory tagging on aarch64 just yet mesa: enable gallium intel drivers when building for x86 Alexandre Belloni (1): runqemu: time the copy to tmpfs Alexey Brodkin (3): gcc: Fixes for ARC gdb: Add native GDB support for ARC gcc: Apply multilib fix to ARC as well Alistair Francis (3): recipes-bsp/opensbi: Disable FW_PIC recipes-bsp/u-boot: Allow deploying the u-boot DTB recipes-bsp/opensbi: Add support for specifying a device tree Anders Wallin (1): coreutils: remove NOSTAT_LEAF_OPTIMIZATION Andrea Adami (1): kernel.bbclass: fix do_sizecheck() comparison Andreas Müller (19): mesa: upgrade 21.1.1 -> 21.1.2 systemd: Add more ugly casts to fix build with musl alsa-lib: upgrade 1.2.4 -> 1.2.5 alsa-plugins: upgrade 1.2.2 -> 1.2.5 alsa-tools: upgrade 1.2.2 -> 1.2.5 alsa-topology-conf: upgrade 1.2.4 -> 1.2.5 alsa-ucm-conf: upgrade 1.2.4 -> 1.2.5 alsa-utils(-scripts): upgrade 1.2.4 -> 1.2.5 libinput: upgrade 1.17.3 -> 1.18.0 xf86-input-libinput: upgrade 0.30.0 -> 1.0.1 epiphany: upgrade 40.1 -> 40.2 vala: upgrade 0.52.3 -> 0.52.4 p11-kit: upgrade 0.23.22 -> 0.23.24 xorgproto: upgrade 2021.4.99.1 -> 2021.4.99.2 mpg123: 1.27.2 -> 1.28.0 libx11: upgrade 1.7.1 -> 1.7.2 libx11: remove CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" libpcap: upgrade 1.10.0 -> 1.10.1 mesa: upgrade 21.1.2 -> 21.1.3 Bruce Ashfield (10): linux-yocto/5.10: update to v5.10.42 linux-yocto/5.10: temporarily revert aufs linux-yocto-dev: base AUTOREV on specified version linux-yocto/5.4: update to v5.4.124 linux-yocto/5.10: restore aufs linux-yocto/5.10: update to v5.10.43 linux-yocto/5.4: update to v5.4.125 linux-yocto/5.10: cgroup1: fix leaked context root causing sporadic NULL deref in LTP btrfs-tools: include linux/const.h to fix build with 5.12+ headers bsps/5.10: update to v5.10.43 Changqing Li (1): libjpeg-turbo: fix do_compile error on arm Chris Laplante (1): bitbake: build: warn on setting noexec/nostamp/fakeroot flag to any value besides '1' Daniel Wagenknecht (5): ref-manual: variables: update examples refering to DEPLOY_DIR_IMAGE ref-manual: variables: document IMGDEPLOYDIR ref-manual: migration-2.2: add note about IMGDEPLOYDIR ref-manual: variables: fixup example in IMAGE_CMD ref-manual: variables: fixup class reference in IMAGE_MANIFEST Joe Slater (1): tcf-agent: change license to EPL/EDL Joshua Watt (2): classes/buildhistory: Add option to strip path prefix classes/reproducible_build: Use atomic rename for SDE file Justin Bronder (1): populate_sdk_ext: copy BBMULTICONFIG files Kai Kang (1): valgrind: fix a typo Khem Raj (14): harfbuzz: Fix unused-variable warning arch-armv4: Allow -march=armv4 ffmpeg: Link in libatomic on riscv32 libssp-nonshared: Use a different implementation for __stack_chk_fail qemuriscv: Enable 4 core emulation gcompat: Add recipe musl: Do not package glibc loader musl: Set UPSTREAM_CHECK_COMMITS Revert "libgcc-initial: Do not build fp128 to decimal ppc functions" qemu: Provide float128 via hwcaps2 on ppc64le linuxloader: Be aware of riscv32 ldso linuxloader.bbclass: Add entry for ppc64 LE glibc loader gcompat: Create symlinks to glibc ldso locations sdk: Enable do_populate_sdk with multilibs Luca Boccassi (1): systemd: install new sysext tool via systemd-extra-utils Marcus Comstedt (1): conf/machine-sdk: Add ppc64 SDK machine Matt Spencer (1): systemd-conf: Prevent systemd-network from managing veth interfaces Michael Halstead (1): releases: update to include 3.1.8 Michael Opdenacker (12): bitbake: docs: Add BB_HASHSERVE definition to glossary bitbake: doc: bitbake-user-manual: fix erroneous statement in glossary intro manuals: fix epub export warnings ref-manual: move migration guides to separate document releases: clarify supported and outdated releases releases: put release number after "Release Series" sdk-manual: fix broken references migration guides: remove index reference to BB_SETSCENE_VERIFY_FUNCTION2 manuals: fix issues related to trailing dots sdk-manual: add missing quoting around "devtool upgrade" sdk-manual: fix wrong word sdk-manual: add missing index references Ming Liu (2): u-boot-tools: fix a mkimage signature issue uboot-sign.bbclass: fix some install commands Mingli Yu (2): sysstat: make the service start automatically boost: fix wrong type for mutex in regex v5 Nicolas Dechesne (3): index: remove the link/section to 'mega manual' from main page index: remove links to releases manual and index index: split releases manuals and indexes into two sections in the tree Paul Barker (2): bitbake: asyncrpc: Add ping method bitbake: asyncrpc: Reduce verbosity Quentin Schulz (6): docs: ref-manual: migration-3.0: remove reference to non-existing BB_SETSCENE_VERIFY_FUNCTION2 docs: ref-manual: variables: add missing links to terms glossary bitbake: doc: user-manual: remove mentions to BBVERSIONS bitbake: doc: user-manual: ref-manual: remove mentions to BB_SETSCENE_VERIFY_FUNCTION2 documentation: Makefile: turn warnings into errors by default docs: replace ``FOO`` by :term:`FOO` where possible Richard Purdie (11): lttng-tools: upgrade 2.12.3 -> 2.12.4 qemurunner: Try to ensure mmap'd libs are paged in qemurunner: Increase startup timeout 120 -> 300 build-appliance-image: Update to master head revision test-manual: add initial reproducible builds documentation test-manual: Add initial YP Compatible documentation README: Tweak as the website isn't really new now README: Move to using markdown as the format perf: Use python3targetconfig to ensure we use target libraries ltp: Reinstate 'hanging' tests for evaluation README.poky: Formatting and content cleanup Richard Weinberger (1): Document erofs filesystem targets Robert P. J. Day (2): ref-manual: add SRCTREECOVEREDTASKS to variable glossary ref-manual: add glossary entry for NON_MULTILIB_RECIPES Ross Burton (11): mx: remove from Openembedded Core core-image-weston: remove Clutter examples Remove Clutter and Cogl oeqa: remove Clutter usage meta-poky: remove clutter references Remove Clutter references gcc: enable branch protection by standard image_types: add zsync conversions avahi: apply fix for CVE-2021-3468 qemu: fix virtio vhost-user-gpu CVEs gcc: replace gdb helper install revert with the upstream fix Sakib Sajal (3): oeqa/core/target/qemu.py: display contents of dumped files oe-time-dd-test.sh: improve output formatting oe-time-dd-test.sh: add iostat command Saul Wold (1): qemurunner: add second qmp port Scott Weaver (1): bitbake: fetch2: add check for empty SRC_URI hash string Tim Orling (8): maintainers.inc: update email address python3-scons: upgrade 3.1.2 -> 4.1.0; simplify python3-hypothesis: upgrade 6.13.7 -> 6.13.14 at-spi2-core: upgrade 2.40.1 -> 2.40.2 python3-importlib-metadata: upgrade 4.4.0 -> 4.5.0 python3-manifest: add statistics subpackage python3-hypothesis: upgrade 6.13.14 -> 6.14.0 python3: skip tests requiring tools-sdk Tony Battersby (1): glibc: fix path to place zdump in the tzcode package Tony Tascioglu (3): valgrind: Improve non-deterministic ptest reliability valgrind: remove buggy ptest from arm64 valgrind: Actually install list of non-deterministic ptests hongxu (1): nativesdk-libdnf: fix installed and not shipped files wangmy (21): cmake: upgrade 3.20.2 -> 3.20.3 mtools: upgrade 4.0.27 -> 4.0.29 python3-magic: upgrade 0.4.22 -> 0.4.23 less: upgrade 586 -> 589 python3-libarchive-c: upgrade 3.0 -> 3.1 diffoscope: upgrade 175 -> 177 dtc: upgrade 1.6.0 -> 1.6.1 git: upgrade 2.31.1 -> 2.32.0 gnutls: upgrade 3.7.1 -> 3.7.2 go: upgrade 1.16.4 -> 1.16.5 less: upgrade 589 -> 590 ethtool: upgrade 5.10 -> 5.12 m4: upgrade 1.4.18 -> 1.4.19 alsa-lib: upgrade 1.2.5 -> 1.2.5.1 alsa-utils: upgrade 1.2.5 -> 1.2.5.1 alsa-topology-conf: upgrade 1.2.5 -> 1.2.5.1 alsa-ucm-conf: upgrade 1.2.5 -> 1.2.5.1 blktrace: upgrade 1.2.0 -> 1.3.0 enchant2: upgrade 2.2.15 -> 2.3.0 librepo: upgrade 1.14.0 -> 1.14.1 createrepo-c: upgrade 0.17.2 -> 0.17.3 zangrc (1): python3-pycairo: upgrade 1.20.0 -> 1.20.1 zhengruoqin (6): python3-importlib-metadata: upgrade 4.3.0 -> 4.4.0 libogg: upgrade 1.3.4 -> 1.3.5 liburcu: upgrade 0.12.2 -> 0.13.0 libcomps: upgrade 0.1.16 -> 0.1.17 python3-dbusmock: upgrade 0.23.0 -> 0.23.1 nfs-utils: upgrade 2.5.3 -> 2.5.4 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Iac124e214336beb9cab7fb3b67a6968d4e34d06f
Diffstat (limited to 'poky/meta/recipes-core/util-linux/util-linux_2.37.bb')
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.37.bb302
1 files changed, 302 insertions, 0 deletions
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
new file mode 100644
index 0000000000..9a50c75e77
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
@@ -0,0 +1,302 @@
+require util-linux.inc
+
+#gtk-doc is not enabled as it requires xmlto which requires util-linux
+inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest
+DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid"
+
+PACKAGES =+ "${PN}-swaponoff"
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}"
+
+python util_linux_binpackages () {
+ def pkg_hook(f, pkg, file_regex, output_pattern, modulename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg)
+
+ if d.getVar('ALTERNATIVE_' + pkg):
+ return
+ if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
+ d.setVar('ALTERNATIVE_' + pkg, modulename)
+
+ bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split())))
+ for dir in bindirs:
+ do_split_packages(d, root=dir,
+ file_regex=r'(.*)', output_pattern='${PN}-%s',
+ description='${PN} %s',
+ hook=pkg_hook, extra_depends='')
+
+ # There are some symlinks for some binaries which we have ignored
+ # above. Add them to the package owning the binary they are
+ # pointing to
+ extras = {}
+ dvar = d.getVar('PKGD')
+ for root in bindirs:
+ for walkroot, dirs, files in os.walk(dvar + root):
+ for f in files:
+ file = os.path.join(walkroot, f)
+ if not os.path.islink(file):
+ continue
+
+ pkg = os.path.basename(os.readlink(file))
+ extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1)
+
+ pn = d.getVar('PN')
+ for pkg, links in extras.items():
+ of = d.getVar('FILES_' + pn + '-' + pkg)
+ links = of + links
+ d.setVar('FILES_' + pn + '-' + pkg, links)
+}
+
+# we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS
+PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages "
+
+# skip libuuid as it will be packaged by the util-linux-libuuid recipe
+python util_linux_libpackages() {
+ do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(?!uuid)(.*)\.so\..*$',
+ output_pattern='${PN}-lib%s',
+ description='${PN} lib%s',
+ extra_depends='', prepend=True, allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "util_linux_libpackages"
+
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms"
+UTIL_LINUX_LIBDIR = "${libdir}"
+UTIL_LINUX_LIBDIR_class-target = "${base_libdir}"
+EXTRA_OECONF = "\
+ --enable-libuuid --enable-libblkid \
+ \
+ --enable-fsck --enable-kill --enable-last --enable-mesg \
+ --enable-mount --enable-partx --enable-raw --enable-rfkill \
+ --enable-unshare --enable-write \
+ \
+ --disable-bfs --disable-chfn-chsh --disable-login \
+ --disable-makeinstall-chown --disable-minix --disable-newgrp \
+ --disable-use-tty-group --disable-vipw \
+ \
+ --without-udev \
+ \
+ usrsbin_execdir='${sbindir}' \
+ --libdir='${UTIL_LINUX_LIBDIR}' \
+"
+
+EXTRA_OECONF_append_class-target = " --enable-setpriv"
+EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv"
+EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv"
+EXTRA_OECONF_append = " --disable-hwclock-gplv3"
+
+# enable pcre2 for native/nativesdk to match host distros
+# this helps to keep same expectations when using the SDK or
+# build host versions during development
+#
+PACKAGECONFIG ?= "pcre2"
+PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
+# Respect the systemd feature for uuidd
+PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
+# Build python bindings for libmount
+PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3"
+# Readline support
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+# PCRE support in hardlink
+PACKAGECONFIG[pcre2] = ",,libpcre2"
+PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
+FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
+FILES_${PN}-mount = "${sysconfdir}/default/mountall"
+FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
+FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
+ ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
+
+# Util-linux' blkid replaces the e2fsprogs one
+RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid"
+
+RRECOMMENDS_${PN}_class-native = ""
+RRECOMMENDS_${PN}_class-nativesdk = ""
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-nativesdk = ""
+
+RDEPENDS_${PN} += " util-linux-libuuid"
+RDEPENDS_${PN}-dev += " util-linux-libuuid-dev"
+
+RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
+
+RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
+RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz"
+RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug"
+RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
+ALLOW_EMPTY_${PN}-swaponoff = "1"
+
+#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim"
+SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service"
+SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
+SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
+SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
+
+do_install () {
+ # with ccache the timestamps on compiled files may
+ # end up earlier than on their inputs, this allows
+ # for the resultant compilation in the install step.
+ oe_runmake 'CC=${CC}' 'LD=${LD}' \
+ 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
+
+ mkdir -p ${D}${base_bindir}
+
+ sbinprogs="agetty ctrlaltdel cfdisk vipw vigr"
+ sbinprogs_a="pivot_root hwclock mkswap losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin"
+ binprogs_a="dmesg getopt kill more umount mount login su mountpoint"
+
+ if [ "${base_sbindir}" != "${sbindir}" ]; then
+ mkdir -p ${D}${base_sbindir}
+ for p in $sbinprogs $sbinprogs_a; do
+ if [ -f "${D}${sbindir}/$p" ]; then
+ mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p"
+ fi
+ done
+ fi
+
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ mkdir -p ${D}${base_bindir}
+ for p in $binprogs_a; do
+ if [ -f "${D}${bindir}/$p" ]; then
+ mv "${D}${bindir}/$p" "${D}${base_bindir}/$p"
+ fi
+ done
+ fi
+
+ install -d ${D}${sysconfdir}/default/
+ echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
+
+ rm -f ${D}${bindir}/chkdupexe
+}
+
+do_install_append_class-target () {
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
+ install -d ${D}${sysconfdir}/pam.d
+ install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser
+ install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l
+ # Required for "su -" aka "su --login" because
+ # otherwise it uses "other", which has "auth pam_deny.so"
+ # and thus prevents the operation.
+ ln -s su ${D}${sysconfdir}/pam.d/su-l
+ fi
+}
+# nologin causes a conflict with shadow-native
+# kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir})
+do_install_append_class-native () {
+ rm -f ${D}${base_sbindir}/nologin
+ rm -f ${D}${base_bindir}/kill
+}
+
+# dm-verity support introduces a circular build dependency, so util-linux-libuuid is split out for target builds
+# Need to build libuuid for uuidgen, but then delete it and let the other recipe ship it
+do_install_append () {
+ rm -rf ${D}${includedir}/uuid ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/libuuid* ${D}${base_libdir}/libuuid*
+}
+
+ALTERNATIVE_PRIORITY = "80"
+
+ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
+ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
+ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
+ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt"
+ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
+ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
+ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate"
+ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
+ALTERNATIVE_LINK_NAME[flock] = "${bindir}/flock"
+ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
+ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
+ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim"
+ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt"
+ALTERNATIVE_${PN}-agetty = "getty"
+ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
+ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
+ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump"
+ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
+ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
+ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
+ALTERNATIVE_${PN}-last = "last lastb"
+ALTERNATIVE_LINK_NAME[last] = "${bindir}/last"
+ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb"
+ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger"
+ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
+ALTERNATIVE_LINK_NAME[mesg] = "${bindir}/mesg"
+ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
+ALTERNATIVE_LINK_NAME[mcookie] = "${bindir}/mcookie"
+ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
+ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
+ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint"
+ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
+ALTERNATIVE_LINK_NAME[nsenter] = "${bindir}/nsenter"
+ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
+ALTERNATIVE_LINK_NAME[prlimit] = "${bindir}/prlimit"
+ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile"
+ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice"
+ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
+ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
+ALTERNATIVE_LINK_NAME[rtcwake] = "${sbindir}/rtcwake"
+ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv"
+ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid"
+ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
+ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin"
+ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
+ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
+ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
+ALTERNATIVE_LINK_NAME[taskset] = "${bindir}/taskset"
+ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
+ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
+ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump"
+ALTERNATIVE_LINK_NAME[uuidgen] = "${bindir}/uuidgen"
+ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PTEST_BINDIR = "1"
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests/ts
+ find . -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
+ find ./.libs -name 'sample*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
+ find ./.libs -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \;
+
+ cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/
+ cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected
+ cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
+ cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH}
+
+ # The original paths of executables to be tested point to a local folder containing
+ # the executables. We want to test the installed executables, not the local copies.
+ # So strip the paths, the executables will be located via "which"
+ sed -i \
+ -e '/^TS_CMD/ s|$top_builddir/||g' \
+ -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \
+ ${D}${PTEST_PATH}/tests/commands.sh
+
+ # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]'
+ sed -i -e \
+ '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
+ ${D}${PTEST_PATH}/tests/functions.sh
+
+ # Running "kill" without the the complete path would use the shell's built-in kill
+ sed -i -e \
+ '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
+ ${D}${PTEST_PATH}/tests/commands.sh
+
+
+ sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
+
+}