Following the addition of USE_PYTHON=concurrent (r400449), if www/uwsgi is built against a non-default python, the rc script fails to start the daemon. For example: DEFAULT_VERSIONS= python=2.7 python2=2.7 python3=3.4 PYTHON_VERSION= python3.4 % pkg info -xl uwsgi | grep bin /usr/local/bin/uwsgi-3.4 % grep bin /usr/local/etc/rc.d/uwsgi #!/bin/sh command=/usr/local/bin/uwsgi command=/usr/local/bin/uwsgi % sudo service uwsgi start Processing uwsgi profile: foo /usr/local/etc/rc.d/uwsgi: WARNING: run_rc_command: cannot run /usr/local/bin/uwsgi I believe the best solution would be to teach the rc script to understand setting the uwsgi command on a per-profile basis.
Created attachment 163137 [details] www/uwsgi: Accept configurable uwsgi executable command in rc script This is not yet tested, but should show what I have in mind. Also, I now realize that I don't know how USE_PYTHON=concurrent is supposed to handle the apparently-conflicting rc script itself.
I wonder if it is a real-world use case when you need 2 versions of uwsgi (for python2 and python3) installed at the same time? If it is just a theoretical assumption, I'd prefer to just remove "concurrent" and stop making port more complicated without a reason.
@demon: It seems to me that the use case is just as real for uwsgi as it is for any python-based port, and more real than many because uwsgi is expressly designed to host multiple concurrent apps though rc profiles. However, I recognize the difficulty in implementing this since the "concurrent" machinery does not extend to the rc script and uwsgi is evidently in a vanishingly small minority in benefitting from such an arrangement. It's probably best to resolve this by removing the broken support for concurrent installations, and perhaps to revisit it when circumstances change.
@koobs: what do you think if I remove "concurrent" for now?
(In reply to Dmitry Sivachenko from comment #4) No objections, but if there's an quick/easy win we can make in improving concurrent support, that would be nice so all ports can benefit. We need good use-cases like this to test it.
A commit references this bug: Author: demon Date: Mon Nov 16 19:38:40 UTC 2015 New revision: 401784 URL: https://svnweb.freebsd.org/changeset/ports/401784 Log: Revert "concurrent" for now, port is not ready for it yet. PR: 204558 Submitted by: John W. O'Brien <john@saltant.com> No objection from: koobs Changes: head/www/uwsgi/Makefile
I removed concurrent for now, feel free to come back if there is a demand for it.