On Wed, Jun 5, 2024 at 6:41 AM Dr Rainer Woitok <rainer.woi...@gmail.com> wrote: > > And no, I don't buy the point of view that it's the responsibility of > the developers when my personal set of USE flags suddenly causes con- > flicts. >
Agree, but keep in mind that having personal sets of USE flags is basically a necessity in Gentoo, and not a choice, because Gentoo does not dynamically manage USE dependencies. On any distro, including Gentoo, if you manually installed the dependencies of every package you use explicitly, you'd probably end up with a hopeless mess of dependency conflicts within a few months. Everybody who has used Linux for any period of time understands that this is a bad practice, and you should explicitly install the packages you directly use, and let the package manager dynamically manage their dependencies. Then when a dependency becomes obsolete and is replaced, the updates will happen automatically without the user needing to worry about them. Gentoo does this with package/version dependencies, but not with USE flag dependencies. If a package requires some other package to be built with a particular USE flag, then portage will output an error, and you will need to put an entry in package.use to manually specify the USE configuration, and that will resolve the conflict. Then 5 years later you'll get some mysterious error due to that USE flag setting being obsolete, and you have no idea why you even had it in the first place unless you took meticulous notes, because the setting doesn't reflect your own preference, but the requirements of some package, which might be so far down the dependency tree that you don't even know what it does. Python version settings are just fancy ways of expressing USE dependencies. Unless you develop things in Python, you probably don't care what versions of Python you have installed, and it is reasonable to expect that the package manager or distro just takes care of this for you. Gentoo does not. Implementing dynamic USE management would take somebody a fair bit of effort, and for all I know it would make every emerge you run take an hour to recompute the dependency tree. The ability to configure USE flags, along with the ability to dynamically decide the version of dynamically linked packages, makes Gentoo have a dependency tree that is MUCH larger than basically any other distro out there. This is why portage takes so long to decide what to install compared to basically everything else. It is this clash of expectations vs reality that causes many frustration, and this is understandable. That said, improving the situation is a lot of work, whether this is in the form of a lot of coordination to deal with the lack of dynamic USE dependencies, or the effort to implement this feature in the package manager (which has been discussed here and there for a decade or so). You can't fault volunteers for not working on things that they aren't interested in working on. That said, I do appreciate the frustration people have, personally. This is just one of those things you need to understand about Gentoo, and then weigh the pros vs the cons when you choose what distro to use. If you want a distro that will just accept daily updates with zero fuss, that isn't Gentoo. -- Rich