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