diff options
Diffstat (limited to 'sys-apps/pcsc-lite')
-rw-r--r-- | sys-apps/pcsc-lite/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules (renamed from sys-apps/pcsc-lite/files/99-pcscd-hotplug.rules) | 4 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/files/pcsc-lite-1.9.8-systemd-user.patch | 18 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/files/pcscd-udev | 14 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/files/pcscd.conf | 1 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/metadata.xml | 44 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild (renamed from sys-apps/pcsc-lite/pcsc-lite-1.8.24.ebuild) | 95 | ||||
-rw-r--r-- | sys-apps/pcsc-lite/pcsc-lite-2.0.1.ebuild (renamed from sys-apps/pcsc-lite/pcsc-lite-1.8.25.ebuild) | 95 |
8 files changed, 152 insertions, 123 deletions
diff --git a/sys-apps/pcsc-lite/Manifest b/sys-apps/pcsc-lite/Manifest index 512f42f167fd..59e3eaefc649 100644 --- a/sys-apps/pcsc-lite/Manifest +++ b/sys-apps/pcsc-lite/Manifest @@ -1,2 +1,2 @@ -DIST pcsc-lite-1.8.24.tar.bz2 755670 BLAKE2B 22cc072978e221d455373e1fdeb21ae8f3dacdd188a4e8a69ef44202924e6c17c4282d424c88ac32b04c62af6e67787f2d2ba936bd3e3667452b32c40254de28 SHA512 df2e6a7a8179563a6dbf654ab75cf78a4b297b0562214a081d7d2b5d00fd4adf92fd892bd16aacf9d5e2867f3ad46c88a88e5834e311011f37556dd7e8936a0c -DIST pcsc-lite-1.8.25.tar.bz2 757099 BLAKE2B c34727833206b4c868e4f0cd6f8bcaf6899695a92488df8e2fc815c00771ea2f248d9d5fa457c02fc437b8350cbfa37390e07f45b90d08630c8afc34b247034a SHA512 0da63cefd70d9524b2afabd62c5f404758c805b84bbe9ef64fb801ef91a8934c38495513022565ea31bd8550b23bc95b9e9b098ddc76930e3d0643c1fbfb5deb +DIST pcsc-lite-2.0.0.tar.bz2 799011 BLAKE2B d93fffebbe3daf389fcd8195c9fb3d76db64dbb98ac9c7ecd08338331389298e710ca71187cb73165868b0b5e66cb9735b60e22d508db1c1a81e04555103948a SHA512 4b34628d3269ae1859f19d2ab7eb74a76a55f3d76fbc9e4e420a081a065b1d0d7b98680552c7208f3265c684bed844afc6be1c2e5f103ad916ce7f38b52ee68c +DIST pcsc-lite-2.0.1.tar.bz2 815103 BLAKE2B a9eea4a4da1a78fc22797b17c128889b2f7caf8c4aa02dd77f4ac79e4ec458fb0162578b5422552545cd39303750d5396f3687f8cfee7603fad8d60cb54ee1e8 SHA512 af007f00f43e8d897710580f6f27814c9e7d3ca489ff01edf2e3b979e46267915aa04d9c15f225a420fa681de936e42a1d4779d962717cf9a9f4a3d1ca31502b diff --git a/sys-apps/pcsc-lite/files/99-pcscd-hotplug.rules b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules index e6ee464344ff..fc612d5e25f3 100644 --- a/sys-apps/pcsc-lite/files/99-pcscd-hotplug.rules +++ b/sys-apps/pcsc-lite/files/99-pcscd-hotplug-r1.rules @@ -1,6 +1,6 @@ -# Copyright 1999-2010 Gentoo Foundation +# 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", RUN+="/bin/env IN_HOTPLUG=1 /etc/init.d/pcscd --quiet start" +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/pcsc-lite-1.9.8-systemd-user.patch b/sys-apps/pcsc-lite/files/pcsc-lite-1.9.8-systemd-user.patch new file mode 100644 index 000000000000..4d64c5c032f0 --- /dev/null +++ b/sys-apps/pcsc-lite/files/pcsc-lite-1.9.8-systemd-user.patch @@ -0,0 +1,18 @@ +Don't run the daemon as root +https://bugs.gentoo.org/545390 + +--- a/etc/pcscd.service.in ++++ b/etc/pcscd.service.in +@@ -4,9 +4,12 @@ + Documentation=man:pcscd(8) + + [Service] ++PIDFile=/run/pcscd/pcscd.pid + ExecStart=@sbindir_exp@/pcscd --foreground --auto-exit $PCSCD_ARGS + ExecReload=@sbindir_exp@/pcscd --hotplug + EnvironmentFile=-@sysconfdir@/default/pcscd ++User=pcscd ++Group=pcscd + + [Install] + Also=pcscd.socket 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 <uberlord@gentoo.org> +# 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/files/pcscd.conf b/sys-apps/pcsc-lite/files/pcscd.conf new file mode 100644 index 000000000000..168c860e88c8 --- /dev/null +++ b/sys-apps/pcsc-lite/files/pcscd.conf @@ -0,0 +1 @@ +d /run/pcscd 0755 pcscd pcscd - diff --git a/sys-apps/pcsc-lite/metadata.xml b/sys-apps/pcsc-lite/metadata.xml index a91aa068052e..90fbe94fb35c 100644 --- a/sys-apps/pcsc-lite/metadata.xml +++ b/sys-apps/pcsc-lite/metadata.xml @@ -1,32 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>crypto@gentoo.org</email> - <name>Crypto</name> - </maintainer> - <longdescription> - PC/SC Architecture smartcard middleware library - </longdescription> - - <use> - <flag name="libusb" restrict=">=sys-apps/pcsc-lite-1.8.0"> - Use <pkg>dev-libs/libusb</pkg> detection to hotplug new - smartcard readers. This flag should only be enabled if you're - running a non-Linux kernel or you don't want to use - <pkg>sys-fs/udev</pkg>. - </flag> - - <flag name="udev"> - Use <pkg>sys-fs/udev</pkg> rules to handle devices' permissions - and hotplug support. Unless you know what you're doing do not - disable this flag on Linux kernels. This is provided as an - option for completeness. - </flag> - - <flag name="policykit"> - Uses <pkg>sys-auth/polkit</pkg> to restrict access to smartcard readers or - smartcars to given users. - </flag> - </use> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <use> + <flag name="embedded">limit RAM and CPU ressources by disabling features</flag> + <flag name="libusb" restrict=">=sys-apps/pcsc-lite-1.8.0">Use <pkg>dev-libs/libusb</pkg> detection to hotplug new smartcard readers. This flag should only be enabled if you're running a non-Linux kernel or you don't want to use udev.</flag> + <flag name="udev">Use <pkg>virtual/libudev</pkg> rules to handle devices' permissions and hotplug support. Unless you know what you're doing do not disable this flag on Linux kernels. This is provided as an option for completeness.</flag> + <flag name="policykit">Uses <pkg>sys-auth/polkit</pkg> to restrict access to smartcard readers or smartcards to given users.</flag> + </use> + <upstream> + <changelog>https://salsa.debian.org/rousseau/PCSC/blob/master/ChangeLog</changelog> + <remote-id type="github">LudovicRousseau/PCSC</remote-id> + </upstream> </pkgmetadata> diff --git a/sys-apps/pcsc-lite/pcsc-lite-1.8.24.ebuild b/sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild index 93765f85c0f2..661385f197ba 100644 --- a/sys-apps/pcsc-lite/pcsc-lite-1.8.24.ebuild +++ b/sys-apps/pcsc-lite/pcsc-lite-2.0.0.ebuild @@ -1,63 +1,58 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 -PYTHON_COMPAT=( python2_7 python3_{5,6} ) +EAPI=8 -inherit python-single-r1 systemd udev user multilib-minimal +PYTHON_COMPAT=( python3_{10..11} ) -DESCRIPTION="PC/SC Architecture smartcard middleware library" -HOMEPAGE="https://pcsclite.apdu.fr/" +inherit python-single-r1 systemd tmpfiles udev multilib-minimal +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr https://github.com/LudovicRousseau/PCSC" 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" - +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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} )" +IUSE="doc embedded libusb policykit selinux systemd +udev" +REQUIRED_USE="^^ ( udev libusb ) ${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 ) +DEPEND=" + libusb? ( virtual/libusb:1 ) + udev? ( virtual/libudev:= ) policykit? ( >=sys-auth/polkit-0.111 ) - python? ( ${PYTHON_DEPS} )" + acct-group/openct + acct-group/pcscd + acct-user/pcscd + ${PYTHON_DEPS}" RDEPEND="${DEPEND} - !<app-crypt/ccid-1.4.1-r1 - !<sys-apps/baselayout-2 - !<sys-apps/openrc-0.11.8 selinux? ( sec-policy/selinux-pcscd )" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch + "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch ) -DOCS=( AUTHORS HELP README SECURITY ChangeLog ) - -pkg_setup() { - use python && python-single-r1_pkg_setup - enewgroup openct # make sure it exists - enewgroup pcscd - enewuser pcscd -1 -1 /run/pcscd pcscd,openct -} - multilib_src_configure() { ECONF_SOURCE="${S}" econf \ --disable-maintainer-mode \ - --enable-usbdropdir="${EPREFIX}/usr/$(get_libdir)/readers/usb" \ + --disable-strict \ + --enable-usbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb \ --enable-ipcdir=/run/pcscd \ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ - $(multilib_native_use_enable systemd libsystemd) \ + $(multilib_native_use_enable doc documentation) \ + $(multilib_native_use_enable embedded) \ + $(multilib_native_use_enable systemd libsystemd) \ $(multilib_native_use_enable udev libudev) \ $(multilib_native_use_enable libusb) \ $(multilib_native_use_enable policykit polkit) @@ -65,40 +60,50 @@ multilib_src_configure() { multilib_src_install_all() { einstalldocs + dodoc HELP SECURITY newinitd "${FILESDIR}"/pcscd-init.7 pcscd + dotmpfiles "${FILESDIR}"/pcscd.conf if use udev; then + exeinto "$(get_udevdir)" + newexe "${FILESDIR}"/pcscd-udev pcscd.sh + insinto "$(get_udevdir)"/rules.d - doins "${FILESDIR}"/99-pcscd-hotplug.rules + newins "${FILESDIR}"/99-pcscd-hotplug-r1.rules 99-pcscd-hotplug.rules fi - for f in "${ED}/usr/bin/pcsc-spy"; do - if use python; then - python_fix_shebang "${f}" - else - rm "${f}" - fi - done + python_fix_shebang "${ED}"/usr/bin/pcsc-spy + + find "${ED}" -name '*.la' -delete || die } pkg_postinst() { elog "Starting from version 1.6.5, pcsc-lite will start as user nobody in" elog "the pcscd group, to avoid running as root." - elog "" + elog elog "This also means you need the newest drivers available so that the" elog "devices get the proper owner." - elog "" + elog elog "Furthermore, a conf.d file is no longer installed by default, as" elog "the default configuration does not require one. If you need to" elog "pass further options to pcscd, create a file and set the" elog "EXTRA_OPTS variable." - elog "" + elog + if use udev; then - elog "Hotplug support is provided by udev rules; you only need to tell" - elog "the init system to hotplug it, by setting this variable in" - elog "/etc/rc.conf:" - elog "" + elog "Hotplug support is provided by udev rules." + elog "When using OpenRC you additionally need to tell it to hotplug" + elog "pcscd by setting this variable in /etc/rc.conf:" + elog elog " rc_hotplug=\"pcscd\"" fi + + tmpfiles_process pcscd.conf + + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload } diff --git a/sys-apps/pcsc-lite/pcsc-lite-1.8.25.ebuild b/sys-apps/pcsc-lite/pcsc-lite-2.0.1.ebuild index 77ffad5c2320..5d5823a7adbb 100644 --- a/sys-apps/pcsc-lite/pcsc-lite-1.8.25.ebuild +++ b/sys-apps/pcsc-lite/pcsc-lite-2.0.1.ebuild @@ -1,63 +1,58 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 -PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) +EAPI=8 -inherit python-single-r1 systemd udev user multilib-minimal +PYTHON_COMPAT=( python3_{10..12} ) -DESCRIPTION="PC/SC Architecture smartcard middleware library" -HOMEPAGE="https://pcsclite.apdu.fr/" +inherit python-single-r1 systemd tmpfiles udev multilib-minimal +DESCRIPTION="PC/SC Architecture smartcard middleware library" +HOMEPAGE="https://pcsclite.apdu.fr https://github.com/LudovicRousseau/PCSC" 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" - +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-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} )" +IUSE="doc embedded libusb policykit selinux systemd +udev" +REQUIRED_USE="^^ ( udev libusb ) ${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 ) +DEPEND=" + libusb? ( virtual/libusb:1 ) + udev? ( virtual/libudev:= ) policykit? ( >=sys-auth/polkit-0.111 ) - python? ( ${PYTHON_DEPS} )" + acct-group/openct + acct-group/pcscd + acct-user/pcscd + ${PYTHON_DEPS}" RDEPEND="${DEPEND} - !<app-crypt/ccid-1.4.1-r1 - !<sys-apps/baselayout-2 - !<sys-apps/openrc-0.11.8 selinux? ( sec-policy/selinux-pcscd )" -BDEPEND="virtual/pkgconfig" +BDEPEND=" + app-alternatives/lex + virtual/pkgconfig" PATCHES=( "${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch + "${FILESDIR}"/${PN}-1.9.8-systemd-user.patch ) -DOCS=( AUTHORS HELP README SECURITY ChangeLog ) - -pkg_setup() { - use python && python-single-r1_pkg_setup - enewgroup openct # make sure it exists - enewgroup pcscd - enewuser pcscd -1 -1 /run/pcscd pcscd,openct -} - multilib_src_configure() { ECONF_SOURCE="${S}" econf \ --disable-maintainer-mode \ - --enable-usbdropdir="${EPREFIX}/usr/$(get_libdir)/readers/usb" \ + --disable-strict \ + --enable-usbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb \ --enable-ipcdir=/run/pcscd \ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \ - $(multilib_native_use_enable systemd libsystemd) \ + $(multilib_native_use_enable doc documentation) \ + $(multilib_native_use_enable embedded) \ + $(multilib_native_use_enable systemd libsystemd) \ $(multilib_native_use_enable udev libudev) \ $(multilib_native_use_enable libusb) \ $(multilib_native_use_enable policykit polkit) @@ -65,40 +60,50 @@ multilib_src_configure() { multilib_src_install_all() { einstalldocs + dodoc HELP SECURITY newinitd "${FILESDIR}"/pcscd-init.7 pcscd + dotmpfiles "${FILESDIR}"/pcscd.conf if use udev; then + exeinto "$(get_udevdir)" + newexe "${FILESDIR}"/pcscd-udev pcscd.sh + insinto "$(get_udevdir)"/rules.d - doins "${FILESDIR}"/99-pcscd-hotplug.rules + newins "${FILESDIR}"/99-pcscd-hotplug-r1.rules 99-pcscd-hotplug.rules fi - for f in "${ED}/usr/bin/pcsc-spy"; do - if use python; then - python_fix_shebang "${f}" - else - rm "${f}" || die - fi - done + python_fix_shebang "${ED}"/usr/bin/pcsc-spy + + find "${ED}" -name '*.la' -delete || die } pkg_postinst() { elog "Starting from version 1.6.5, pcsc-lite will start as user nobody in" elog "the pcscd group, to avoid running as root." - elog "" + elog elog "This also means you need the newest drivers available so that the" elog "devices get the proper owner." - elog "" + elog elog "Furthermore, a conf.d file is no longer installed by default, as" elog "the default configuration does not require one. If you need to" elog "pass further options to pcscd, create a file and set the" elog "EXTRA_OPTS variable." - elog "" + elog + if use udev; then - elog "Hotplug support is provided by udev rules; you only need to tell" - elog "the init system to hotplug it, by setting this variable in" - elog "/etc/rc.conf:" - elog "" + elog "Hotplug support is provided by udev rules." + elog "When using OpenRC you additionally need to tell it to hotplug" + elog "pcscd by setting this variable in /etc/rc.conf:" + elog elog " rc_hotplug=\"pcscd\"" fi + + tmpfiles_process pcscd.conf + + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload } |