From 8a62aa7ffee0b6249eaede3d0f9bcde6cf8d6e2f Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Jan 24 2008 03:23:06 +0000 Subject: - include gpg-agent scripts here (#427316) --- diff --git a/gpg-agent-shutdown.sh b/gpg-agent-shutdown.sh new file mode 100755 index 0000000..aab44cb --- /dev/null +++ b/gpg-agent-shutdown.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +## The nice way +if test -n "${GPG_AGENT_INFO}"; then + GPG_AGENT_PID=`echo ${GPG_AGENT_INFO} | cut -d: -f2` && kill ${GPG_AGENT_PID} ||: + unset GPG_AGENT_INFO +fi + +## The not so nice way +## NOTE: a root login will kill *all* users' gpg-agents +#killall gpg-agent + +## clean/remove .gpg-agent-info +rm -f $HOME/.gpg-agent-info diff --git a/gpg-agent-startup.sh b/gpg-agent-startup.sh new file mode 100755 index 0000000..fd84840 --- /dev/null +++ b/gpg-agent-startup.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +GPG_AGENT=/usr/bin/gpg-agent +## Run gpg-agent only if not already running, and available +if [ -x "${GPG_AGENT}" ] ; then + + # check validity of GPG_SOCKET (in case of session crash) + GPG_AGENT_INFO_FILE=${HOME}/.gpg-agent-info + if [ -f "${GPG_AGENT_INFO_FILE}" ]; then + GPG_AGENT_PID=`cat ${GPG_AGENT_INFO_FILE} | cut -f2 -d:` + GPG_PID_NAME=`ps -p ${GPG_AGENT_PID} -o comm=` + if [ ! "x${GPG_PID_NAME}" = "xgpg-agent" ]; then + rm -f "${GPG_AGENT_INFO_FILE}" 2>&1 >/dev/null + else + GPG_SOCKET=`cat "${GPG_AGENT_INFO_FILE}" | cut -f1 -d:` + if ! test -S "${GPG_SOCKET}" -a -O "${GPG_SOCKET}" ; then + rm -f "${GPG_AGENT_INFO_FILE}" 2>&1 >/dev/null + fi + fi + unset GPG_AGENT_PID GPG_SOCKET GPG_PID_NAME + fi + + if [ -f "${GPG_AGENT_INFO_FILE}" ]; then + export GPG_AGENT_INFO=$(cat "${GPG_AGENT_INFO_FILE}") + export GPG_TTY=$(tty) + else + eval "$(${GPG_AGENT} -s --daemon ${GPG_OPTIONS})" + echo ${GPG_AGENT_INFO} > "${HOME}/.gpg-agent-info" + fi + +fi diff --git a/kde-settings.spec b/kde-settings.spec index c378ff7..1827b3d 100644 --- a/kde-settings.spec +++ b/kde-settings.spec @@ -7,7 +7,7 @@ Summary: Config files for kde Name: kde-settings Version: 4.0 -Release: %{rel}%{?dist} +Release: %{rel}%{?dist}.1 Group: System Environment/Base License: Public Domain @@ -17,10 +17,15 @@ Source0: kde-settings-%{version}-%{rel}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch +Source10: gpg-agent-startup.sh +Source11: gpg-agent-shutdown.sh + Requires: kde-filesystem # /etc/pam.d/ ownership Requires: pam Requires: xdg-user-dirs +# sed/kill used in gpg-agent-(startup/shutdown).sh +Requires: fileutils util-linux Obsoletes: kde-config < %{version}-%{release} @@ -67,6 +72,10 @@ tar cpf - etc/ usr/ | tar --directory %{buildroot} -xvpf - rm -rf %{buildroot}%{_datadir}/config/kdm ln -sf ../../../etc/kde/kdm %{buildroot}%{_datadir}/config/kdm +# enable auto-startup/shutdown of gpg-agent +install -p -m0755 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/kde/env/gpg-agent-startup.sh +install -p -m0755 -D %{SOURCE11} %{buildroot}%{_sysconfdir}/kde/shutdown/gpg-agent-shutdown.sh + %clean rm -rf %{buildroot} @@ -91,6 +100,8 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) %{_sysconfdir}/kde/env/env.sh +%{_sysconfdir}/kde/env/gpg-agent*.sh +%{_sysconfdir}/kde/shutdown/gpg-agent*.sh %config(noreplace) /etc/pam.d/kcheckpass %config(noreplace) /etc/pam.d/kscreensaver # drop noreplace, so we can be sure to get the new kiosk bits @@ -122,6 +133,9 @@ rm -rf %{buildroot} %changelog +* Wed Jan 23 2008 Rex Dieter 4.0-9.1 +- include gpg-agent scripts here (#427316) + * Sat Jan 19 2008 Kevin Kofler - 4.0-9 - kdeglobals: also set K3Spell_Client=4 and K3Spell_Encoding=11