pcsc-lite: unfork, Gentoo added python 3.12

This commit is contained in:
Anton Bolshakov 2024-05-07 08:47:34 +08:00
parent b71854c4ea
commit e89cfd5177
No known key found for this signature in database
GPG key ID: 32BDCED870788F04
9 changed files with 0 additions and 209 deletions

View file

@ -1 +0,0 @@
DIST pcsc-lite-2.0.1.tar.bz2 815103 BLAKE2B a9eea4a4da1a78fc22797b17c128889b2f7caf8c4aa02dd77f4ac79e4ec458fb0162578b5422552545cd39303750d5396f3687f8cfee7603fad8d60cb54ee1e8 SHA512 af007f00f43e8d897710580f6f27814c9e7d3ca489ff01edf2e3b979e46267915aa04d9c15f225a420fa681de936e42a1d4779d962717cf9a9f4a3d1ca31502b

View file

@ -1,6 +0,0 @@
# 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"

View file

@ -1,20 +0,0 @@
Index: pcsc-lite-1.8.11/doc/org.debian.pcsc-lite.policy
===================================================================
--- pcsc-lite-1.8.11.orig/doc/org.debian.pcsc-lite.policy
+++ pcsc-lite-1.8.11/doc/org.debian.pcsc-lite.policy
@@ -15,6 +15,7 @@
<allow_inactive>auth_admin</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
+ <annotate key="org.freedesktop.policykit.owner">unix-user:pcscd</annotate>
</action>
<action id="org.debian.pcsc-lite.access_card">
@@ -25,6 +26,7 @@
<allow_inactive>auth_admin</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
+ <annotate key="org.freedesktop.policykit.owner">unix-user:pcscd</annotate>
</action>
</policyconfig>

View file

@ -1,18 +0,0 @@
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

View file

@ -1,22 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
name="PC/SC Daemon"
pidfile=/run/pcscd/pcscd.pid
command=/usr/sbin/pcscd
command_args="${EXTRA_OPTS}"
start_stop_daemon_args="--user pcscd:pcscd"
depend() {
need localmount
after udev openct dbus
use logger
}
start_pre() {
checkpath -q -d -m 0755 -o pcscd:pcscd /run/pcscd
}

View file

@ -1,14 +0,0 @@
#!/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

View file

@ -1 +0,0 @@
d /run/pcscd 0755 pcscd pcscd -

View file

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<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="&gt;=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>

View file

@ -1,109 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
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 ~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="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/libudev:= )
policykit? ( >=sys-auth/polkit-0.111 )
acct-group/openct
acct-group/pcscd
acct-user/pcscd
${PYTHON_DEPS}"
RDEPEND="${DEPEND}
selinux? ( sec-policy/selinux-pcscd )"
BDEPEND="
app-alternatives/lex
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-1.8.11-polkit-pcscd.patch
"${FILESDIR}"/${PN}-1.9.8-systemd-user.patch
)
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
--disable-maintainer-mode \
--disable-strict \
--enable-usbdropdir="${EPREFIX}"/usr/$(get_libdir)/readers/usb \
--enable-ipcdir=/run/pcscd \
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
$(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)
}
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
newins "${FILESDIR}"/99-pcscd-hotplug-r1.rules 99-pcscd-hotplug.rules
fi
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 "This also means you need the newest drivers available so that the"
elog "devices get the proper owner."
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
if use udev; then
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
}