Created attachment 192704 [details] Patch `service buildbot-worker start` tries to run `/usr/local/bin/twistd` which does not exist if built against a non-default Python version like 3.6. Change that to use the executable name `twistd-${PYTHON_VER}`.
Created attachment 192705 [details] poudriere interactive testport run showing the problem is fixed, using flavor py36
Created attachment 192706 [details] poudriere interactive testport run showing that rc start is still working for default flavor (py27)
@koobs Do you have the time/resources to look into this?
(In reply to Michael Gmelin from comment #3) I wont for the next 1-3 days, and I should have commented earlier. Python port compliance requires all references to python programs be to their versioned (version-suffixed), versions. Un-versioned symlinks (produced by USE_PYTHON=concurrent) are purely for use convenience/usability @Michael I'm happy for this patch to land, feel free to self assign if you would like to commit this. Please request an MFH (as this is a bug)
Comment on attachment 192704 [details] Patch Approved by: koobs (maintainer)
A commit references this bug: Author: grembo Date: Fri Oct 26 12:40:25 UTC 2018 New revision: 483022 URL: https://svnweb.freebsd.org/changeset/ports/483022 Log: Fix twistd binary name in rc script for non-default python versions. PR: 227675 Submitted by: Andreas Sommer <andreas.sommer87@googlemail.com> Approved by: koobs (maintainer) MFH: 1 week Changes: head/devel/py-buildbot-worker/Makefile head/devel/py-buildbot-worker/files/buildbot-worker.in
Will close once MFHed
Won't MFH, as 2019Q1 will happen very soon. Sorry and Happy New Year
A commit references this bug: Author: koobs Date: Fri Jan 4 10:16:00 UTC 2019 New revision: 489253 URL: https://svnweb.freebsd.org/changeset/ports/489253 Log: devel/py-buildbot: Version-suffix rc script command For python ports, particularly those that use USE_PYTHON=concurrent, only the *default* python version/flavor (of the port) gets symlinks created for any script/binary filenames installed in LOCALBASE/bin. For non-default Python versions/flavors of the port or package, *only* a version-suffixed script filename is installed. The devel/buildbot-worker rc script was fixed in ports r483022 [1] to use a version-suffixed script name. This change fixes the same for devel/py-buildbot, whos rc script currently fails to run due to trying to invoke a non-existent 'buildbot' script name for the non-default (!2.7) case. Since a port/package cannot know at run time, at any point what the default Python version currently is, or whether it has changed, Python ports *must* always and only refer to version-specific variants for everything, including the Python interpreter, script shebangs, commands, paths, etc, for the Python version they are currently being built with. PR: 234565, 227675 [1] Reported by: Andreas Sommer <andreas.sommer87 googlemail com> MFH: 2019Q1 Changes: head/devel/py-buildbot/Makefile head/devel/py-buildbot/files/buildbot.in
Assign to committer that originally resolved (in ports r483022) Update bug fields to match the latest state.
A commit references this bug: Author: koobs Date: Mon Mar 25 07:35:00 UTC 2019 New revision: 496797 URL: https://svnweb.freebsd.org/changeset/ports/496797 Log: MFH: r489253 devel/py-buildbot: Version-suffix rc script command For python ports, particularly those that use USE_PYTHON=concurrent, only the *default* python version/flavor (of the port) gets symlinks created for any script/binary filenames installed in LOCALBASE/bin. For non-default Python versions/flavors of the port or package, *only* a version-suffixed script filename is installed. The devel/buildbot-worker rc script was fixed in ports r483022 [1] to use a version-suffixed script name. This change fixes the same for devel/py-buildbot, whos rc script currently fails to run due to trying to invoke a non-existent 'buildbot' script name for the non-default (!2.7) case. Since a port/package cannot know at run time, at any point what the default Python version currently is, or whether it has changed, Python ports *must* always and only refer to version-specific variants for everything, including the Python interpreter, script shebangs, commands, paths, etc, for the Python version they are currently being built with. PR: 234565, 227675 [1] Reported by: Andreas Sommer <andreas.sommer87 googlemail com> Approved by: ports-secteam (miwi) Changes: _U branches/2019Q1/ branches/2019Q1/devel/py-buildbot/Makefile branches/2019Q1/devel/py-buildbot/files/buildbot.in