On 2021/09/10 13:04, wen heping wrote: > Hi, all: > > Here is a patch for sysutils/fabric: > i) Update to 2.6.0 > ii) Update DEPENDS > iii) Add do-test > It build well and run well and pass all tests on amd64-current system. > No other ports depends on it. > > Comments ? > wen
> Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/fabric/Makefile,v > retrieving revision 1.10 > diff -u -p -r1.10 Makefile > --- Makefile 1 Sep 2021 22:32:25 -0000 1.10 > +++ Makefile 10 Sep 2021 13:00:02 -0000 > @@ -1,14 +1,10 @@ > # $OpenBSD: Makefile,v 1.10 2021/09/01 22:32:25 sthen Exp $ > > -BROKEN = requires update to fabric 2.x for python 3 > -# N.B. commented-out in ../Makefile to avoid breaking dpb; if > updating/unbreaking, that must be reenabled. it needs reenabling in sysutils/Makefile > - > COMMENT = simple, pythonic tool for remote execution and > deployment > > -MODPY_EGG_VERSION = 1.14.0 > -DISTNAME = Fabric-${MODPY_EGG_VERSION} > +MODPY_EGG_VERSION = 2.6.0 > +DISTNAME = fabric-${MODPY_EGG_VERSION} > PKGNAME = ${DISTNAME:L} > -REVISION = 0 > > CATEGORIES = sysutils > > @@ -20,15 +16,22 @@ MAINTAINER = Pablo Mendez Hernandez <pa > PERMIT_PACKAGE = Yes > > MODULES = lang/python > -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2} > +MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3} please don't list this, it is the default > MODPY_PI = Yes > MODPY_SETUPTOOLS = Yes > +MODPY_PYTEST = Yes > + > +RUN_DEPENDS = security/py-paramiko \ missing ${MODPY_FLAVOR} > + devel/py-invoke${MODPY_FLAVOR} > +TEST_DEPENDS = www/py-jinja2${MODPY_FLAVOR} \ > + devel/py-test-relaxed${MODPY_FLAVOR} \ > + devel/py-mock${MODPY_FLAVOR} > > -RUN_DEPENDS = security/py-paramiko > -TEST_DEPENDS = devel/py-nose \ > - security/sudo \ > - www/py-jinja2 > PORTHOME = ${WRKSRC} > + > +do-test: > + @cd ${WRKSRC} && ${MODPY_BIN} -m pytest -v -rs \ > + -k 'not python_dash_m_acts_like_fab' > > .include <bsd.port.mk> updated diff Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/Makefile,v retrieving revision 1.617 diff -u -p -r1.617 Makefile --- Makefile 15 Oct 2021 11:17:04 -0000 1.617 +++ Makefile 23 Oct 2021 16:35:25 -0000 @@ -92,7 +92,7 @@ SUBDIR += exfat-fuse SUBDIR += exa SUBDIR += exoscale-cli - #SUBDIR += fabric + SUBDIR += fabric SUBDIR += facter SUBDIR += facette SUBDIR += faubackup Index: fabric/Makefile =================================================================== RCS file: /cvs/ports/sysutils/fabric/Makefile,v retrieving revision 1.10 diff -u -p -r1.10 Makefile --- fabric/Makefile 1 Sep 2021 22:32:25 -0000 1.10 +++ fabric/Makefile 23 Oct 2021 16:35:25 -0000 @@ -1,14 +1,10 @@ # $OpenBSD: Makefile,v 1.10 2021/09/01 22:32:25 sthen Exp $ -BROKEN = requires update to fabric 2.x for python 3 -# N.B. commented-out in ../Makefile to avoid breaking dpb; if updating/unbreaking, that must be reenabled. - COMMENT = simple, pythonic tool for remote execution and deployment -MODPY_EGG_VERSION = 1.14.0 -DISTNAME = Fabric-${MODPY_EGG_VERSION} +MODPY_EGG_VERSION = 2.6.0 +DISTNAME = fabric-${MODPY_EGG_VERSION} PKGNAME = ${DISTNAME:L} -REVISION = 0 CATEGORIES = sysutils @@ -20,15 +16,21 @@ MAINTAINER = Pablo Mendez Hernandez <pa PERMIT_PACKAGE = Yes MODULES = lang/python -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2} MODPY_PI = Yes MODPY_SETUPTOOLS = Yes +MODPY_PYTEST = Yes + +RUN_DEPENDS = security/py-paramiko${MODPY_FLAVOR} \ + devel/py-invoke${MODPY_FLAVOR} +TEST_DEPENDS = www/py-jinja2${MODPY_FLAVOR} \ + devel/py-test-relaxed${MODPY_FLAVOR} \ + devel/py-mock${MODPY_FLAVOR} -RUN_DEPENDS = security/py-paramiko -TEST_DEPENDS = devel/py-nose \ - security/sudo \ - www/py-jinja2 PORTHOME = ${WRKSRC} + +do-test: + @cd ${WRKSRC} && ${MODPY_BIN} -m pytest -v -rs \ + -k 'not python_dash_m_acts_like_fab' .include <bsd.port.mk> Index: fabric/distinfo =================================================================== RCS file: /cvs/ports/sysutils/fabric/distinfo,v retrieving revision 1.5 diff -u -p -r1.5 distinfo --- fabric/distinfo 28 Apr 2018 18:18:14 -0000 1.5 +++ fabric/distinfo 23 Oct 2021 16:35:25 -0000 @@ -1,2 +1,2 @@ -SHA256 (Fabric-1.14.0.tar.gz) = gVcgAqVism32V8oQ0Gtbz8b9VrUzdANzksg9SiFYII8= -SIZE (Fabric-1.14.0.tar.gz) = 219294 +SHA256 (fabric-2.6.0.tar.gz) = R/GEsHAnJ5b9L58ENnmeGPLMuk7o7lh3lvyhkqzUbNI= +SIZE (fabric-2.6.0.tar.gz) = 163880 Index: fabric/pkg/PLIST =================================================================== RCS file: /cvs/ports/sysutils/fabric/pkg/PLIST,v retrieving revision 1.4 diff -u -p -r1.4 PLIST --- fabric/pkg/PLIST 7 Jan 2017 12:55:14 -0000 1.4 +++ fabric/pkg/PLIST 23 Oct 2021 16:35:25 -0000 @@ -2,64 +2,48 @@ @conflict py-fabric-* @pkgpath sysutils/py-fabric bin/fab -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/ -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt -lib/python${MODPY_VERSION}/site-packages/Fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/fabric/ +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/ +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt +lib/python${MODPY_VERSION}/site-packages/fabric-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/fabric/__init__.py -lib/python${MODPY_VERSION}/site-packages/fabric/__init__.pyc lib/python${MODPY_VERSION}/site-packages/fabric/__main__.py -lib/python${MODPY_VERSION}/site-packages/fabric/__main__.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/api.py -lib/python${MODPY_VERSION}/site-packages/fabric/api.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/auth.py -lib/python${MODPY_VERSION}/site-packages/fabric/auth.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/colors.py -lib/python${MODPY_VERSION}/site-packages/fabric/colors.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/context_managers.py -lib/python${MODPY_VERSION}/site-packages/fabric/context_managers.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/ -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/__init__.py -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/__init__.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/console.py -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/console.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/django.py -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/django.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/files.py -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/files.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/project.py -lib/python${MODPY_VERSION}/site-packages/fabric/contrib/project.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/decorators.py -lib/python${MODPY_VERSION}/site-packages/fabric/decorators.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/docs.py -lib/python${MODPY_VERSION}/site-packages/fabric/docs.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}config.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}connection.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}executor.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}group.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}main.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}runners.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}tasks.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}transfer.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}tunnels.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/_version.py +lib/python${MODPY_VERSION}/site-packages/fabric/config.py +lib/python${MODPY_VERSION}/site-packages/fabric/connection.py lib/python${MODPY_VERSION}/site-packages/fabric/exceptions.py -lib/python${MODPY_VERSION}/site-packages/fabric/exceptions.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/io.py -lib/python${MODPY_VERSION}/site-packages/fabric/io.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/job_queue.py -lib/python${MODPY_VERSION}/site-packages/fabric/job_queue.pyc +lib/python${MODPY_VERSION}/site-packages/fabric/executor.py +lib/python${MODPY_VERSION}/site-packages/fabric/group.py lib/python${MODPY_VERSION}/site-packages/fabric/main.py -lib/python${MODPY_VERSION}/site-packages/fabric/main.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/network.py -lib/python${MODPY_VERSION}/site-packages/fabric/network.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/operations.py -lib/python${MODPY_VERSION}/site-packages/fabric/operations.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/sftp.py -lib/python${MODPY_VERSION}/site-packages/fabric/sftp.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/state.py -lib/python${MODPY_VERSION}/site-packages/fabric/state.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/task_utils.py -lib/python${MODPY_VERSION}/site-packages/fabric/task_utils.pyc +lib/python${MODPY_VERSION}/site-packages/fabric/runners.py lib/python${MODPY_VERSION}/site-packages/fabric/tasks.py -lib/python${MODPY_VERSION}/site-packages/fabric/tasks.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/thread_handling.py -lib/python${MODPY_VERSION}/site-packages/fabric/thread_handling.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/utils.py -lib/python${MODPY_VERSION}/site-packages/fabric/utils.pyc -lib/python${MODPY_VERSION}/site-packages/fabric/version.py -lib/python${MODPY_VERSION}/site-packages/fabric/version.pyc +lib/python${MODPY_VERSION}/site-packages/fabric/testing/ +lib/python${MODPY_VERSION}/site-packages/fabric/testing/__init__.py +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/fabric/testing/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/fabric/testing/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/testing/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/testing/${MODPY_PYCACHE}fixtures.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/fabric/testing/base.py +lib/python${MODPY_VERSION}/site-packages/fabric/testing/fixtures.py +lib/python${MODPY_VERSION}/site-packages/fabric/transfer.py +lib/python${MODPY_VERSION}/site-packages/fabric/tunnels.py +lib/python${MODPY_VERSION}/site-packages/fabric/util.py