diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc new file mode 100644 index 0000000000..68cfa8178c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils.inc @@ -0,0 +1,57 @@ +# This file contains content which was not automatically generated using cargo-bitbake on the cargo.toml file of uutils-coreutils +# Copyright (c) 2022, Snap Inc. +# Released under the MIT license (see COPYING.MIT for the terms) + +PROVIDES = "coreutils" +RPROVIDES:${PN} = "coreutils" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}" + +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux" + +CARGO_BUILD_FLAGS += "--features unix" +CARGO_BUILD_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', '--features feat_selinux', '', d)}" + +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'clang-native libselinux-native', '', d)}" + +export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}" +export SELINUX_LIB_DIR = "${WORKDIR}/recipe-sysroot-native${libdir}" +export SELINUX_INCLUDE_DIR = "${WORKDIR}/recipe-sysroot-native${includedir}" + +# The code which follows is strongly inspired from the GNU coreutils bitbake recipe: + +# [ df mktemp nice printenv base64 gets a special treatment and is not included in this +bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \ + env expand expr factor fmt fold groups head hostid id install \ + join link logname md5sum mkfifo nl nohup nproc od paste pathchk \ + pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \ + sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \ + tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes" + +bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}" + +base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \ + mknod mv pwd rm rmdir sleep stty sync touch true uname stat" + +sbindir_progs= "chroot" + +inherit update-alternatives + +# Higher than busybox (which uses 50) +ALTERNATIVE_PRIORITY = "100" + +# Higher than net-tools (which uses 100) +ALTERNATIVE_PRIORITY[hostname] = "110" + +ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df" + +# Use the multicall binary named "coreutils" for symlinks +ALTERNATIVE_TARGET = "${bindir}/coreutils" + +python __anonymous() { + for prog in d.getVar('base_bindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) + + for prog in d.getVar('sbindir_progs').split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog)) +} |