emerge --depclean removed python:2.6 and @preserved-rebuild wants to reinstall openoffice-bin because of missing python:2.6, but of course reinstall doesn't help in this case: !!! existing preserved libs: >>> package: dev-lang/python-2.6.8-r2 * - /usr/lib64/libpython2.6.so.1.0 * used by /usr/lib64/openoffice/basis3.4/program/python-core-2.6.1/lib/lib-dynload/_bisect.so (app-office/openoffice-bin-3.4.1) * used by /usr/lib64/openoffice/basis3.4/program/python-core-2.6.1/lib/lib-dynload/_bytesio.so (app-office/openoffice-bin-3.4.1) * used by /usr/lib64/openoffice/basis3.4/program/python-core-2.6.1/lib/lib-dynload/_codecs_cn.so (app-office/openoffice-bin-3.4.1) * used by 56 other files Use emerge @preserved-rebuild to rebuild packages using these libraries I don't know if this is openoffice-bin issue (not depending on python:2.6) or portage bug. Reproducible: Always
This is a problem of openoffice-bin. I didn't want to make python:2.6 a hard dependency, because only minor functions are affected.
Minor or not it is a dependency. Could you add it to not confuse users, please? Maybe in the future releases they move on to newer versions of Python.
Well it is optional, and not automagic. So I saw no reason to make it a hard dependency in the ebuild.
Well, but then portage warns every time about existing preserved libs, which doesn't look much like an optional and is frustrating. Should we learn users to ignore such warnings? On the other hand adding python:2.6 to world file isn't clean either, because if openoffice-bin is removed, python:2.6 is left. It requires from users handling dependencies by themselves, but this should be the portage job. Maybe you could add at least "python" to IUSE and make it enabled by default and comment it in metadata.xml what is going to happen if it is disabled?
I could make a python flag and prevent installation of the stuff in /usr/lib64/openoffice/basis3.4/program/python-core-2.6.1/ if it is unset.
Yes, please.
Fixed by unconditionally depending on python:2.7 in openoffice-bin-4.0.0 I might add a python USE flag later.
Thanks! :-)