From: Ming Liu <[email protected]> Generate podman bash completion script with qemu wrapper.
When docker pkgconfig is enabled, also generate bash completion script for docker. Signed-off-by: Ming Liu <[email protected]> --- recipes-containers/podman/podman_git.bb | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/recipes-containers/podman/podman_git.bb b/recipes-containers/podman/podman_git.bb index 33d437a3..1c64272a 100644 --- a/recipes-containers/podman/podman_git.bb +++ b/recipes-containers/podman/podman_git.bb @@ -68,6 +68,18 @@ EXTRA_OEMAKE = " \ # packageconfig, the podman package will rconfict with docker. PACKAGECONFIG ?= "docker" +# podman builds bash completion with the help of podman binary, only the machines +# that support qemu usermode can enable this pkgconfig. +PACKAGECONFIG:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'completion', '', d)}" +DEPENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'qemu-native', '', d)}" + +inherit qemu bash-completion + +# To avoid breaking the recipes without 'completion' enabled. +ALLOW_EMPTY:${PN}-bash-completion = "1" + +QEMU_OPTIONS = "" + do_compile() { cd ${S}/src rm -rf .gopath @@ -116,6 +128,23 @@ do_install() { install -d "${D}${sysconfdir}/sysctl.d" install -m 0644 "${WORKDIR}/50-podman-rootless.conf" "${D}${sysconfdir}/sysctl.d" fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'completion', 'true', 'false', d)}; then + qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" + cat > ${WORKDIR}/podman-qemuwrapper << EOF +#!/bin/sh + +$qemu_binary "\$@" +EOF + chmod +x ${WORKDIR}/podman-qemuwrapper + ${WORKDIR}/podman-qemuwrapper ./bin/podman completion bash > ${B}/podman-bash-completion + install -d ${D}${datadir}/bash-completion/completions + install -m 0644 ${B}/podman-bash-completion ${D}${datadir}/bash-completion/completions/podman + if ${@bb.utils.contains('PACKAGECONFIG', 'docker', 'true', 'false', d)}; then + sed "s/podman/docker/g" ${B}/podman-bash-completion > ${B}/docker-bash-completion + install -m 0644 ${B}/docker-bash-completion ${D}${datadir}/bash-completion/completions/docker + fi + fi } do_install_ptest () { -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8531): https://lists.yoctoproject.org/g/meta-virtualization/message/8531 Mute This Topic: https://lists.yoctoproject.org/mt/103603296/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
