Re: [PATCH] semanage bash completion: handle semanage module #246

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 25, 2020 at 5:50 PM Topi Miettinen <toiwoton@xxxxxxxxx> wrote:
>
> List modules for bash completion of `semanage module`.
>
> Signed-off-by: Topi Miettinen <toiwoton@xxxxxxxxx>
> ---
>  python/semanage/semanage-bash-completion.sh | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/python/semanage/semanage-bash-completion.sh b/python/semanage/semanage-bash-completion.sh
> index 2d811c98..a3993c58 100644
> --- a/python/semanage/semanage-bash-completion.sh
> +++ b/python/semanage/semanage-bash-completion.sh
> @@ -54,6 +54,9 @@ __get_all_roles () {
>  __get_all_stores () {
>      dir -1 -F /etc/selinux/ | grep '/' | cut -d'/' -f 1
>  }
> +__get_all_modules () {
> +    semodule -l
> +}
>  __get_import_opts () { echo '$ALL_OPTS --f --input_file' ; }
>  __get_export_opts () { echo '$ALL_OPTS --f --output_file' ; }
>  __get_boolean_opts () { echo '$ALL_OPTS --on -off -1 -0' ; }
> @@ -88,6 +91,14 @@ _semanage () {
>         if   [ "$prev" = "-a" -a "$command" = "permissive" ]; then
>                 COMPREPLY=( $(compgen -W "$( __get_all_domains ) " -- "$cur") )
>                 return 0
> +       elif [ "$command" = "module" ]; then
> +               if [ "$prev" = "-a" ] || [ "$prev" = "--add" ] \

For -a we likely don't want this because the argument should be a
module file path not an already installed module name.

> +                   || [ "$prev" = "-d" ] || [ "$prev" = "--disable" ] \
> +                   || [ "$prev" = "-e" ] || [ "$prev" = "--enable" ] \
> +                   || [ "$prev" = "-r" ] || [ "$prev" = "--remove" ]; then
> +                   COMPREPLY=( $(compgen -W "$( __get_all_modules ) " -- "$cur") )
> +                   return 0
> +               fi
>         fi
>         if   [ "$verb" = "" -a "$prev" = "semanage" ]; then
>                  comps="${VERBS[*]}"
> --
> 2.26.2
>



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux