<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Richard, may I ask You kindly help here to decide if such files should be stored in <i class="">bitbake</i> repository ?<div class=""><br class=""><div class="">And I see that I used <i class="">--subject-prefix="[bitbake-devel]”</i> flag while uploading patch, that cause to add additional "[ ]" to topic:</div><div class=""><i class="">[[bitbake-devel]] Add files supporting bash completion for bitbake tools</i></div><div class="">Generally I can’t see my patch in the patchwork, It means that I should try again upload this changes to be sure that will be in patchwork properly ?</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">Wiadomość napisana przez Łukasz Gardoń <<a href="mailto:lukaszgardon555@gmail.com" class="">lukaszgardon555@gmail.com</a>> w dniu 03.09.2018, o godz. 21:25:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Add missed <a href="mailto:bitbake-devel@lists.openembedded.org" class="">bitbake-devel@lists.openembedded.org</a> mailing group to this thread.<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">Wiadomość napisana przez Łukasz Gardoń <<a href="mailto:lukaszgardon555@gmail.com" class="">lukaszgardon555@gmail.com</a>> w dniu 03.09.2018, o godz. 21:22:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Alex,<div class=""><br class=""></div><div class="">thank’s for Your suggestion but for in my opinion keeping this files in <i class="">bitbake</i> repository is the better place.</div><div class="">I would not know to find/search such completion files in <i class="">bash-completion</i> or any other place.</div><div class="">What about vim plugin which is stored in <i class="">contrib/</i> dir[1] and which is also comes from dedicated repo[2] same thing.</div><div class=""><br class=""></div><div class="">Anyway, could someone from project architects could comment and help here ?</div><div class=""><br class=""></div><div class="">[1] vim bitbake plugin in <i class="">bitbake: <a href="https://github.com/openembedded/bitbake/tree/master/contrib/vim" class="">https://github.com/openembedded/bitbake/tree/master/contrib/vim</a></i></div><div class="">[2] vim bitbake plugin repo: <a href="https://github.com/kergoth/vim-bitbake" class="">https://github.com/kergoth/vim-bitbake</a><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">Wiadomość napisana przez Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com" class="">alex.kanavin@gmail.com</a>> w dniu 03.09.2018, o godz. 11:25:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hello Lukasz,<br class=""><br class="">nobody will find your contributions in bitbake/contrib, and so they<br class="">will be unused and will bitrot. The proper place is the upstream<br class="">bash-completion project, which will get picked up by all Linux<br class="">distributions.<br class=""><br class="">Alex<br class=""><br class="">2018-09-02 12:27 GMT+02:00 Łukasz Gardoń <<a href="mailto:lukaszgardon555@gmail.com" class="">lukaszgardon555@gmail.com</a>>:<br class=""><blockquote type="cite" class="">Hi Alex,<br class=""><br class="">With information comes file from bitbake repository -<br class="">bitbake/contrib/README: "This directory is for additional contributed files<br class="">which may be useful.”.<br class="">I think that this is proper place for such files.<br class=""><br class="">Wiadomość napisana przez Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com" class="">alex.kanavin@gmail.com</a>> w dniu<br class="">01.09.2018, o godz. 21:33:<br class=""><br class="">The right upstream destination for this is almost certainly<br class=""><a href="https://github.com/scop/bash-completion" class="">https://github.com/scop/bash-completion</a><br class=""><br class="">Alex<br class=""><br class="">2018-09-01 15:36 GMT+02:00 Łukasz Gardoń <<a href="mailto:lukaszgardon555@gmail.com" class="">lukaszgardon555@gmail.com</a>>:<br class=""><br class="">Repository with more details:<br class=""><a href="https://github.com/lukaszgard/bitbake-completion" class="">https://github.com/lukaszgard/bitbake-completion</a><br class=""><br class="">Signed-off-by: Łukasz Gardoń <<a href="mailto:lukaszgardon555@gmail.com" class="">lukaszgardon555@gmail.com</a>><br class="">---<br class="">contrib/completion/bash/bitbake_completion | 108 ++++++++++<br class="">.../bash/bitbake_diffsigs_completion | 86 ++++++++<br class="">.../bash/bitbake_dumpsig_completion | 89 +++++++++<br class="">.../completion/bash/bitbake_layers_completion | 188 ++++++++++++++++++<br class="">.../completion/bash/bitbake_prserv_completion | 76 +++++++<br class="">.../bash/bitbake_selftest_completion | 34 ++++<br class="">6 files changed, 581 insertions(+)<br class="">create mode 100644 contrib/completion/bash/bitbake_completion<br class="">create mode 100644 contrib/completion/bash/bitbake_diffsigs_completion<br class="">create mode 100644 contrib/completion/bash/bitbake_dumpsig_completion<br class="">create mode 100644 contrib/completion/bash/bitbake_layers_completion<br class="">create mode 100644 contrib/completion/bash/bitbake_prserv_completion<br class="">create mode 100644 contrib/completion/bash/bitbake_selftest_completion<br class=""><br class="">diff --git a/contrib/completion/bash/bitbake_completion<br class="">b/contrib/completion/bash/bitbake_completion<br class="">new file mode 100644<br class="">index 00000000..23cadf6e<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_completion<br class="">@@ -0,0 +1,108 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake 1.39.1 release.<br class="">+#<br class="">+# Copyright (C) 2014 Sergio Prado <<a href="mailto:sergio.prado@e-labworks.com" class="">sergio.prado@e-labworks.com</a>><br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake()<br class="">+{<br class="">+ local cur prev opts_short opts_long tasks recipes ui<br class="">+ local bb_layers_conf bb_layers_md5 bb_recipes<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-h -b -k -f -c -C -r -R -v -D -q -n -S -p -s -e -g -I \<br class="">+ -l -P -u -B -T -m -w"<br class="">+<br class="">+ opts_long="--version --help --buildfile= --continue --force --cmd= \<br class="">+ --clear-stamp= --read= --postread= --verbose --debug --quiet<br class="">\<br class="">+ --dry-run --dump-signatures= --parse-only --show-versions \<br class="">+ --environment --graphviz --ignore-deps= --log-domains=<br class="">--profile \<br class="">+ --ui= --token= --revisions-changed --server-only --bind= \<br class="">+ --idle-timeout= --no-setscene --setscene-only<br class="">--remote-server= \<br class="">+ --kill-server --observe-only --status-only --write-log=<br class="">--runall= \<br class="">+ --runonly="<br class="">+<br class="">+ tasks="build compile compile_ptest_base configure configure_ptest_base<br class="">deploy \<br class="">+ distrodata fetch image image_complete install install_ptest_base<br class="">package \<br class="">+ package_qa package_write_deb package_write_ipk package_write_rpm<br class="">package_write_tar \<br class="">+ packagedata patch populate_lic populate_sdk populate_sysroot<br class="">prepare_recipe_sysroot \<br class="">+ rm_work rm_work_all unpack checkpkg checkuri clean cleanall<br class="">cleansstate devpyshell \<br class="">+ devshell listtasks package_index bootimg bundle_initramfs rootfs<br class="">testimage \<br class="">+ testimage_auto compile_kernelmodules diffconfig kernel_checkout<br class="">kernel_configcheck \<br class="">+ kernel_configme kernel_menuconfig kernel_metadata menuconfig<br class="">savedefconfig shared_workdir \<br class="">+ sizecheck strip validate_branches spdx"<br class="">+<br class="">+ ui="knotty ncurses taskexp"<br class="">+<br class="">+ if [[ "$prev" == "=" ]]; then<br class="">+ prev="${COMP_WORDS[COMP_CWORD - 2]}"<br class="">+ elif [[ "$cur" == "=" ]]; then<br class="">+ cur=""<br class="">+ fi<br class="">+<br class="">+ conf_files=$(find . -maxdepth 1 -name "*.conf" -type f -printf '%P\n')<br class="">+<br class="">+ case "$prev" in<br class="">+<br class="">"-c"|"--cmd"|"-C"|"--clear-stamp"|"--ignore-deps"|"--runall"|"--runonly")<br class="">+ COMPREPLY=( $(compgen -W "${tasks}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-r"|"--read"|"-R"|"--postread")<br class="">+ COMPREPLY=( $(compgen -W "${conf_files}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-u"|"--ui")<br class="">+ COMPREPLY=( $(compgen -W "${ui}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ if [[ ${#COMPREPLY[@]} == 1 && ${COMPREPLY[0]} == "--"*"=" ]] ;<br class="">then<br class="">+ compopt -o nospace<br class="">+ fi<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ bb_layers_conf="conf/bblayers.conf"<br class="">+ bb_layers_md5=".bb_layers_conf.md5"<br class="">+ bb_recipes=".bb_recipes"<br class="">+<br class="">+ _parse_recipes () {<br class="">+ bitbake -s | sed -e '0,/^=.*/d' -e '/^\s*$/d' -e '/^Summary:/d' |<br class="">awk '{print $1}' > $bb_recipes<br class="">+ }<br class="">+<br class="">+ if [ ! -e $bb_layers_conf ]; then<br class="">+ return 0<br class="">+ fi<br class="">+<br class="">+ if [ "$prev" = "bitbake" -a "$cur" = "" ]; then<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ md5sum --quiet --status -c $bb_layers_md5 2>/dev/null<br class="">+ if [ $? != 0 -o ! -e $bb_recipes ]; then<br class="">+ md5sum $bb_layers_conf > $bb_layers_md5<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ recipes=$(cat $bb_recipes)<br class="">+<br class="">+ COMPREPLY=( $(compgen -W "${recipes}" -- ${cur}) )<br class="">+ return 0<br class="">+}<br class="">+complete -F _bitbake bitbake<br class="">\ No newline at end of file<br class="">diff --git a/contrib/completion/bash/bitbake_diffsigs_completion<br class="">b/contrib/completion/bash/bitbake_diffsigs_completion<br class="">new file mode 100644<br class="">index 00000000..cbf2c5f1<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_diffsigs_completion<br class="">@@ -0,0 +1,86 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake-diffsigs tool,<br class="">+# compatible with Bitbake 1.39.1.<br class="">+#<br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake_diffsigs()<br class="">+{<br class="">+ local cur prev opts_short opts_long tasks colors<br class="">+ local bb_layers_conf bb_layers_md5 bb_recipes<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-h -d -t -s"<br class="">+<br class="">+ opts_long="--help --debug --color --task --signature"<br class="">+<br class="">+ tasks="build compile compile_ptest_base configure configure_ptest_base<br class="">deploy \<br class="">+ distrodata fetch image image_complete install install_ptest_base<br class="">package \<br class="">+ package_qa package_write_deb package_write_ipk package_write_rpm<br class="">package_write_tar \<br class="">+ packagedata patch populate_lic populate_sdk populate_sysroot<br class="">prepare_recipe_sysroot \<br class="">+ rm_work rm_work_all unpack checkpkg checkuri clean cleanall<br class="">cleansstate devpyshell \<br class="">+ devshell listtasks package_index bootimg bundle_initramfs rootfs<br class="">testimage \<br class="">+ testimage_auto compile_kernelmodules diffconfig kernel_checkout<br class="">kernel_configcheck \<br class="">+ kernel_configme kernel_menuconfig kernel_metadata menuconfig<br class="">savedefconfig shared_workdir \<br class="">+ sizecheck strip validate_branches spdx"<br class="">+<br class="">+ colors="auto always never"<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ bb_layers_conf="conf/bblayers.conf"<br class="">+ bb_layers_md5=".bb_layers_conf.md5"<br class="">+ bb_recipes=".bb_recipes"<br class="">+<br class="">+ _parse_recipes () {<br class="">+ bitbake -s | sed -e '0,/^=.*/d' -e '/^\s*$/d' -e '/^Summary:/d' |<br class="">awk '{print $1}' > $bb_recipes<br class="">+ }<br class="">+<br class="">+ if [ ! -e $bb_layers_conf ]; then<br class="">+ return 0<br class="">+ fi<br class="">+<br class="">+ if [ "$prev" = "bitbake" -a "$cur" = "" ]; then<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ md5sum --quiet --status -c $bb_layers_md5 2>/dev/null<br class="">+ if [ $? != 0 -o ! -e $bb_recipes ]; then<br class="">+ md5sum $bb_layers_conf > $bb_layers_md5<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ recipes=$(cat $bb_recipes)<br class="">+<br class="">+ case "$prev" in<br class="">+ "-c"|"--color")<br class="">+ COMPREPLY=( $(compgen -W "${colors}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-t"|"--task")<br class="">+ COMPREPLY=( $(compgen -W "${recipes}" -- ${cur}) )<br class="">+ return 0<br class="">+ esac<br class="">+<br class="">+ if [[ ${COMP_WORDS[COMP_CWORD -2]} == "-t" ]] || [[<br class="">${COMP_WORDS[COMP_CWORD -2]} == "--task" ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${tasks}" -- ${cur}) )<br class="">+ return 0<br class="">+ fi<br class="">+}<br class="">+complete -F _bitbake_diffsigs bitbake-diffsigs<br class="">\ No newline at end of file<br class="">diff --git a/contrib/completion/bash/bitbake_dumpsig_completion<br class="">b/contrib/completion/bash/bitbake_dumpsig_completion<br class="">new file mode 100644<br class="">index 00000000..95eb2394<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_dumpsig_completion<br class="">@@ -0,0 +1,89 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake-dumpsig tool,<br class="">+# compatible with Bitbake 1.39.1.<br class="">+#<br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake_dumpsig()<br class="">+{<br class="">+ local cur prev opts_short opts_long tasks<br class="">+ local bb_layers_conf bb_layers_md5 bb_recipes<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-h -d -t"<br class="">+<br class="">+ opts_long="--help --debug --task="<br class="">+<br class="">+ tasks="build compile compile_ptest_base configure configure_ptest_base<br class="">deploy \<br class="">+ distrodata fetch image image_complete install install_ptest_base<br class="">package \<br class="">+ package_qa package_write_deb package_write_ipk package_write_rpm<br class="">package_write_tar \<br class="">+ packagedata patch populate_lic populate_sdk populate_sysroot<br class="">prepare_recipe_sysroot \<br class="">+ rm_work rm_work_all unpack checkpkg checkuri clean cleanall<br class="">cleansstate devpyshell \<br class="">+ devshell listtasks package_index bootimg bundle_initramfs rootfs<br class="">testimage \<br class="">+ testimage_auto compile_kernelmodules diffconfig kernel_checkout<br class="">kernel_configcheck \<br class="">+ kernel_configme kernel_menuconfig kernel_metadata menuconfig<br class="">savedefconfig shared_workdir \<br class="">+ sizecheck strip validate_branches spdx"<br class="">+<br class="">+ if [[ "$prev" == "=" ]]; then<br class="">+ prev="${COMP_WORDS[COMP_CWORD - 2]}"<br class="">+ elif [[ "$cur" == "=" ]]; then<br class="">+ cur=""<br class="">+ fi<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ if [[ ${#COMPREPLY[@]} == 1 && ${COMPREPLY[0]} == "--"*"=" ]] ;<br class="">then<br class="">+ compopt -o nospace<br class="">+ fi<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ bb_layers_conf="conf/bblayers.conf"<br class="">+ bb_layers_md5=".bb_layers_conf.md5"<br class="">+ bb_recipes=".bb_recipes"<br class="">+<br class="">+ _parse_recipes () {<br class="">+ bitbake -s | sed -e '0,/^=.*/d' -e '/^\s*$/d' -e '/^Summary:/d' |<br class="">awk '{print $1}' > $bb_recipes<br class="">+ }<br class="">+<br class="">+ if [ ! -e $bb_layers_conf ]; then<br class="">+ return 0<br class="">+ fi<br class="">+<br class="">+ if [ "$prev" = "bitbake" -a "$cur" = "" ]; then<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ md5sum --quiet --status -c $bb_layers_md5 2>/dev/null<br class="">+ if [ $? != 0 -o ! -e $bb_recipes ]; then<br class="">+ md5sum $bb_layers_conf > $bb_layers_md5<br class="">+ _parse_recipes<br class="">+ fi<br class="">+<br class="">+ recipes=$(cat $bb_recipes)<br class="">+<br class="">+ case "$prev" in<br class="">+ "-t"|"--task")<br class="">+ COMPREPLY=( $(compgen -W "${recipes}" -- ${cur}) )<br class="">+ return 0<br class="">+ esac<br class="">+<br class="">+ if [[ ${COMP_WORDS[COMP_CWORD -2]} =~ "-t" ]] || [[<br class="">${COMP_WORDS[COMP_CWORD -3]} == "--task" ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${tasks}" -- ${cur}) )<br class="">+ return 0<br class="">+ fi<br class="">+}<br class="">+complete -F _bitbake_dumpsig bitbake-dumpsig<br class="">\ No newline at end of file<br class="">diff --git a/contrib/completion/bash/bitbake_layers_completion<br class="">b/contrib/completion/bash/bitbake_layers_completion<br class="">new file mode 100644<br class="">index 00000000..37ca8afb<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_layers_completion<br class="">@@ -0,0 +1,188 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake-layers tool,<br class="">+# compatible with Bitbake 1.39.1.<br class="">+#<br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake_layers()<br class="">+{<br class="">+ local cur prev opts_short opts_long subcommands colors<br class="">+ local opts_long_add_layer opts_short_add_layer opts_long_show_overlayed<br class="">+ local opts_short_show_overlayed opts_long_show_recipes<br class="">opts_short_show_recipes<br class="">+ local opts_long_show_cross_depends opts_short_show_cross_depends<br class="">+ local opts_long_show_layerindex_fetch opts_short_show_layerindex_fetch<br class="">+ local opts_long_show_layerindex_show_depends<br class="">opts_short_show_layerindex_show_depends<br class="">+ local opts_long_show_create_layer opts_short_show_create_layer<br class="">bb_class_files classes<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-d -q -F -h"<br class="">+<br class="">+ opts_long="--debug --quiet --force --color --help"<br class="">+<br class="">+ subcommands="layerindex-fetch layerindex-show-depends add-layer \<br class="">+ remove-layer flatten show-layers show-overlayed \<br class="">+ show-recipes show-appends show-cross-depends \<br class="">+ create-layer"<br class="">+<br class="">+ colors="auto always never"<br class="">+<br class="">+ opts_long_show_overlayed="--help --filenames --same-version"<br class="">+ opts_short_show_overlayed="-h -f -s"<br class="">+<br class="">+ opts_long_show_recipes="--help --filenames --multiple --inherits"<br class="">+ opts_short_show_recipes="-h -f -m -i"<br class="">+<br class="">+ opts_long_show_layerindex_fetch="--help --show-only --branch --ignore"<br class="">+ opts_short_show_layerindex_fetch="-h -n -b -i"<br class="">+<br class="">+ opts_long_add_layer="--help --priority --example-recipe-name<br class="">--example-recipe-version"<br class="">+ opts_short_add_layer="-h"<br class="">+<br class="">+ opts_long_show_cross_depends="--help --filenames --ignore"<br class="">+ opts_short_show_cross_depends="-h -f -i"<br class="">+<br class="">+ opts_long_show_layerindex_show_depends="--help --branch"<br class="">+ opts_short_show_layerindex_show_depends="-h -b"<br class="">+<br class="">+ opts_long_show_create_layer="--help --priority --example-recipe-name<br class="">--example-recipe-version"<br class="">+ opts_short_show_create_layer="-h -p -e -v"<br class="">+<br class="">+ bb_class_files=".bb_class_files"<br class="">+<br class="">+ _get_classes() {<br class="">+ find $BBPATH/../meta*/classes/ -name *.bbclass -exec basename {} \;<br class="">| sed 's/.bbclass//' > $bb_class_files<br class="">+ }<br class="">+<br class="">+ if [[ "${COMP_WORDS[@]}" =~ show-recipes ]] ; then<br class="">+ if [[ "$prev" == "--inherits" ]] || [[ "$prev" == "-i" ]]; then<br class="">+ _get_classes<br class="">+ classes=$(cat $bb_class_files)<br class="">+ COMPREPLY=( $(compgen -W "${classes}" -- ${cur}) )<br class="">+ return 0<br class="">+ fi<br class="">+ fi<br class="">+<br class="">+ if [[ "${COMP_WORDS[1]}" =~<br class="">show-layers|show-appends|remove-layer|flatten ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "--help" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "-h" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "add-layer" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long_add_layer}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short_add_layer}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "show-overlayed" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long_show_overlayed}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short_show_overlayed}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "show-recipes" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long_show_recipes}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short_show_recipes}" --<br class="">${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "show-cross-depends" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long_show_cross_depends}"<br class="">-- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short_show_cross_depends}"<br class="">-- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "layerindex-fetch" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W<br class="">"${opts_long_show_layerindex_fetch}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W<br class="">"${opts_short_show_layerindex_fetch}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "layerindex-show-depends" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W<br class="">"${opts_long_show_layerindex_show_depends}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W<br class="">"${opts_short_show_layerindex_show_depends}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ elif [[ "${COMP_WORDS[1]}" == "create-layer" ]]; then<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long_show_create_layer}"<br class="">-- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short_show_create_layer}"<br class="">-- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+ fi<br class="">+<br class="">+ case "$prev" in<br class="">+ "-c"|"--color")<br class="">+ COMPREPLY=( $(compgen -W "${colors}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ if [[ ${prev} == "bitbake-layers" ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${subcommands}" -- ${cur}) )<br class="">+ return 0<br class="">+ elif [[ ! ${subcommands} =~ [[:space:]]${cur}[[:space:]] ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${subcommands}" -- ${cur}) )<br class="">+ return 0<br class="">+ fi<br class="">+}<br class="">+complete -F _bitbake_layers bitbake-layers<br class="">\ No newline at end of file<br class="">diff --git a/contrib/completion/bash/bitbake_prserv_completion<br class="">b/contrib/completion/bash/bitbake_prserv_completion<br class="">new file mode 100644<br class="">index 00000000..3bca1197<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_prserv_completion<br class="">@@ -0,0 +1,76 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake-prserv tool,<br class="">+# compatible with Bitbake 1.39.1.<br class="">+#<br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake_prserv()<br class="">+{<br class="">+ local cur prev opts_short opts_long subcommands file_default<br class="">log_default log_levels<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-h -f -l"<br class="">+<br class="">+ opts_long="--version --help --file= --log= --loglevel= --start \<br class="">+ --stop --host= --port="<br class="">+<br class="">+ subcommands="layerindex-fetch layerindex-show-depends add-layer \<br class="">+ remove-layer flatten show-layers show-overlayed \<br class="">+ show-recipes show-appends show-cross-depends \<br class="">+ create-layer"<br class="">+<br class="">+ file_default="prserv.sqlite3"<br class="">+ log_default="prserv.log"<br class="">+ log_levels="CRITICAL ERROR WARNING INFO DEBUG"<br class="">+<br class="">+ if [[ "$prev" == "=" ]]; then<br class="">+ prev="${COMP_WORDS[COMP_CWORD -2]}"<br class="">+ elif [[ "$cur" == "=" ]]; then<br class="">+ cur=""<br class="">+ fi<br class="">+<br class="">+ case "$prev" in<br class="">+ "-f"|"--file")<br class="">+ COMPREPLY=( $(compgen -W "${file_default}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-l"|"--log")<br class="">+ COMPREPLY=( $(compgen -W "${log_default}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "--loglevel")<br class="">+ COMPREPLY=( $(compgen -W "${log_levels}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*|"")<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ if [[ ${#COMPREPLY[@]} == 1 && ${COMPREPLY[0]} == "--"*"=" ]] ;<br class="">then<br class="">+ compopt -o nospace<br class="">+ fi<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+<br class="">+ if [[ ${prev} == "bitbake-layers" ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${subcommands}" -- ${cur}) )<br class="">+ return 0<br class="">+ elif [[ ! ${subcommands} =~ [[:space:]]${cur}[[:space:]] ]]; then<br class="">+ COMPREPLY=( $(compgen -W "${subcommands}" -- ${cur}) )<br class="">+ return 0<br class="">+ fi<br class="">+}<br class="">+complete -F _bitbake_prserv bitbake-prserv<br class="">\ No newline at end of file<br class="">diff --git a/contrib/completion/bash/bitbake_selftest_completion<br class="">b/contrib/completion/bash/bitbake_selftest_completion<br class="">new file mode 100644<br class="">index 00000000..8b6bf641<br class="">--- /dev/null<br class="">+++ b/contrib/completion/bash/bitbake_selftest_completion<br class="">@@ -0,0 +1,34 @@<br class="">+#!bash<br class="">+# Bash completion support for bitbake-selftest tool,<br class="">+# compatible with Bitbake version 1.39.1.<br class="">+#<br class="">+# Copyright (C) 2018 Lukasz Gardon <<a href="mailto:lukasz.gardon@gmail.com" class="">lukasz.gardon@gmail.com</a>><br class="">+#<br class="">+# Distributed under the MIT License (MIT)<br class="">+#<br class="">+<br class="">+_bitbake_selftest()<br class="">+{<br class="">+ local cur prev opts_short opts_long<br class="">+<br class="">+ COMPREPLY=()<br class="">+<br class="">+ cur="${COMP_WORDS[COMP_CWORD]}"<br class="">+ prev="${COMP_WORDS[COMP_CWORD-1]}"<br class="">+<br class="">+ opts_short="-h -v -q -f -c"<br class="">+<br class="">+ opts_long="--help --verbose --quiet --locals --failfast --catch"<br class="">+<br class="">+ case "$cur" in<br class="">+ "--"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_long}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ "-"*)<br class="">+ COMPREPLY=( $(compgen -W "${opts_short}" -- ${cur}) )<br class="">+ return 0<br class="">+ ;;<br class="">+ esac<br class="">+}<br class="">+complete -F _bitbake_selftest bitbake-selftest<br class="">\ No newline at end of file<br class="">--<br class="">2.18.0<br class=""><br class="">--<br class="">_______________________________________________<br class="">bitbake-devel mailing list<br class=""><a href="mailto:bitbake-devel@lists.openembedded.org" class="">bitbake-devel@lists.openembedded.org</a><br class="">http://lists.openembedded.org/mailman/listinfo/bitbake-devel<br class=""><br class=""><br class=""></blockquote></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></body></html>