git: 457e0da037c4 - main - devel/py-buildbot-worker: Update version 3.11.9=>4.3.0

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Mon, 30 Jun 2025 16:28:50 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=457e0da037c467d4db25b0e47e60bf52a4bf0e03

commit 457e0da037c467d4db25b0e47e60bf52a4bf0e03
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2025-06-30 15:12:46 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2025-06-30 16:11:42 +0000

    devel/py-buildbot-worker: Update version 3.11.9=>4.3.0
    
    - If the buildbot-worker rc(8) script is started after setting
      `rc_flags` in `rc.conf(5)`, the error "I wasn't expecting so many
      arguments" appears and buildbot-worker does not start, the cause is
      that buildbot-worker expect to have the parameters first and the
      working directory second, but currently it is the other way around.[1]
    - Fix rc script startup error at system startup while using profiles [2]
    
    Changelog: https://github.com/buildbot/buildbot/releases/tag/v4.3.0
    
    Sponsored by:   The FreeBSD Foundation
    
    PR:             285166 [1] , 285167 [2]
    Reported by:    dtxdf [1] [2]
---
 devel/py-buildbot-worker/Makefile                 | 13 +++---
 devel/py-buildbot-worker/distinfo                 |  6 +--
 devel/py-buildbot-worker/files/buildbot-worker.in |  8 ++--
 devel/py-buildbot-worker/files/patch-setup.py     | 54 +++++++++++++++++++++++
 4 files changed, 66 insertions(+), 15 deletions(-)

diff --git a/devel/py-buildbot-worker/Makefile b/devel/py-buildbot-worker/Makefile
index 8fc5f667f575..040cd0ef29d7 100644
--- a/devel/py-buildbot-worker/Makefile
+++ b/devel/py-buildbot-worker/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	buildbot-worker
-DISTVERSION=	3.11.9
-PORTREVISION=	1
+DISTVERSION=	4.3.0
 CATEGORIES=	devel python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -13,10 +12,9 @@ WWW=		https://buildbot.net
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}autobahn>=20.12.3:www/py-autobahn@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}future>=0:devel/py-future@${PY_FLAVOR} \
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}autobahn>=0.16.0:www/py-autobahn@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}msgpack>0.6.0:devel/py-msgpack@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}twisted>=17.9.0:devel/py-twisted@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}twisted>=21.2.0:devel/py-twisted@${PY_FLAVOR}
 TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR}
 
 USES=		python
@@ -27,8 +25,6 @@ NO_ARCH=	yes
 SUB_LIST+=	PYTHON_CMD=${PYTHON_CMD} \
 		PYTHON_VER=${PYTHON_VER}
 
-BUILDBOT_REMOVE_ME=	${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/buildbot_worker
-
 USERS=		buildbot
 GROUPS=		buildbot
 
@@ -38,10 +34,11 @@ PLIST_FILES=	share/man/man1/buildbot-worker.1.gz
 # XXX fixup plist. see:
 # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205056
 fix-plist:
-	${REINPLACE_CMD} -e 's|^${BUILDBOT_REMOVE_ME}$$||' ${TMPPLIST}
+	${REINPLACE_CMD} -e '/^buildbot_worker/d' ${TMPPLIST}
 
 post-install:
 	${INSTALL_MAN} ${WRKSRC}/docs/buildbot-worker.1 ${STAGEDIR}${PREFIX}/share/man/man1
+	${RM} -rf ${STAGEDIR}${PREFIX}/buildbot_worker
 
 do-test:
 	${MKDIR} ${WRKDIR}/tmp
diff --git a/devel/py-buildbot-worker/distinfo b/devel/py-buildbot-worker/distinfo
index c61f171813f3..0aa80374e85c 100644
--- a/devel/py-buildbot-worker/distinfo
+++ b/devel/py-buildbot-worker/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1728972057
-SHA256 (buildbot_worker-3.11.9.tar.gz) = beccbfb63960b3f713f0219e8ce5a8d25f9efc604fc34dc04899729fd3f7e2b0
-SIZE (buildbot_worker-3.11.9.tar.gz) = 133480
+TIMESTAMP = 1751293161
+SHA256 (buildbot_worker-4.3.0.tar.gz) = 14f5e806c32ef9669e58a3398e9d53ca54fa9080cd6f04956fed1e251da9f4dc
+SIZE (buildbot_worker-4.3.0.tar.gz) = 135399
diff --git a/devel/py-buildbot-worker/files/buildbot-worker.in b/devel/py-buildbot-worker/files/buildbot-worker.in
index d9334140c7cf..18f80be2a626 100644
--- a/devel/py-buildbot-worker/files/buildbot-worker.in
+++ b/devel/py-buildbot-worker/files/buildbot-worker.in
@@ -95,7 +95,7 @@ procname="%%PYTHON_CMD%%"
 					;;
 				esac
 				echo "===> ${name} profile: ${profile}"
-				if $0 $1 ${profile}; then
+				if /usr/sbin/service buildbot-worker $1 ${profile}; then
 					success="${profile} ${success:-}"
 				else
 					failed="${profile} (${retcode}) ${failed:-}"
@@ -114,17 +114,17 @@ buildbot_worker_prestart()
         echo "su -m ${buildbot_worker_user} -c \"exec ${command} create-worker ${buildbot_worker_basedir} <MASTER HOST> <MASTER USER> <MASTER_PASS>\""
         exit 1
     fi
-	rc_flags="start ${buildbot_worker_basedir} ${rc_flags}"
+	rc_flags="start ${rc_flags} ${buildbot_worker_basedir}"
 }
 
 buildbot_worker_prestop()
 {
-	rc_flags="stop ${buildbot_worker_basedir} ${rc_flags}"
+	rc_flags="stop ${rc_flags} ${buildbot_worker_basedir}"
 }
 
 buildbot_worker_reload()
 {
-	rc_flags="${buildbot_worker_basedir} ${rc_flags}"
+	rc_flags="${rc_flags} ${buildbot_worker_basedir}"
 	${command} sighup ${rc_flags}
 }
 
diff --git a/devel/py-buildbot-worker/files/patch-setup.py b/devel/py-buildbot-worker/files/patch-setup.py
new file mode 100644
index 000000000000..d9aa0b88b9ae
--- /dev/null
+++ b/devel/py-buildbot-worker/files/patch-setup.py
@@ -0,0 +1,54 @@
+--- setup.py.orig	2025-06-30 14:40:44 UTC
++++ setup.py
+@@ -25,23 +25,30 @@ from setuptools.command.sdist import sdist
+ from setuptools import Command
+ from setuptools import setup
+ from setuptools.command.sdist import sdist
++try:
++    from setuptools.command.install_data import install_data
++except ImportError:
++    from distutils.command.install_data import install_data
+ 
+ from buildbot_worker import version
+ 
+ BUILDING_WHEEL = bool("bdist_wheel" in sys.argv)
+ 
+ 
+-class our_install_data(Command):
++class our_install_data(install_data):
+     def initialize_options(self):
++        super().initialize_options()
+         self.install_dir = None
+ 
+     def finalize_options(self):
++        super().finalize_options()
+         self.set_undefined_options(
+             'install',
+             ('install_lib', 'install_dir'),
+         )
+ 
+     def run(self):
++        super().run()
+         # ensure there's a buildbot_worker/VERSION file
+         fn = os.path.join(self.install_dir, 'buildbot_worker', 'VERSION')
+         with open(fn, 'w') as f:
+@@ -121,8 +128,6 @@ setup_args = {
+     'entry_points': {
+         'console_scripts': [
+             'buildbot-worker=buildbot_worker.scripts.runner:run',
+-            # this will also be shipped on non windows :-(
+-            'buildbot_worker_windows_service=buildbot_worker.scripts.windows_service:HandleCommandLine',
+         ]
+     },
+ }
+@@ -143,10 +148,6 @@ setup_args['install_requires'] += [
+     'autobahn >= 0.16.0',
+     'msgpack >= 0.6.0',
+ ]
+-
+-# buildbot_worker_windows_service needs pywin32
+-if sys.platform == "win32":
+-    setup_args['install_requires'].append('pywin32')
+ 
+ # Unit test hard dependencies.
+ test_deps = [