From 1123ad37dafee0cc747fc8e55b18d7f143e08957 Mon Sep 17 00:00:00 2001 From: Michael Weiser Date: Thu, 10 Oct 2019 11:42:43 -0400 Subject: sys-apps/pcsc-lite: Provide systemd-aware udev rule Provide a systemd-aware udev rule. Move OpenRC logic to helper script which behaves as a no-op on non-OpenRC systems. Closes: https://bugs.gentoo.org/554118 Signed-off-by: Michael Weiser Package-Manager: Portage-2.3.76, Repoman-2.3.17 Signed-off-by: Craig Andrews --- sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules | 6 ++ sys-apps/pcsc-lite/files/pcscd-udev | 14 +++ sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild | 107 +++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules create mode 100644 sys-apps/pcsc-lite/files/pcscd-udev create mode 100644 sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild (limited to 'sys-apps/pcsc-lite') diff --git a/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules new file mode 100644 index 000000000000..fc612d5e25f3 --- /dev/null +++ b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules @@ -0,0 +1,6 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# We add this here so that it runs after ccid's and ifd-gempc's rules; +# if we just added a pcscd-owned device, we hotplug the pcscd service. +ACTION=="add", ENV{PCSCD}=="1", GROUP="pcscd", TAG+="systemd", ENV{SYSTEMD_WANTS}+="pcscd.service", RUN+="pcscd.sh" diff --git a/sys-apps/pcsc-lite/files/pcscd-udev b/sys-apps/pcsc-lite/files/pcscd-udev new file mode 100644 index 000000000000..e6d6c7348887 --- /dev/null +++ b/sys-apps/pcsc-lite/files/pcscd-udev @@ -0,0 +1,14 @@ +#!/bin/sh +# +# pcscd.sh: udev external RUN script +# +# based on netifrc net.sh helper +# Copyright 2007 Roy Marples +# Distributed under the terms of the GNU General Public License v2 + +# make sure openrc is managing services +if [ ! -d /run/openrc ]; then + exit 0 +fi + +IN_HOTPLUG=1 /etc/init.d/pcscd --quiet start diff --git a/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild b/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild new file mode 100644 index 000000000000..87907e6517d5 --- /dev/null +++ b/sys-apps/pcsc-lite/pcsc-lite-1.8.25-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) + +inherit python-single-r1 systemd udev user multilib-minimal + +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr/" + +SRC_URI="https://pcsclite.apdu.fr/files/${P}.tar.bz2" + +# GPL-2 is there for the init script; everything else comes from +# upstream. +LICENSE="BSD ISC MIT GPL-3+ GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" + +# This is called libusb so that it doesn't fool people in thinking that +# it is _required_ for USB support. Otherwise they'll disable udev and +# that's going to be worse. +IUSE="python libusb policykit selinux systemd +udev" + +REQUIRED_USE="^^ ( udev libusb ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# No dependencies need the MULTILIB_DEPS because the libraries are actually +# standalone, the deps are only needed for the daemon itself. +DEPEND="libusb? ( virtual/libusb:1 ) + udev? ( virtual/udev ) + policykit? ( >=sys-auth/polkit-0.111 ) + python? ( ${PYTHON_DEPS} )" +RDEPEND="${DEPEND} + !