Peter <[EMAIL PROTECTED]> posted [EMAIL PROTECTED], excerpted below, on Wed, 14 Jun 2006 11:29:06 -0400:
> The use.default file in default-linux is now empty. The one in base gives > you nothing to compare it against. Was there another file you meant? You don't /need/ another file to compare it against. That you seem to think you do implies you don't quite understand how the thing worked, which explains why you don't see the problem with it. use.defaults consists of a list of pairs of (normally unset, therefore off) USE flags and packages. If the corresponding package is merged and defaults is in the USE.ORDER list, the flag will now default to on instead of off. (As it is normally last in the USE.ORDER list, specific settings higher in the list, including those made by the user, will of course override this, as one might expect.) Thus, you don't need another file to compare use.defaults against, as if the package triggering the USE flag is merged, the default is on, while if it's not, the default is off. Thus, there is no other file to compare it against, only the list of your merged packages. The use.defaults file(s) simply list the packages that trigger the USE flags. That's all. The problem with this approach is that the USE flags end up changing unexpectedly under a user's nose (sound familiar? understand why that's a problem? THOUGHT so!) based on what's merged. Note that USE flags are only for OPTIONAL dependencies. Thus, we have a scenario where a bunch of packages with OPTIONAL dependencies on something, thus with it as a USE flag, are merged, then something comes along with a NON-OPTIONAL dependency on the same package and merges it. Suddenly and without user intervention, the USE flag changes from OFF by default to ON by default, and all those previous packages merged with it off now show up in --newuse to be remerged! The most direct solution to the problem is to take defaults out of USE.ORDER, so use.defaults is no longer factored in. Altho there's going to be a bit of initial pain for users who hadn't examined their use flags (as I contend a responsible admin will have done), for new users and after the initial adjustment by old users, USE flags will now actually be normally deterministic -- they'll only change when a user changes them (or when a profile has reason to do so, and that happens only for a very good reason with existing profiles, so it would normally only happen when a user changed his profile). MUCH better, as the user doesn't have to worry about USE flags changing out from underneath him. Given your complaint about the changes you experienced, I think you'll agree that having them change out from underneath you isn't all that pleasant, so this is a needed change. The only problem was that it wasn't properly documented, but that has been taken care of now as well. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- gentoo-dev@gentoo.org mailing list