On 21 January 2012 03:26, Alan McKinnon <[email protected]> wrote: > On Fri, 20 Jan 2012 11:00:52 -0600 > »Q« <[email protected]> wrote: > >> On Fri, 20 Jan 2012 12:06:22 +0000 >> Neil Bothwick <[email protected]> wrote: >> >> > I suspect this is >> > specific to the KDE ebuilds (or eclass). changed-use should only >> > skip an ebuild with changed flags if re-emerging would produce >> > exactly the same code as before, this may not be the case. For >> > example, in some ebuilds, it is the absence of a USE flag that >> > triggers an extra configure option, so removing that use flag would >> > give the same code as if the package had been emerged with it >> > enabled. >> > >> > Something like this happened recently with the nls flag on glibc. >> >> Ah, that makes sense -- thanks. (And now I wish I'd read the entire >> thread in dev before I posted a few minutes ago.) >> >> IMO, the man page's section on --changed-use should say what you've >> just said rather than what it says now. > > I saw the logs from the kde team meeting where they discussed removing > kdeenablefinal and decided when to do it. My own update on that ran > overnight so I wasn't too fazed. > > But is this not a case where the kde eclass *explictly* set the USE > flag off? (Disclaimer: haven't read the eclass). In that case portage > would not know what to do when the flag goes away so the behaviour we > saw would not really be a bug, it would be "playing safe"
I do not quite follow your logic here. Whether a USE flag is forcibly disabled, not enabled, or disabled by default, does not make any practical difference: it is not used. So when it is then removed later on, no rebuild is necessary. It was not used before, now it does not even exist any more. > --changed-use is intended for cases like a flag you are not using at > all goes away. Caveat: Even then it could still break in subtle ways > with dodgy ebuilds. Caveat emptor. Which is *exactly* what happened here (IIUC). The use of kdeenablefinal has been discouraged from the start [or at least for a very long time] so I (and presumably most people) never enabled it. Now it has been removed. Ergo: nothing needs to be rebuilt. I do not think it makes sense to worry about dodgy ebuilds. If you go down that road, you would have to rebuild *everything* every time there is a change ... just in case. Dodgy ebuilds should be fixed, not catered to.

