summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2010-09-29 23:54:46 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2010-09-29 23:54:46 +0000
commit092adae9d4b2830685c8f05fc22a0ae115b052ed (patch)
treeec207dc79a4fdbc6e69795965b1605a1deee1483 /app-crypt
parentQA: avoid double-execution of econf. (diff)
downloadhistorical-092adae9d4b2830685c8f05fc22a0ae115b052ed.tar.gz
historical-092adae9d4b2830685c8f05fc22a0ae115b052ed.tar.bz2
historical-092adae9d4b2830685c8f05fc22a0ae115b052ed.zip
Add patch to that worksaround a libusb-compat bug and allows using the virtual with ekeyd-ulusbd.
Package-Manager: portage-2.2_rc88/cvs/Linux x86_64
Diffstat (limited to 'app-crypt')
-rw-r--r--app-crypt/ekeyd/ChangeLog10
-rw-r--r--app-crypt/ekeyd/Manifest12
-rw-r--r--app-crypt/ekeyd/ekeyd-1.1.3-r1.ebuild155
-rw-r--r--app-crypt/ekeyd/files/ekeyd-1.1.3-libusb_compat.patch14
-rw-r--r--app-crypt/ekeyd/metadata.xml5
5 files changed, 189 insertions, 7 deletions
diff --git a/app-crypt/ekeyd/ChangeLog b/app-crypt/ekeyd/ChangeLog
index 6b9d5cf88448..76f0998dd57e 100644
--- a/app-crypt/ekeyd/ChangeLog
+++ b/app-crypt/ekeyd/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-crypt/ekeyd
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ChangeLog,v 1.15 2010/09/24 11:43:26 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ChangeLog,v 1.16 2010/09/29 23:54:46 flameeyes Exp $
+
+*ekeyd-1.1.3-r1 (29 Sep 2010)
+
+ 29 Sep 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+ +ekeyd-1.1.3-r1.ebuild, +files/ekeyd-1.1.3-libusb_compat.patch,
+ metadata.xml:
+ Add patch to that worksaround a libusb-compat bug and allows using the
+ virtual with ekeyd-ulusbd.
*ekeyd-1.1.3 (24 Sep 2010)
diff --git a/app-crypt/ekeyd/Manifest b/app-crypt/ekeyd/Manifest
index 9dd83386de4f..22180ca386cb 100644
--- a/app-crypt/ekeyd/Manifest
+++ b/app-crypt/ekeyd/Manifest
@@ -4,15 +4,17 @@ Hash: SHA1
AUX ekey-ulusbd.conf 579 RMD160 0fb73018df4b96197fb1bd245f98e078b9e84501 SHA1 c7b287b34080c6cc941e217e21768f290803ca98 SHA256 7077c2634fe54d1c1a6af9f48d4e76b53b8c8f2b110c44ec50a4998f7e797fa9
AUX ekey-ulusbd.init 1044 RMD160 8d367b69b2ab785603329039005e3e04d0a5858e SHA1 acece8401daf5d0d9c73e4efd3262f2fd2887391 SHA256 454def35bf7bb2e8e1927a33415f51832f45714e5db411c1d0374331e07e802c
AUX ekeyd-1.1.1-earlyboot.patch 1526 RMD160 66512d44326f6b4ccb3971dd83a5888dc8175a47 SHA1 9ac7a0ab0ff4f800d373f16173a0a40d282a6030 SHA256 00d346ba22afcefafbed9ee1a53c38460db732839a2ed9b5a32ac5bb250987c3
+AUX ekeyd-1.1.3-libusb_compat.patch 658 RMD160 356e27996ac6efbda56002d2dabaae9fce234e95 SHA1 e035db0258b7162a1ed7a69a343628a92c4a78a8 SHA256 5b82fe0d834ccfe674fdee2582a9097e4f0bea5b766e0c287808c7f4b3bc77e2
AUX ekeyd.init 781 RMD160 9f7f426544b116224cbb523d27bee17d378acf2d SHA1 9017e3ddfa29b2b4319a61245f1cf8400f0f06c4 SHA256 441af4b871a17184196a5dbf5263b40291185646ed199c2495662f4da2ea9f86
DIST ekeyd-1.1.3.tar.gz 95173 RMD160 0af970891d8da67b5b0737fbac9d626a38ccb41a SHA1 a0119105d3804b76df0dd6a5e18e80db3193ece8 SHA256 07c20450e7ab139b723945e3aa0748f55209c0da097253b25074149c847044e4
+EBUILD ekeyd-1.1.3-r1.ebuild 4195 RMD160 7ab761faac5792a74c03bf18f5b4ffa955e1132e SHA1 fc42d6e82d3bc17ab296c04f998de1f93ed974ac SHA256 12e592b9dea61605dcde5f910cff11db522b500628f96fabbaecaee0a00efc10
EBUILD ekeyd-1.1.3.ebuild 4146 RMD160 4b71c1f56fa5fe2223252d04723c9faa648e4fa3 SHA1 90aa886ae71a7e035ece217800f9ea15e0df4de2 SHA256 fec902a9e6f1a4d31cd6b283e2b1f6235497db00aaed50e9f4e46ea98d65ba72
-MISC ChangeLog 3904 RMD160 3a661dd4602912b4ffc8beb13c56d90422388f05 SHA1 a1cefad3c68762600f0877faab500a81ab245e9e SHA256 68d9cc7900e77bf2e6f79258b67bd69051f474f5c21f70ff438888d76b7537d2
-MISC metadata.xml 401 RMD160 988224226b2b1e56ca024b6866deb0291faf3ab7 SHA1 17ae474fa2c6964cc4feab7173ec86f1062b9197 SHA256 3e04add274d3b051cdc073d9b3b8272861caff36bec655e6c86cf2a4fabb66c4
+MISC ChangeLog 4176 RMD160 3dcbfc86170c4801ca943bc70f5d8f7c2a3faa3e SHA1 bab7d32e5d39a87b0ff53e20d92caa6643b85ed3 SHA256 e1f89087a0738097a6ff997e16116ee881d21707dbe3819763629b5993a5b6e8
+MISC metadata.xml 619 RMD160 a2b1c4bc5ba935096e78992db51ee7d129e21b30 SHA1 2d82a2c0c31be9a52b57ce055de3fb3bbde28544 SHA256 f7a7ec084ae9aec5e7b5bfc14fc853bdb56f427b8577eb494576079ae5205aa9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
-iEYEARECAAYFAkycjuEACgkQAiZjviIA2XiGnwCcD3NF+QVi0CRlmYQj//Ri4rsS
-MK4AoNlb1tZYG9tlF0H2T17x0/SriJOk
-=8GBF
+iEYEARECAAYFAkyj0ckACgkQAiZjviIA2Xj78ACfSTPfx7621Ze5FBVl/D4pv6vm
+zt8AmgKcWevhsqWItyPFt6scaw/hxrzL
+=fa8C
-----END PGP SIGNATURE-----
diff --git a/app-crypt/ekeyd/ekeyd-1.1.3-r1.ebuild b/app-crypt/ekeyd/ekeyd-1.1.3-r1.ebuild
new file mode 100644
index 000000000000..d369e138eff4
--- /dev/null
+++ b/app-crypt/ekeyd/ekeyd-1.1.3-r1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/ekeyd/ekeyd-1.1.3-r1.ebuild,v 1.1 2010/09/29 23:54:46 flameeyes Exp $
+
+EAPI=2
+
+inherit multilib linux-info
+
+DESCRIPTION="Entropy Key userspace daemon"
+HOMEPAGE="http://www.entropykey.co.uk/"
+SRC_URI="http://www.entropykey.co.uk/res/download/${P}.tar.gz"
+
+LICENSE="as-is" # yes, truly
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+
+IUSE="usb kernel_linux"
+
+RDEPEND="dev-lang/lua
+ usb? ( virtual/libusb:0 )"
+DEPEND="${RDEPEND}"
+RDEPEND="${RDEPEND}
+ dev-libs/luasocket
+ 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;
+ # - don't gzip the man pages, this will also stop it from
+ # installing them, so we'll do it by hand.
+ sed -i \
+ -e 's:-Werror::' \
+ -e '/gzip/d' \
+ daemon/Makefile || die
+
+ epatch "${FILESDIR}"/${PN}-1.1.1-earlyboot.patch
+ epatch "${FILESDIR}"/${P}-libusb_compat.patch
+
+ # We moved the binaries around
+ sed -i -e 's:$BINPATH/ekey-ulusbd:/usr/libexec/ekey-ulusbd:' \
+ doc/ekeyd-udev || die
+}
+
+src_compile() {
+ local osname
+
+ # Override automatic detection: upstream provides this with uname,
+ # we don't like using uname.
+ case ${CHOST} in
+ *-linux-*)
+ osname=linux;;
+ *-freebsd*)
+ osname=freebsd;;
+ *-kfrebsd-gnu)
+ osname=gnukfreebsd;;
+ *-openbsd*)
+ osname=openbsd;;
+ *)
+ die "Unsupported operating system!"
+ ;;
+ esac
+
+ # We don't slot LUA so we don't really need to have the variables
+ # set at all.
+ emake -C daemon \
+ LUA_V= LUA_INC= \
+ OSNAME=${osname} \
+ OPT="${CFLAGS}" \
+ BUILD_ULUSBD=$(use usb && echo yes || echo no) \
+ || die "emake failed"
+}
+
+src_install() {
+ emake -C daemon \
+ DESTDIR="${D}" \
+ BUILD_ULUSBD=$(use usb && echo yes || echo no) \
+ install || die "emake install failed"
+
+ # We move the daemons around to avoid polluting the available
+ # commands.
+ dodir /usr/libexec
+ mv "${D}"/usr/sbin/ekey*d "${D}"/usr/libexec
+
+ # Install them manually because we don't want them gzipped
+ doman daemon/{ekeyd,ekey-setkey,ekey-rekey,ekeydctl}.8 \
+ daemon/ekeyd.conf.5 || die
+
+ newinitd "${FILESDIR}"/${PN}.init ${PN} || die
+
+ if use usb; then
+ 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
+
+ dodoc daemon/README* AUTHORS WARNING ChangeLog || die
+
+ if use kernel_linux; then
+ insinto /etc/udev/rules.d
+ 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
+ fi
+}
+
+pkg_postinst() {
+ elog "To make use of your entropykey, make sure to execute ekey-rekey"
+ elog "the first time, and then start the ekeyd service."
+ elog ""
+ 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'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/ekeyd-1.1.3-libusb_compat.patch b/app-crypt/ekeyd/files/ekeyd-1.1.3-libusb_compat.patch
new file mode 100644
index 000000000000..e97f4e12ba3e
--- /dev/null
+++ b/app-crypt/ekeyd/files/ekeyd-1.1.3-libusb_compat.patch
@@ -0,0 +1,14 @@
+Index: ekeyd-1.1.3/daemon/ekey-ulusbd.c
+===================================================================
+--- ekeyd-1.1.3.orig/daemon/ekey-ulusbd.c
++++ ekeyd-1.1.3/daemon/ekey-ulusbd.c
+@@ -100,7 +100,8 @@ find_usb_device(char *busmatch, char *de
+
+ #if LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP
+ if ((r = usb_detach_kernel_driver_np(devh, EKEY_IFACE)) != 0) {
+- if (r != -ENODATA) {
++ /* libusb_compat-0.1.3 mistakenly translate ENODATA to ENOENT */
++ if (r != -ENODATA && r != -ENOENT) {
+ fprintf(stderr,
+ "Unable to detach Entropy Key at %s/%s from kernel\n",
+ busmatch, devmatch);
diff --git a/app-crypt/ekeyd/metadata.xml b/app-crypt/ekeyd/metadata.xml
index 85ddda26dec9..b12952fd840a 100644
--- a/app-crypt/ekeyd/metadata.xml
+++ b/app-crypt/ekeyd/metadata.xml
@@ -8,7 +8,10 @@
<use>
<flag name='usb'>
Build the libusb-based userland daemon for accessing the
- entropykey (alternative to the CDC USB driver).
+ EntropyKey (alternative to the CDC USB driver). It is suggested
+ to use this option by default, as the CDC driver in the kernel
+ often seems to be fragile (or the gadget implementation on the
+ EntropyKey is too buggy), and can cause various problems.
</flag>
</use>
</pkgmetadata>