About updating waitress ( see Plone 5.2.8 released - #5 by alert ) is there a way to install waitress 2.1.2 in the buildout cache dir? Then I would just replace the occourrences of waitress (and dependencies if updated) in
parts/instance/bin/interpreter starts with:
sys.path[0:0] = [
... <- same lines here
could this stay in a single file? Or having them linked in the venv
lib/<python>/site-packages? This is a special case for Plone but then I could do in the venv
pip install waitress=2.1.2 using the plone constrains and requirements to be sure to be ok.
Dependencies would install too the same way automatically.
I think I could do just
pip install Plone=5.2.9 (which has the constrains and requirements) when the new version will came out.
I just pinned waitress = 2.1.2 in all my buildouts.
Is there something preventing you to do the same?
No, it was just a question if updates can be done differently from running buildout again.
You could create a small buildout to only install the new waitress, and have this use the same buildout cache directory. Then it would be available for your other buildout.
Theoretically, if you then edit
bin/instance to use the new version, and restart, it should work. I have tried this previously now and then, and I think it mostly did not work, for unknown reasons. But my conclusions may be wrong.
You could also try to build your egg with
python setup.py bdist_egg and change the path to the created egg:
[ale@flo waitress]$ python setup.py bdist_egg
zip_safe flag not set; analyzing archive contents...
creating 'dist/waitress-3.0.0b0-py3.10.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
The egg will be in the dist directory:
[ale@flo waitress]$ ll dist/
-rw-rw-r-- 1 ale ale 108840 giu 1 12:34 waitress-3.0.0b0-py3.10.egg
If you change the path in your
bin/instance script to point to the egg it should work.
Note that the command produces a zipped egg.
I do not remember how to make an unzipped one, I used to play with this kind of stuff a long time ago.
I also think that if the zipped egg causes problems you can just unzip it:
[ale@flo dist]$ mv waitress-3.0.0b0-py3.10.egg waitress-3.0.0b0-py3.10.egg.zip
[ale@flo dist]$ unzip waitress-3.0.0b0-py3.10.egg.zip -d waitress-3.0.0b0-py3.10.egg
At the end this is a nice (and totally untested) exercise, but I would definitely update and rerun the buildout.