* [PATCH v2] semanage bash completion: handle semanage module
@ 2020-05-31 20:18 Topi Miettinen
2020-06-04 19:00 ` Stephen Smalley
0 siblings, 1 reply; 3+ messages in thread
From: Topi Miettinen @ 2020-05-31 20:18 UTC (permalink / raw)
To: selinux; +Cc: Topi Miettinen
List modules for bash completion of `semanage module`.
Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
--
v2: removed -a or --add as they expect a file, not existing module
---
python/semanage/semanage-bash-completion.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/python/semanage/semanage-bash-completion.sh b/python/semanage/semanage-bash-completion.sh
index 2d811c98..d0dd139f 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,13 @@ _semanage () {
if [ "$prev" = "-a" -a "$command" = "permissive" ]; then
COMPREPLY=( $(compgen -W "$( __get_all_domains ) " -- "$cur") )
return 0
+ elif [ "$command" = "module" ]; then
+ if [ "$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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] semanage bash completion: handle semanage module
2020-05-31 20:18 [PATCH v2] semanage bash completion: handle semanage module Topi Miettinen
@ 2020-06-04 19:00 ` Stephen Smalley
2020-06-09 19:49 ` Stephen Smalley
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Smalley @ 2020-06-04 19:00 UTC (permalink / raw)
To: Topi Miettinen; +Cc: SElinux list
On Sun, May 31, 2020 at 4:25 PM Topi Miettinen <toiwoton@gmail.com> wrote:
>
> List modules for bash completion of `semanage module`.
>
> Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Only caveat is that this can only work if running as root, e.g. sudo
semanage module -d <TAB> will produce an error message from the shell
but I guess that is true in general.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] semanage bash completion: handle semanage module
2020-06-04 19:00 ` Stephen Smalley
@ 2020-06-09 19:49 ` Stephen Smalley
0 siblings, 0 replies; 3+ messages in thread
From: Stephen Smalley @ 2020-06-09 19:49 UTC (permalink / raw)
To: Topi Miettinen; +Cc: SElinux list
On Thu, Jun 4, 2020 at 3:00 PM Stephen Smalley
<stephen.smalley.work@gmail.com> wrote:
>
> On Sun, May 31, 2020 at 4:25 PM Topi Miettinen <toiwoton@gmail.com> wrote:
> >
> > List modules for bash completion of `semanage module`.
> >
> > Signed-off-by: Topi Miettinen <toiwoton@gmail.com>
>
> Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
>
> Only caveat is that this can only work if running as root, e.g. sudo
> semanage module -d <TAB> will produce an error message from the shell
> but I guess that is true in general.
Applied.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-06-09 19:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-31 20:18 [PATCH v2] semanage bash completion: handle semanage module Topi Miettinen
2020-06-04 19:00 ` Stephen Smalley
2020-06-09 19:49 ` Stephen Smalley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).