summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/policykit/files/policykit-0.7-completions.patch')
-rw-r--r--sys-auth/policykit/files/policykit-0.7-completions.patch203
1 files changed, 203 insertions, 0 deletions
diff --git a/sys-auth/policykit/files/policykit-0.7-completions.patch b/sys-auth/policykit/files/policykit-0.7-completions.patch
new file mode 100644
index 0000000..37f8d0d
--- /dev/null
+++ b/sys-auth/policykit/files/policykit-0.7-completions.patch
@@ -0,0 +1,203 @@
+commit afb4535accaa08e20050a7b2d508d884b02f45a0
+Author: Saleem Abdulrasool <compnerd@compnerd.org>
+Date: Mon Nov 19 15:35:03 2007 -0800
+
+ add zsh completion and optionalize bash and zsh completion
+
+ Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
+
+diff --git a/configure.in b/configure.in
+index 2fdb935..a9ea35a 100644
+--- a/configure.in
++++ b/configure.in
+@@ -495,6 +495,21 @@ AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_PASSWORD, "$PAM_FILE_INCLUDE_PASSWORD", [pam
+ AC_DEFINE_UNQUOTED(PAM_FILE_INCLUDE_SESSION, "$PAM_FILE_INCLUDE_SESSION", [pam file session])
+
+ # ********************
++# Shell Completion
++# ********************
++
++AC_ARG_WITH([bash-completion],
++ AC_HELP_STRING([--with-bash-completion],[Install bash completion scripts]),,
++ [with_bash_completion=yes])
++
++AC_ARG_WITH([zsh-completion],
++ AC_HELP_STRING([--with-zsh-completion],[Install zsh completion scripts]),,
++ [with_zsh_completion=no])
++
++AM_CONDITIONAL([WITH_BASH_COMPLETION], test x"$with_bash_completion" != x"no")
++AM_CONDITIONAL([WITH_ZSH_COMPLETION], test x"$with_zsh_completion" != x"no")
++
++# ********************
+ # Internationalisation
+ # ********************
+
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index a76e9fc..0449e12 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -25,10 +25,17 @@ polkit_auth_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ $(top_builddir)/src/polkit/libpolkit
+ polkit_action_SOURCES = polkit-action.c
+ polkit_action_LDADD = $(top_builddir)/src/polkit/libpolkit.la
+
++if WITH_BASH_COMPLETION
+ profiledir = $(sysconfdir)/profile.d
+ profile_SCRIPTS = polkit-bash-completion.sh
++endif
+
+-EXTRA_DIST = $(profile_SCRIPTS)
++if WITH_ZSH_COMPLETION
++zshcompletiondir = $(DESTDIR)$(datadir)/zsh/site-functions
++zshcompletion_SCRIPTS = _polkit _polkit_auth _polkit_action
++endif
++
++EXTRA_DIST = polkit-bash-completion.sh _polkit _polkit_auth _polkit_action
+
+ clean-local :
+ rm -f *~ polkit-reload-config
+diff --git a/tools/_polkit b/tools/_polkit
+new file mode 100644
+index 0000000..bc7bdac
+--- /dev/null
++++ b/tools/_polkit
+@@ -0,0 +1,54 @@
++#autoload
++
++# vim: set et sw=3 sts=3 ts=3 ft=zsh:
++# ZSH Completion for polkit-auth
++# Written by Saleem Abdulrasool <compnerd@compnerd.org>
++# Usage: _polkit actions|constraints|authorization|overriden-actions|obtainable-actions|authorized-actions
++
++_polkit_actions() {
++ local actions
++ actions=( $(polkit-action) )
++ compadd "$@" -k actions
++}
++
++_polkit_constraints() {
++ local constraints
++ constraints=( local active local+active )
++ compadd "$@" -k constraints
++}
++
++_polkit_authorization() {
++ local authorization
++ authorization=( no auth_admin_one_shot auth_admin auth_admin_keep_session auth_admin_keep_always auth_self_one_shot auth_self auth_self_keep_session auth_self_keep_always yes )
++ compadd "$@" -k authorization
++}
++
++_polkit_overriden_actions() {
++ local overrides
++ overrides=( $(polkit-action --show-overrides) )
++ compadd "$@" -k overrides
++}
++
++_polkit_obtainable_actions() {
++ local actions
++ actions=( $(polkit-auth --show-obtainable) )
++ compadd "$@" -k actions
++}
++
++_polkit_authorized_actions() {
++ local actions
++ actions=( $(polkit-auth --explicit) )
++ compadd "$@" -k actions
++}
++
++_polkit() {
++ local command="$argv[$#]"
++
++ [[ "$command" == (actions|constraints|authorization|overriden-actions|obtainable-actions|authorized-actions) ]] || {
++ _message "unknown command: $command"
++ }
++
++ _polkit_${command/-/_}
++}
++
++_polkit "$@"
+diff --git a/tools/_polkit_action b/tools/_polkit_action
+new file mode 100644
+index 0000000..7ec7365
+--- /dev/null
++++ b/tools/_polkit_action
+@@ -0,0 +1,24 @@
++#compdef polkit-action
++
++# vim: set et sw=3 sts=3 ts=3 ft=zsh:
++# ZSH Completion for polkit-action
++# Written by Saleem Abdulrasool <compnerd@compnerd.org>
++
++_polkit_action() {
++ local arguments
++
++ arguments=(
++ "(-)--action[Show detailed information about a specific action]:action:_polkit actions"
++ "(-)--reset-defaults[Reset the defaults for the specified action]:Overridden Action:_polkit overriden-actions"
++ "(-)--show-overrides[List actions where the defaults are overridden]"
++ "(-)--set-defaults-any[Override the any stanza for an action]:Action:_polkit _actions:Authorization:_polkit authorization"
++ "(-)--set-defaults-inactive[Override the inactive stanza for an action]:Action:polkit _actions:Authorization:_polkit authorization"
++ "(-)--set-defaults-active[Override the active stanza for an action]:Action:polkit _actions:Authorization:_polkit authorization"
++ "(-)--version[Display program version]"
++ "(-)--help[Display program help]"
++ )
++
++ _arguments $arguments
++}
++
++_polkit_action "$@"
+diff --git a/tools/_polkit_auth b/tools/_polkit_auth
+new file mode 100644
+index 0000000..e70f1a0
+--- /dev/null
++++ b/tools/_polkit_auth
+@@ -0,0 +1,50 @@
++#compdef polkit-auth
++
++# vim: set et sw=3 sts=3 ts=3 ft=zsh:
++# ZSH Completion for polkit-auth
++# Written by Saleem Abdulrasool <compnerd@compnerd.org>
++
++_polkit_auth() {
++ local arguments action_arguments user_arguments grant_arguments
++ local commands actions grant=0
++
++ commands=( --show-obtainable --version --help )
++ actions=( --obtain --explicit --explicit-detail --grant --revoke )
++
++ for (( i = 0 ; i < ${#words[@]} ; i++ )) ; do
++ if [[ "${words[$i]##--#}" == "grant" ]] ; then
++ grant=1
++ break
++ fi
++ done
++
++ arguments=(
++ '(-)--show-obtainable[Show all actions that can be obtained via authentication]'
++ '(-)--version[Show version and exit]'
++ '(-)--help[Show help information]'
++ )
++
++ action_arguments=(
++ "($commands $actions)--obtain[Attempt to obtain authorization to do an action]:Obtainable Actions:_polkit obtainable-actions"
++ "($commands $actions)--explicit[Show explicit authorizations]"
++ "($commands $actions)--explicit-detail[Show detailed information about explicit authorizations]"
++ "($commands $actions)--grant[Grant an authorization for an action]:Obtainable Actions:_polkit actions"
++ "($commands $actions)--revoke[Revoke all authorization for an action]:Authorized Actions:_polkit authorized-actions"
++ )
++
++ user_arguments=(
++ "($commands)--user[The user the authorization applies to]:User:_users"
++ )
++
++ grant_arguments=(
++ "($commands)--constraint[Optional constraints on the granted authorization]:Constraint:_polkit constraints"
++ )
++
++ if [[ grant -eq 1 ]] ; then
++ _arguments $arguments $user_arguments $action_arguments $grant_arguments
++ else
++ _arguments $arguments $user_arguments $action_arguments
++ fi
++}
++
++_polkit_auth "$@"