Thursday, October 31, 2019

Re: [NEW] security/yubico/yubikey-manager

On 2019/10/31 21:09, Klemens Nanni wrote:
> I know the usual way for Python libs is to provide flavours, but since
> this port depends on the unflavoured security/pcsc-lite which depends on
> Python 3 itself, this port's py2 flavour will also install Python 3.

Additionally 1) it's really billed as just the tool rather than the python
module, and 2) the flavour setup was wrong for multi-version anyway, it would
have needed to install the ykman script under a different filename for one of
the versions, and use a py- prefix.

> Point being: Python 3's going to be there anyway, so let's drop the
> Python 2 flavour - it ought to be deprecated anyway.

Yes I agree. Diff below does that, fixes some whitespace, sorts RUN_DEPENDS,
moves ykpers to LIB_DEPENDS+WANTLIB (it's not just a build dep, it's also
dlopen'd at runtime) and adds a bit more to DESCR from upstream's page.

Untested, as kn@ says it also needs pyscard.

diff --git Makefile Makefile
index 9199104..d068663 100644
--- Makefile
+++ Makefile
@@ -1,29 +1,32 @@
# $OpenBSD: Makefile.template,v 1.85 2019/09/09 19:19:05 kmos Exp $

-COMMENT = library and command line tool for configuring a YubiKey
+COMMENT = library and CLI tool (ykman) for configuring a YubiKey

MODPY_EGG_VERSION = 3.1.0

DISTNAME = yubikey-manager-${MODPY_EGG_VERSION}
-YK_PROJECT = yubikey-manager
+YK_PROJECT = yubikey-manager

CATEGORIES = sysutils

-FLAVORS = python3
-FLAVOR ?=
+MODULES = lang/python
+MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}

MODPY_SETUPTOOLS = Yes
-MODULES = lang/python

-BUILD_DEPENDS = devel/swig \
- security/yubico/yubikey-personalization
-RUN_DEPENDS = security/py-fido2${MODPY_FLAVOR} \
- security/py-openssl${MODPY_FLAVOR} \
- devel/py-click${MODPY_FLAVOR} \
- devel/pyusb${MODPY_FLAVOR} \
+WANTLIB += ykpers-1 # dlopen()'d
+
+BUILD_DEPENDS = devel/swig
+LIB_DEPENDS = security/yubico/yubikey-personalization
+RUN_DEPENDS = devel/py-click${MODPY_FLAVOR} \
devel/py-six${MODPY_FLAVOR} \
+ devel/pyusb${MODPY_FLAVOR} \
+ security/pcsc-lite \
security/py-cryptography${MODPY_FLAVOR} \
- security/pcsc-lite
+ security/py-fido2${MODPY_FLAVOR} \
+ security/py-openssl${MODPY_FLAVOR}
+# XXX pyscard
+
TEST_DEPENDS = devel/py-mock${MODPY_FLAVOR}

.include <bsd.port.mk>
diff --git pkg/DESCR pkg/DESCR
index 851a710..892a044 100644
--- pkg/DESCR
+++ pkg/DESCR
@@ -1 +1,5 @@
-Python library and command line tool for configuring a YubiKey
+The YubiKey Manager can configure FIDO2, OTP and PIV functionality on
+a YubiKey. It 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.

No comments:

Post a Comment