Mon Aug 17 07:02:25 2020 UTC ()
Import yubikey-manager-3.1.1 as security/py-yubikey-manager
Yubico's Python library and command-line tool for managing Yubikeys.
Meta-package security/ykman gives a more obvious name, without any
Python package prefixing, for the ykman command-line tool package.
(riastradh)
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/ALTERNATIVES
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/DESCR
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/Makefile
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/PLIST
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/distinfo
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/patches/patch-ykman_descriptor.py
diff -r0 -r1.1 pkgsrc/security/py-yubikey-manager/patches/patch-ykman_driver__ccid.py
diff -r0 -r1.1 pkgsrc/security/ykman/DESCR
diff -r0 -r1.1 pkgsrc/security/ykman/Makefile
diff -r0 -r1.1 pkgsrc/security/ykman/version.mk
bin/ykman @PREFIX@/bin/ykman-@PYVERSSUFFIX@
Use the YubiKey Manager to configure FIDO2, OTP and PIV functionality
on your YubiKey on Windows, macOS, and Linux operating systems. The
tool works with any currently supported YubiKey. You can also use the
tool to check the type and firmware of a YubiKey. In addition, you can
use the extended settings to specify other features, such as to
configure 3-second long touch.
# $NetBSD: Makefile,v 1.1 2020/08/17 07:02:25 riastradh Exp $
.include "../../security/ykman/version.mk"
DISTNAME= yubikey-manager-${VERSION}
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= security sysutils
MASTER_SITES= ${MASTER_SITE_GITHUB:=Yubico/}
GITHUB_PROJECT= yubikey-manager
GITHUB_TAG= ${DISTNAME}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://developers.yubico.com/yubikey-manager/
COMMENT= Yubico YubiKey manager library
LICENSE= 2-clause-bsd
DEPENDS+= ${PYPKGPREFIX}-OpenSSL>=0:../../security/py-OpenSSL
DEPENDS+= ${PYPKGPREFIX}-click>=0:../../devel/py-click
DEPENDS+= ${PYPKGPREFIX}-cryptography>=0:../../security/py-cryptography
DEPENDS+= ${PYPKGPREFIX}-fido2>=0:../../security/py-fido2
DEPENDS+= ${PYPKGPREFIX}-scard>=0:../../devel/py-scard
DEPENDS+= ${PYPKGPREFIX}-six>=0:../../lang/py-six
DEPENDS+= ${PYPKGPREFIX}-usb>=0:../../devel/py-usb
post-install:
cd ${DESTDIR}${PREFIX}/bin && \
${MV} ykman ykman-${PYVERSSUFFIX}
.include "../../lang/python/egg.mk"
.include "../../security/ykpers/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@comment $NetBSD: PLIST,v 1.1 2020/08/17 07:02:25 riastradh Exp $
bin/ykman-${PYVERSSUFFIX}
${PYSITELIB}/ykman/VERSION
${PYSITELIB}/ykman/__init__.py
${PYSITELIB}/ykman/__init__.pyc
${PYSITELIB}/ykman/__init__.pyo
${PYSITELIB}/ykman/cli/__init__.py
${PYSITELIB}/ykman/cli/__init__.pyc
${PYSITELIB}/ykman/cli/__init__.pyo
${PYSITELIB}/ykman/cli/__main__.py
${PYSITELIB}/ykman/cli/__main__.pyc
${PYSITELIB}/ykman/cli/__main__.pyo
${PYSITELIB}/ykman/cli/config.py
${PYSITELIB}/ykman/cli/config.pyc
${PYSITELIB}/ykman/cli/config.pyo
${PYSITELIB}/ykman/cli/fido.py
${PYSITELIB}/ykman/cli/fido.pyc
${PYSITELIB}/ykman/cli/fido.pyo
${PYSITELIB}/ykman/cli/info.py
${PYSITELIB}/ykman/cli/info.pyc
${PYSITELIB}/ykman/cli/info.pyo
${PYSITELIB}/ykman/cli/mode.py
${PYSITELIB}/ykman/cli/mode.pyc
${PYSITELIB}/ykman/cli/mode.pyo
${PYSITELIB}/ykman/cli/oath.py
${PYSITELIB}/ykman/cli/oath.pyc
${PYSITELIB}/ykman/cli/oath.pyo
${PYSITELIB}/ykman/cli/opgp.py
${PYSITELIB}/ykman/cli/opgp.pyc
${PYSITELIB}/ykman/cli/opgp.pyo
${PYSITELIB}/ykman/cli/otp.py
${PYSITELIB}/ykman/cli/otp.pyc
${PYSITELIB}/ykman/cli/otp.pyo
${PYSITELIB}/ykman/cli/piv.py
${PYSITELIB}/ykman/cli/piv.pyc
${PYSITELIB}/ykman/cli/piv.pyo
${PYSITELIB}/ykman/cli/util.py
${PYSITELIB}/ykman/cli/util.pyc
${PYSITELIB}/ykman/cli/util.pyo
${PYSITELIB}/ykman/descriptor.py
${PYSITELIB}/ykman/descriptor.pyc
${PYSITELIB}/ykman/descriptor.pyo
${PYSITELIB}/ykman/device.py
${PYSITELIB}/ykman/device.pyc
${PYSITELIB}/ykman/device.pyo
${PYSITELIB}/ykman/driver.py
${PYSITELIB}/ykman/driver.pyc
${PYSITELIB}/ykman/driver.pyo
${PYSITELIB}/ykman/driver_ccid.py
${PYSITELIB}/ykman/driver_ccid.pyc
${PYSITELIB}/ykman/driver_ccid.pyo
${PYSITELIB}/ykman/driver_fido.py
${PYSITELIB}/ykman/driver_fido.pyc
${PYSITELIB}/ykman/driver_fido.pyo
${PYSITELIB}/ykman/driver_otp.py
${PYSITELIB}/ykman/driver_otp.pyc
${PYSITELIB}/ykman/driver_otp.pyo
${PYSITELIB}/ykman/fido.py
${PYSITELIB}/ykman/fido.pyc
${PYSITELIB}/ykman/fido.pyo
${PYSITELIB}/ykman/logging_setup.py
${PYSITELIB}/ykman/logging_setup.pyc
${PYSITELIB}/ykman/logging_setup.pyo
${PYSITELIB}/ykman/native/__init__.py
${PYSITELIB}/ykman/native/__init__.pyc
${PYSITELIB}/ykman/native/__init__.pyo
${PYSITELIB}/ykman/native/libloader.py
${PYSITELIB}/ykman/native/libloader.pyc
${PYSITELIB}/ykman/native/libloader.pyo
${PYSITELIB}/ykman/native/pyusb.py
${PYSITELIB}/ykman/native/pyusb.pyc
${PYSITELIB}/ykman/native/pyusb.pyo
${PYSITELIB}/ykman/native/util.py
${PYSITELIB}/ykman/native/util.pyc
${PYSITELIB}/ykman/native/util.pyo
${PYSITELIB}/ykman/native/ykpers.py
${PYSITELIB}/ykman/native/ykpers.pyc
${PYSITELIB}/ykman/native/ykpers.pyo
${PYSITELIB}/ykman/oath.py
${PYSITELIB}/ykman/oath.pyc
${PYSITELIB}/ykman/oath.pyo
${PYSITELIB}/ykman/opgp.py
${PYSITELIB}/ykman/opgp.pyc
${PYSITELIB}/ykman/opgp.pyo
${PYSITELIB}/ykman/otp.py
${PYSITELIB}/ykman/otp.pyc
${PYSITELIB}/ykman/otp.pyo
${PYSITELIB}/ykman/piv.py
${PYSITELIB}/ykman/piv.pyc
${PYSITELIB}/ykman/piv.pyo
${PYSITELIB}/ykman/scancodes/__init__.py
${PYSITELIB}/ykman/scancodes/__init__.pyc
${PYSITELIB}/ykman/scancodes/__init__.pyo
${PYSITELIB}/ykman/scancodes/de.py
${PYSITELIB}/ykman/scancodes/de.pyc
${PYSITELIB}/ykman/scancodes/de.pyo
${PYSITELIB}/ykman/scancodes/modhex.py
${PYSITELIB}/ykman/scancodes/modhex.pyc
${PYSITELIB}/ykman/scancodes/modhex.pyo
${PYSITELIB}/ykman/scancodes/norman.py
${PYSITELIB}/ykman/scancodes/norman.pyc
${PYSITELIB}/ykman/scancodes/norman.pyo
${PYSITELIB}/ykman/scancodes/us.py
${PYSITELIB}/ykman/scancodes/us.pyc
${PYSITELIB}/ykman/scancodes/us.pyo
${PYSITELIB}/ykman/settings.py
${PYSITELIB}/ykman/settings.pyc
${PYSITELIB}/ykman/settings.pyo
${PYSITELIB}/ykman/util.py
${PYSITELIB}/ykman/util.pyc
${PYSITELIB}/ykman/util.pyo
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
$NetBSD: distinfo,v 1.1 2020/08/17 07:02:25 riastradh Exp $
SHA1 (yubikey-manager-3.1.1.tar.gz) = 6f93f6534ad681b9092edf1f28dd970aed964114
RMD160 (yubikey-manager-3.1.1.tar.gz) = 927cb522b894dd4824c92b2d0d59385a74800243
SHA512 (yubikey-manager-3.1.1.tar.gz) = 4c1516c9fb72bae5f046f32220403504b3b34bce503abc50597c13cc0f29eb7673b8520d580f7bdd31120adfd4cfef8a91f3bb42bdafc517836952d7f5bb6ad9
Size (yubikey-manager-3.1.1.tar.gz) = 119251 bytes
SHA1 (patch-ykman_descriptor.py) = 0173d6c596d424c4660def6d78bd5b7c8a6e2088
SHA1 (patch-ykman_driver__ccid.py) = ff238fe8fd67dd0bbe14f6afbebffd19c0de270b
$NetBSD: patch-ykman_descriptor.py,v 1.1 2020/08/17 07:02:25 riastradh Exp $
Enumerate uhidevs in case they are not available as ugen.
--- ykman/descriptor.py.orig 2020-08-17 06:36:13.378751569 +0000
+++ ykman/descriptor.py
@@ -145,6 +145,13 @@ def _gen_descriptors():
desc = Descriptor.from_usb(dev, backend)
if desc:
yield desc
+ # No generic USB devices found, but there may be some USB HID
+ # devices available only as such and not as generic USB devices.
+ if not found:
+ for d in _list_drivers(TRANSPORT.OTP | TRANSPORT.FIDO):
+ desc = Descriptor.from_driver(d)
+ if desc:
+ yield desc
def get_descriptors():
$NetBSD: patch-ykman_driver__ccid.py,v 1.1 2020/08/17 07:02:25 riastradh Exp $
Avoid crashing if pcscd is missing.
--- ykman/driver_ccid.py.orig 2020-01-29 07:32:03.000000000 +0000
+++ ykman/driver_ccid.py
@@ -36,6 +36,7 @@ from enum import IntEnum, unique
from binascii import b2a_hex
from smartcard import System
from smartcard.Exceptions import CardConnectionException
+from smartcard.pcsc.PCSCExceptions import EstablishContextException
from smartcard.pcsc.PCSCExceptions import ListReadersException
from smartcard.pcsc.PCSCContext import PCSCContext
from .driver import AbstractDriver, ModeSwitchError, NotSupportedError
@@ -320,6 +321,8 @@ def list_readers():
# removed):
PCSCContext.instance = None
return System.readers()
+ except EstablishContextException:
+ return []
def open_devices(name_filter=YK_READER_NAME):
Use the YubiKey Manager to configure FIDO2, OTP and PIV functionality
on your YubiKey on Windows, macOS, and Linux operating systems. The
tool works with any currently supported YubiKey. You can also use the
tool to check the type and firmware of a YubiKey. In addition, you can
use the extended settings to specify other features, such as to
configure 3-second long touch.
# $NetBSD: Makefile,v 1.1 2020/08/17 07:02:25 riastradh Exp $
.include "../../security/ykman/version.mk"
PKGNAME= ykman-${VERSION}
CATEGORIES= security
MASTER_SITES= # empty
DISTFILES= # empty
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://developers.yubico.com/yubikey-manager/
COMMENT= Yubico YubiKey manager command-line tool
LICENSE= 2-clause-bsd
DEPENDS+= ${PYPKGPREFIX}-yubikey-manager>=${VERSION}:../../security/py-yubikey-manager
META_PACKAGE= yes
.include "../../lang/python/pyversion.mk"
.include "../../mk/bsd.pkg.mk"
# $NetBSD: version.mk,v 1.1 2020/08/17 07:02:25 riastradh Exp $
# used by security/py-yubikey-manager/Makefile
# used by security/ykman/Makefile
VERSION= 3.1.1