99 lines
2.9 KiB
Diff
99 lines
2.9 KiB
Diff
|
From a797a566127f7469d744b2748f98d1fa5ea8d8f9 Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Jones <pjones@redhat.com>
|
||
|
Date: Tue, 14 Jun 2016 10:20:14 -0400
|
||
|
Subject: [PATCH 07/10] Add bash completion file.
|
||
|
|
||
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||
|
---
|
||
|
configure.ac | 17 +++++++++++++++++
|
||
|
Makefile.am | 5 +++++
|
||
|
data/mokutil | 37 +++++++++++++++++++++++++++++++++++++
|
||
|
3 files changed, 59 insertions(+)
|
||
|
create mode 100755 data/mokutil
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index 69d412ac633..7b52a063df0 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -86,6 +86,23 @@ AC_CHECK_FUNCS([memset])
|
||
|
PKG_CHECK_MODULES(OPENSSL, [openssl >= 0.9.8])
|
||
|
PKG_CHECK_MODULES(EFIVAR, [efivar >= 0.12])
|
||
|
|
||
|
+AC_ARG_WITH([bash-completion-dir],
|
||
|
+ AS_HELP_STRING([--with-bash-completion-dir[=PATH]],
|
||
|
+ [Install the bash auto-completion script in this directory. @<:@default=yes@:>@]),
|
||
|
+ [],
|
||
|
+ [with_bash_completion_dir=yes])
|
||
|
+
|
||
|
+if test "x$with_bash_completion_dir" = "xyes"; then
|
||
|
+ PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0],
|
||
|
+ [BASH_COMPLETION_DIR="`pkg-config --variable=completionsdir bash-completion`"],
|
||
|
+ [BASH_COMPLETION_DIR="$datadir/bash-completion/completions"])
|
||
|
+else
|
||
|
+ BASH_COMPLETION_DIR="$with_bash_completion_dir"
|
||
|
+fi
|
||
|
+
|
||
|
+AC_SUBST([BASH_COMPLETION_DIR])
|
||
|
+AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"])
|
||
|
+
|
||
|
AC_CONFIG_FILES([Makefile
|
||
|
src/Makefile
|
||
|
man/Makefile])
|
||
|
diff --git a/Makefile.am b/Makefile.am
|
||
|
index 9f0d4192515..c17cc4a86d8 100644
|
||
|
--- a/Makefile.am
|
||
|
+++ b/Makefile.am
|
||
|
@@ -1 +1,6 @@
|
||
|
SUBDIRS = src man
|
||
|
+
|
||
|
+if ENABLE_BASH_COMPLETION
|
||
|
+ bashcompletiondir = $(BASH_COMPLETION_DIR)
|
||
|
+ dist_bashcompletion_DATA = data/mokutil
|
||
|
+endif
|
||
|
diff --git a/data/mokutil b/data/mokutil
|
||
|
new file mode 100755
|
||
|
index 00000000000..800b039e7f4
|
||
|
--- /dev/null
|
||
|
+++ b/data/mokutil
|
||
|
@@ -0,0 +1,37 @@
|
||
|
+#!/bin/bash
|
||
|
+
|
||
|
+_mokutil()
|
||
|
+{
|
||
|
+ local cur=${COMP_WORDS[COMP_CWORD]}
|
||
|
+
|
||
|
+ if [[ "$cur" == -* ]]; then
|
||
|
+ #COMPREPLY=( $( compgen -W "--help --list-enrolled --list-new --list-delete --import --delete --revoke-import --revoke-delete --export --password --clear-password --disable-validation --enable-validation --sb-state --test-key --reset --generate-hash --hash-file --root-pw --simple-hash" -- $cur ) )
|
||
|
+ COMPREPLY=( $( compgen -W '$( _parse_help "$1" --long-help ) -h -l -N -D -i -d -x -p -c -t -f -g -P -s -X' -- "$cur" ) )
|
||
|
+ [[ $COMPREPLY == *= ]] && compopt -o nospace
|
||
|
+ return 0
|
||
|
+ fi
|
||
|
+
|
||
|
+ case "${COMP_WORDS[COMP_CWORD-1]}" in
|
||
|
+ --import|-i|--delete|-d|--test-key|-t|--hash-file|-f)
|
||
|
+ _filedir
|
||
|
+ return 0
|
||
|
+ ;;
|
||
|
+ --import-hash|--delete-hash)
|
||
|
+ COMPREPLY=( $( compgen -W "" ) )
|
||
|
+ return 0
|
||
|
+ ;;
|
||
|
+ --set-verbosity)
|
||
|
+ COMPREPLY=( $( compgen -W "true false") )
|
||
|
+ return 0
|
||
|
+ ;;
|
||
|
+ --generate-hash|-g)
|
||
|
+ COMPREPLY=( $( compgen -o nospace -P= -W "") )
|
||
|
+ return 0
|
||
|
+ ;;
|
||
|
+ *)
|
||
|
+ return 0
|
||
|
+ ;;
|
||
|
+ esac
|
||
|
+}
|
||
|
+
|
||
|
+complete -F _mokutil mokutil
|
||
|
--
|
||
|
2.17.1
|
||
|
|