On Fri, 17 Jan 2014 18:28:41 +0000 Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote:
> On Fri, 17 Jan 2014 17:47:58 +0100 > Tom Wijsman <tom...@gentoo.org> wrote: > > Maybe we can let the package managers only perceive it as keyworded > > or stable if all of its dependencies are keyworded or stable on the > > architecture that the user runs. Then we can have repoman just > > ignore checking dependencies' keywords when we keyword or stabilize > > them. > > > > Not sure how implementable this idea is though... > > It's going to hurt for four reasons that I can think of right now. > > Firstly, things you think are "obviously portable" sometimes aren't. We could write a search for architecture dependent / specific code. > Secondly, users already get confused by "stable use masks". This is > going to be even worse: users aren't going to understand why a noarch > package isn't available for them. We can improve the output of the package manager to make this easier to understand; one way is to clarify it, the other way is to just replace it by the actual archictecture the user runs. As a side note, I think we might want to name this anyarch... :) > Thirdly, you have to decide how to deal with long chains and cycles in > noarch dependencies. > > Fourthly, the interaction with || deps is an awful mess. Yes, these are though problems to resolve; my mind came up with that this idea needs recursion, hence the "not sure how implementable". A cycle can be broken by stopping to continue to a certain dependency if that dependency is of the parent reverse dependencies, capture the set of packages as a cycle. Then check for each package in the cycle if their dependencies satisfy each package; if so, all the packages in the cycle are satisfied. Of course, this doesn't take into account more complex cycles were two cycles are connected to each other; but if we would have such thing, I'd rather see that get fixed in the Portage tree as that sounds like a needlessly complex set of ebuilds. Long chains might or might exist and might or might not be problematic, that's something we would need to test out when this is implemented. || deps can be done, just check them in the same order like before; what I'm more scared of is the amount of anyarch/noarch there would be added to the Portage tree, just a few can be easily done. If it is going to be a large share of the Portage tree we'll want to look for another design or just not change how this works at all. -- With kind regards, Tom Wijsman (TomWij) Gentoo Developer E-mail address : tom...@gentoo.org GPG Public Key : 6D34E57D GPG Fingerprint : C165 AF18 AB4C 400B C3D2 ABF0 95B2 1FCD 6D34 E57D
signature.asc
Description: PGP signature