Index: UPDATING =================================================================== --- UPDATING +++ UPDATING @@ -5,6 +5,28 @@ You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20190817: + AFFECTS: users of devel/py-fabric + AUTHOR: dbaio@FreeBSD.org + + Fabric (devel/py-fabric) was upgraded to 2.5.0, Fabric (2+) represents + a near-total reimplementation and reorganization of the software. + + Fabric 2 is not at 100% feature parity with 1.x! Some features have been + explicitly dropped, but others simply have not been ported over yet, + either due to time constraints or because said features need to be + re-examined in a modern context. + + More information at: + https://www.fabfile.org/upgrading.html#upgrading + https://www.fabfile.org/upgrading.html#upgrade-specifics + + If you would like to keep using 1.x, please run the following command to + update pkg database: + + pkg set -n py27-fabric:py27-fabric1 + pkg set -o devel/py-fabric:devel/py-fabric1 + 20190816: AFFECTS: users of net-im/ejabberd AUTHOR: ashish@FreeBSD.org Index: devel/Makefile =================================================================== --- devel/Makefile +++ devel/Makefile @@ -4389,6 +4389,7 @@ SUBDIR += py-extremes SUBDIR += py-ezpyinline SUBDIR += py-fabric + SUBDIR += py-fabric1 SUBDIR += py-fabric3 SUBDIR += py-fam SUBDIR += py-fastcache Index: devel/py-fabric/Makefile =================================================================== --- devel/py-fabric/Makefile +++ devel/py-fabric/Makefile @@ -2,31 +2,32 @@ # $FreeBSD$ PORTNAME= fabric -PORTVERSION= 1.14.1 +PORTVERSION= 2.5.0 PORTEPOCH= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -DISTNAME= Fabric-${DISTVERSION} MAINTAINER= koobs@FreeBSD.org -COMMENT= Simple, Pythonic remote execution and deployment +COMMENT= High level SSH command execution LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paramiko>=1.10:security/py-paramiko@${PY_FLAVOR} # <3.0 -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}fudge>0:devel/py-fudge@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paramiko>=2.4:security/py-paramiko@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}invoke>=1.1,<2.0:devel/py-invoke@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cryptography>=1.1:security/py-cryptography@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.2.5:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mock>=2.0.0:devel/py-mock@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-relaxed>0:devel/py-pytest-relaxed@${PY_FLAVOR} -USES= python:2.7 +USES= python USE_PYTHON= distutils concurrent autoplist NO_ARCH= yes do-test: - @cd ${WRKSRC} && ${PYTHON_CMD} -m nose -v \ - --exclude=test_nested_execution_with_explicit_ports + @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs \ + -k 'not python_dash_m_acts_like_fab' .include Index: devel/py-fabric/distinfo =================================================================== --- devel/py-fabric/distinfo +++ devel/py-fabric/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1554010618 -SHA256 (Fabric-1.14.1.tar.gz) = 66097883bb3e5beecacae92b82b2bd489d10a8fd4f06ce1cb27019de2e6d76a8 -SIZE (Fabric-1.14.1.tar.gz) = 220463 +TIMESTAMP = 1565561659 +SHA256 (fabric-2.5.0.tar.gz) = 24842d7d51556adcabd885ac3cf5e1df73fc622a1708bf3667bf5927576cdfa6 +SIZE (fabric-2.5.0.tar.gz) = 161421 Index: devel/py-fabric/files/patch-setup.py =================================================================== --- devel/py-fabric/files/patch-setup.py +++ devel/py-fabric/files/patch-setup.py @@ -1,11 +0,0 @@ ---- setup.py.orig 2016-05-08 21:11:49 UTC -+++ setup.py -@@ -45,7 +45,7 @@ setup( - url='http://fabfile.org', - packages=find_packages(), - test_suite='nose.collector', -- tests_require=['nose<2.0', 'fudge<1.0', 'jinja2<3.0'], -+ tests_require=['nose', 'fudge', 'jinja2'], - install_requires=install_requires, - entry_points={ - 'console_scripts': [ Index: devel/py-fabric/pkg-descr =================================================================== --- devel/py-fabric/pkg-descr +++ devel/py-fabric/pkg-descr @@ -1,10 +1,8 @@ -Fabric is a simple pythonic remote deployment tool. +Fabric is a high level Python library designed to execute shell commands +remotely over SSH, yielding useful Python objects in return. -It is designed to upload files to, and run shell commands on, a number -of servers in parallel or serially. These commands are grouped in tasks -(regular python functions) and specified in a 'fabfile.' - -This is called remote automation, and the primary use case is deploying -applications to multiple similar hosts. +It builds on top of Invoke (subprocess command execution and command-line +features) and Paramiko (SSH protocol implementation), extending their APIs +to complement one another and provide additional functionality. WWW: https://www.fabfile.org Index: devel/py-fabric1/Makefile =================================================================== --- devel/py-fabric1/Makefile +++ devel/py-fabric1/Makefile @@ -6,12 +6,14 @@ PORTEPOCH= 1 CATEGORIES= devel python MASTER_SITES= CHEESESHOP +PKGNAMESUFFIX= 1 PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= Fabric-${DISTVERSION} MAINTAINER= koobs@FreeBSD.org -COMMENT= Simple, Pythonic remote execution and deployment +COMMENT= High level SSH command execution + LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE @@ -28,5 +30,20 @@ do-test: @cd ${WRKSRC} && ${PYTHON_CMD} -m nose -v \ --exclude=test_nested_execution_with_explicit_ports + +post-patch: + @${FIND} ${WRKSRC} -type f -exec \ + ${REINPLACE_CMD} \ + -e 's|from fabric|from fabric1|g' \ + -e 's|import fabric|import fabric1|g' \ + -e 's|assert fabric|assert fabric1|g' \ + -e 's|getattr(fabric|getattr(fabric1|g' \ + -e 's|run("python|run("${PYTHON_CMD}|g' \ + -e 's|python -m|${PYTHON_CMD} -m|g' \ + -e 's|, hide=True|, env={"PYTHONPATH": "${WRKSRC}"}, shell="${SH}", hide=True|g' \ + -e 's|-m fabric|-m fabric1|g' \ + -e 's|fab = fabric|fab1 = fabric1|g' \ + -e 's|fabric\.|fabric1\.|g' {} + + @${MV} ${WRKSRC}/fabric ${WRKSRC}/fabric1 .include Index: devel/py-fabric1/pkg-descr =================================================================== --- devel/py-fabric1/pkg-descr +++ devel/py-fabric1/pkg-descr @@ -1,10 +1,8 @@ -Fabric is a simple pythonic remote deployment tool. +Fabric is a high level Python library designed to execute shell commands +remotely over SSH, yielding useful Python objects in return. -It is designed to upload files to, and run shell commands on, a number -of servers in parallel or serially. These commands are grouped in tasks -(regular python functions) and specified in a 'fabfile.' - -This is called remote automation, and the primary use case is deploying -applications to multiple similar hosts. +It builds on top of Invoke (subprocess command execution and command-line +features) and Paramiko (SSH protocol implementation), extending their APIs +to complement one another and provide additional functionality. WWW: https://www.fabfile.org