diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-09-29 12:03:21 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-09-29 12:03:21 +0000 |
commit | bcd4f1687976da18343f6c66e971c555971fe342 (patch) | |
tree | 8a71ba0acd216604b6f7ebf456872b0c4ce6525f /app-crypt/ekeyd | |
parent | amd64/x86 stable, bug #279386 (diff) | |
download | gentoo-2-bcd4f1687976da18343f6c66e971c555971fe342.tar.gz gentoo-2-bcd4f1687976da18343f6c66e971c555971fe342.tar.bz2 gentoo-2-bcd4f1687976da18343f6c66e971c555971fe342.zip |
New revision, thanks to the comments from Rob Kendrick (upstream); the init script now uses lsusb, and is only installed for non-Linux systems, while the correct udev rules are installed on Linux. Add a check for the CDC driver, and also add warnings about both the userland USB and CDC options.
(Portage version: 2.2_rc42/cvs/Linux x86_64)
Diffstat (limited to 'app-crypt/ekeyd')
-rw-r--r-- | app-crypt/ekeyd/ChangeLog | 13 | ||||
-rw-r--r-- | app-crypt/ekeyd/ekeyd-1.0.5-r2.ebuild (renamed from app-crypt/ekeyd/ekeyd-1.0.5-r1.ebuild) | 60 | ||||
-rw-r--r-- | app-crypt/ekeyd/files/ekey-ulusbd.conf | 4 | ||||
-rw-r--r-- | app-crypt/ekeyd/files/ekey-ulusbd.init | 17 |
4 files changed, 68 insertions, 26 deletions
diff --git a/app-crypt/ekeyd/ChangeLog b/app-crypt/ekeyd/ChangeLog index 6e4c380d37ac..97d368d117bd 100644 --- a/app-crypt/ekeyd/ChangeLog +++ b/app-crypt/ekeyd/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for app-crypt/ekeyd # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ChangeLog,v 1.2 2009/09/28 18:29:35 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ChangeLog,v 1.3 2009/09/29 12:03:20 flameeyes Exp $ + +*ekeyd-1.0.5-r2 (29 Sep 2009) + + 29 Sep 2009; Diego E. Pettenò <flameeyes@gentoo.org> + -ekeyd-1.0.5-r1.ebuild, +ekeyd-1.0.5-r2.ebuild, files/ekey-ulusbd.conf, + files/ekey-ulusbd.init: + New revision, thanks to the comments from Rob Kendrick (upstream); the + init script now uses lsusb, and is only installed for non-Linux systems, + while the correct udev rules are installed on Linux. Add a check for the + CDC driver, and also add warnings about both the userland USB and CDC + options. *ekeyd-1.0.5-r1 (28 Sep 2009) diff --git a/app-crypt/ekeyd/ekeyd-1.0.5-r1.ebuild b/app-crypt/ekeyd/ekeyd-1.0.5-r2.ebuild index dee57d21b439..49374e9cbfc4 100644 --- a/app-crypt/ekeyd/ekeyd-1.0.5-r1.ebuild +++ b/app-crypt/ekeyd/ekeyd-1.0.5-r2.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ekeyd-1.0.5-r1.ebuild,v 1.1 2009/09/28 18:29:35 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ekeyd-1.0.5-r2.ebuild,v 1.1 2009/09/29 12:03:20 flameeyes Exp $ EAPI=2 -inherit multilib +inherit multilib linux-info DESCRIPTION="Entropy Key userspace daemon" HOMEPAGE="http://www.entropykey.co.uk/" @@ -23,7 +23,16 @@ RDEPEND="dev-lang/lua DEPEND="${RDEPEND}" RDEPEND="${RDEPEND} dev-libs/luasocket - kernel_linux? ( sys-fs/udev )" + kernel_linux? ( sys-fs/udev ) + usb? ( !kernel_linux? ( sys-apps/usbutils ) )" + +CONFIG_CHECK="USB_ACM" + +pkg_setup() { + if use kernel_linux && ! use usb && linux_config_exists; then + check_extra_config + fi +} src_prepare() { # - avoid using -Werror; @@ -33,6 +42,10 @@ src_prepare() { -e 's:-Werror::' \ -e '/gzip/d' \ daemon/Makefile || die + + # We moved the binaries around + sed -i -e 's:$BINPATH/ekey-ulusbd:/usr/libexec/ekey-ulusbd:' \ + doc/ekeyd-udev || die } src_compile() { @@ -84,8 +97,10 @@ src_install() { newinitd "${FILESDIR}"/${PN}.init ${PN} || die if use usb; then - newinitd "${FILESDIR}"/ekey-ulusbd.init ekey-ulusbd || die - newconfd "${FILESDIR}"/ekey-ulusbd.conf ekey-ulusbd || die + if ! use kernel_linux; then + newinitd "${FILESDIR}"/ekey-ulusbd.init ekey-ulusbd || die + newconfd "${FILESDIR}"/ekey-ulusbd.conf ekey-ulusbd || die + fi doman daemon/ekey-ulusbd.8 || die fi @@ -93,7 +108,11 @@ src_install() { if use kernel_linux; then insinto /etc/udev/rules.d - newins doc/60-UDEKEY01.rules 70-${PN}.rules || die + if use usb; then + newins doc/60-UDEKEY01-UDS.rules 70-ekey-ulusbd.rules || die + else + newins doc/60-UDEKEY01.rules 70-${PN}.rules || die + fi exeinto /$(get_libdir)/udev doexe doc/ekeyd-udev || die @@ -107,16 +126,29 @@ pkg_postinst() { elog "The service supports multiplexing if you wish to use multiple" elog "keys, just symlink /etc/init.d/ekeyd → /etc/init.d/ekeyd.identifier" elog "and it'll be looking for /etc/init.d/identifier.conf" + elog "" if use usb; then + if use kernel_linux; then + elog "You're going to use the userland USB daemon, the udev rules" + elog "will be used accordingly. If you want to use the CDC driver" + elog "please disable the usb USE flag." + else + elog "You're going to use the userland USB daemon, since your OS" + elog "does not support udev, you should start the ekey-ulusbd" + elog "service before ekeyd." + fi + else + if use kernel_linux; then + elog "Some versions of Linux have a faulty CDC ACM driver that stops" + elog "EntropyKey from working properly; please check the compatibility" + elog "table at http://www.entropykey.co.uk/download/" + else + elog "Make sure your operating system supports the CDC ACM driver" + elog "or otherwise you won't be able to use the EntropyKey." + fi elog "" - elog "If you don't want (or can't) use the CDC ACM driver in your" - elog "kernel, you may use the Userland USB Daemon to access the" - elog "EntropyKey." - elog "" - elog "To do so, make sure to start the ekey-ulusbd service, after" - elog "having configured /etc/conf.d/ekey-ulusbd." - elog "This service is also multiplexed so you can run it for any" - elog "number of keys." + elog "If you're unsure about the working state of the CDC ACM driver" + elog "enable the usb USE flag and use the userland USB daemon" fi } diff --git a/app-crypt/ekeyd/files/ekey-ulusbd.conf b/app-crypt/ekeyd/files/ekey-ulusbd.conf index 80bf0c1aec13..1a6100854df8 100644 --- a/app-crypt/ekeyd/files/ekey-ulusbd.conf +++ b/app-crypt/ekeyd/files/ekey-ulusbd.conf @@ -1,6 +1,6 @@ # Copyright 2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/files/ekey-ulusbd.conf,v 1.1 2009/09/28 18:29:36 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/files/ekey-ulusbd.conf,v 1.2 2009/09/29 12:03:21 flameeyes Exp $ # The userland USB daemon has to know the USB path of the EntopyKey to # work properly; in alternative to providing these statically, they @@ -13,4 +13,4 @@ EKEY_SERIAL="" #USB_BUS="" #USB_DEV="" -SOCKET_PATH="/var/run/ekey.ulusbd.${EKEY_SERIAL}" +SOCKET_PATH="/var/run/ekey-ulusbd-${EKEY_SERIAL}" diff --git a/app-crypt/ekeyd/files/ekey-ulusbd.init b/app-crypt/ekeyd/files/ekey-ulusbd.init index f1ee32bcc54a..8a955c5ecec5 100644 --- a/app-crypt/ekeyd/files/ekey-ulusbd.init +++ b/app-crypt/ekeyd/files/ekey-ulusbd.init @@ -1,7 +1,7 @@ #!/sbin/runscript # Copyright 2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/files/ekey-ulusbd.init,v 1.1 2009/09/28 18:29:36 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/files/ekey-ulusbd.init,v 1.2 2009/09/29 12:03:21 flameeyes Exp $ INSTANCE="${SVCNAME#*.}" if [ -z "${INSTANCE}" ] || [ "${SVCNAME}" = "ekey-ulusbd" ]; then @@ -14,14 +14,13 @@ depend() { start() { if [ -z ${USB_BUS} ]; then - local devdir=$(fgrep -l 20df /sys/bus/usb/devices/*/idVendor \ - | xargs -n1 dirname \ - | xargs -I{} fgrep -l 0001 {}/idProduct \ - | xargs -n1 dirname \ - | xargs -I{} fgrep -l ${EKEY_SERIAL} {}/serial \ - | xargs -n1 dirname) - USB_BUS=$(< ${devdir}/busnum) - USB_DEV=$(< ${devdir}/devnum) + set -- $(lsusb -v -d 20df:0001 | \ + egrep '(^Bus|iSerial)' | \ + grep -B1 "${EKEY_SERIAL}" | \ + head -n 1 | \ + cut -c 5-7,15-18) + USB_BUS=$1 + USB_DEV=$2 fi ebegin "Starting EntropyKey Userland USB Daemon" |