On Thu, Oct 31, 2019 at 09:42:49PM +0000, Stuart Henderson wrote:
> 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.
>
Incorporated changes and includes the man page from the repo. The man
page isn't really any different from the -h option though...
yubikey-manager.tgz
Description: Binary data
