Re: [gentoo-user] Re: Portage option --changed-use not working?
On Sat, 21 Jan 2012 23:34:52 -0500 Walter Dnes waltd...@waltdnes.org wrote: On Sat, Jan 21, 2012 at 08:23:18PM -0600, ??Q?? wrote Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse. What's the longest that most software on Gentoo goes without an update? The next update would, by definition, fix any breakage caused by a dropped flag. What's the largest number of bugs users will open on bgo if portage makes the wrong decision? -- Alan McKinnnon alan.mckin...@gmail.com
Re: [gentoo-user] Re: Portage option --changed-use not working?
On Sat, 21 Jan 2012 20:23:18 -0600, »Q« wrote: Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse. That's harmless, but unnecessary. This thread demonstrates that portage takes the safe option of if in doubt, re-emerge so changed-use should always be enough. I can't remember the last time I user --newuse, but it has been several years. -- Neil Bothwick Our bikinis are exciting. They are simply the tops. signature.asc Description: PGP signature
Re: [gentoo-user] Re: Portage option --changed-use not working?
On Fri, 20 Jan 2012 11:00:52 -0600 »Q« boxc...@gmx.net wrote: On Fri, 20 Jan 2012 12:06:22 + Neil Bothwick n...@digimed.co.uk 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 --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. -- Alan McKinnnon alan.mckin...@gmail.com
Re: [gentoo-user] Re: Portage option --changed-use not working?
On 21 January 2012 03:26, Alan McKinnon alan.mckin...@gmail.com wrote: On Fri, 20 Jan 2012 11:00:52 -0600 »Q« boxc...@gmx.net wrote: On Fri, 20 Jan 2012 12:06:22 + Neil Bothwick n...@digimed.co.uk 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.
Re: [gentoo-user] Re: Portage option --changed-use not working?
On Sat, 21 Jan 2012 15:45:25 -0800 Hilco Wijbenga hilco.wijbe...@gmail.com wrote: 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. Like I said, I haven't read the eclass and I'm not likely to either - it's no skin off my nose to waste cycles I'm not using overnight while 150 KDE packages rebuild. I simply wanted to point out that disabling something is not necessarily a zero-sum game. It is trivial to write ebuild statements along the lines of if this flag is not set, then include support for that thing. If the flag then later goes away, that ebuild statement is redundant and not used as not present is a very different thing from not set. Yes, a coder can build a system where that assumption is indeed applied throughout but I haven't seen anything in portage to indicate if it does or not. Figuring out what stuff you don't need to do is hard. Building a list of stuff you might need to do is very easy. The logic behind --changed-use falls square in the former case, and the math involved is not simple either. I don't know what portage will do about disabled flags that then go away. Personally, I would never write code that assumed a flag that was explicitly disabled must have done nothing and can therefore be discarded. --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. Dodgy ebuilds includes ebuilds that use legal syntax that was never a good idea to begin with. A classic case would be nosomething USE flags that are thankfully now rare. We can't dismiss ebuilds that contain syntax that was perfectly legal a while ago. -- Alan McKinnnon alan.mckin...@gmail.com
[gentoo-user] Re: Portage option --changed-use not working?
On Sat, 21 Jan 2012 13:26:45 +0200 Alan McKinnon alan.mckin...@gmail.com wrote: --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. Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse.
Re: [gentoo-user] Re: Portage option --changed-use not working?
On Sat, Jan 21, 2012 at 08:23:18PM -0600, ??Q?? wrote Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse. What's the longest that most software on Gentoo goes without an update? The next update would, by definition, fix any breakage caused by a dropped flag. -- Walter Dnes waltd...@waltdnes.org
[gentoo-user] Re: Portage option --changed-use not working?
On Sat, 21 Jan 2012 23:34:52 -0500 Walter Dnes waltd...@waltdnes.org wrote: On Sat, Jan 21, 2012 at 08:23:18PM -0600, ??Q?? wrote Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse. What's the longest that most software on Gentoo goes without an update? The next update would, by definition, fix any breakage caused by a dropped flag. That's true, but it won't hurt me to emerge -puNDv world every once in a while. I have an alias for it anyway, and I don't think I could break the habit of typing it occasionally.
Re: [gentoo-user] Re: Portage option --changed-use not working?
»Q« wrote: On Sat, 21 Jan 2012 23:34:52 -0500 Walter Dnes waltd...@waltdnes.org wrote: On Sat, Jan 21, 2012 at 08:23:18PM -0600, ??Q?? wrote Thanks for the points you've made about how removal of a flag a user doesn't have enabled could still affect the user. I think I'll still use --changed-use routinely and also periodically run an update with --newuse. What's the longest that most software on Gentoo goes without an update? The next update would, by definition, fix any breakage caused by a dropped flag. That's true, but it won't hurt me to emerge -puNDv world every once in a while. I have an alias for it anyway, and I don't think I could break the habit of typing it occasionally. I do mine this way. I sync the tree with eix, run emerge -uvaDN world then --depclean -a then revdep-rebuild. Once in a while, I run a emerge -e world. I usually do that when KDE upgrades since it doesn't take to much longer. I used to just do -u world. I had issues that would pop up sometimes that were really strange and recompiling packages it depends on fixed it. So, I added -D. That fixed a good bit. Then I was always changing some USE flag so I added the -N since if I changed nothing, it did nothing. Thing is, you do what you need to to have the system you want. Some update every day. Some update once a week and some once a month and then some less often than that. Thing is, you get to pick that. I just like a update to date system but stable too. I update sometimes twice a week sometimes once every couple weeks. This is one of those it depends things. Picks what works for you. Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS=--quiet-build=n
[gentoo-user] Re: Portage option --changed-use not working?
On Thu, 19 Jan 2012 21:25:31 -0600 Dale rdalek1...@gmail.com wrote: Most man pages are Greek. My Greek is not real good. Maybe you've got LINGUAS set incorrectly. ;) Quoting the relevant bit again, the --changed-use option does not trigger reinstallation when flags that the user has not enabled are added or removed. kdeenablefinla was a flag the user (me or Hilco) had *not* enabled, so that option should *not* have triggered reinstallation. FWIW, there is discussion of the issue of triggering needless reinstalls on the dev list now because of kdeenablefinal, buried in the thread [gentoo-commits] gentoo-x86 commit in sys-libs/glibc: It's mixed in with arguing about changing USE flags on stable ebuilds. --changed-use isn't mentioned, instead --exclude=kde-base/* is recommended, and they are talking about mentioning --exclude in the --newuse section of the man page. I'm not filing a --changed-use bug or posting in the dev list because of Medico's IMO rather prickly attitude about this kind of thing. He says in this case: The fact is, the user is not being forced to rebuild anything. They can simply run full system updates with --newuse less often if it puts too much strain on them. Lest I seem ungrateful, let me be clear I do appreciate the tons of work he's put into portage for many years.
[gentoo-user] Re: Portage option --changed-use not working?
On Fri, 20 Jan 2012 12:06:22 + Neil Bothwick n...@digimed.co.uk 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.
Re: [gentoo-user] Re: Portage option --changed-use not working?
»Q« wrote: On Thu, 19 Jan 2012 21:25:31 -0600 Dale rdalek1...@gmail.com wrote: Most man pages are Greek. My Greek is not real good. Maybe you've got LINGUAS set incorrectly. ;) Quoting the relevant bit again, the --changed-use option does not trigger reinstallation when flags that the user has not enabled are added or removed. kdeenablefinla was a flag the user (me or Hilco) had *not* enabled, so that option should *not* have triggered reinstallation. FWIW, there is discussion of the issue of triggering needless reinstalls on the dev list now because of kdeenablefinal, buried in the thread [gentoo-commits] gentoo-x86 commit in sys-libs/glibc: It's mixed in with arguing about changing USE flags on stable ebuilds. --changed-use isn't mentioned, instead --exclude=kde-base/* is recommended, and they are talking about mentioning --exclude in the --newuse section of the man page. I'm not filing a --changed-use bug or posting in the dev list because of Medico's IMO rather prickly attitude about this kind of thing. He says in this case: The fact is, the user is not being forced to rebuild anything. They can simply run full system updates with --newuse less often if it puts too much strain on them. Lest I seem ungrateful, let me be clear I do appreciate the tons of work he's put into portage for many years. Well, I'm like this. I had to emerge those packages because of the USE flag doing whatever you want to call it. Then a couple days later, I had to do it again for another reason. I posted this on -dev that I wish they could have done both changes at the same time and someone else posted about the same thing. That is a wish tho, nothing else. No harm, nothing broke or blew up. My biggest thing tho, I want a sane system that works. Sometimes that means compiling software several times. If that is the case, then fine because I get what I want. I used to run emerge -uv world for my updates. Sometimes that lead to issues. Something changed and software would no longer work correctly or was buggy or something. So, I added options until I could get a sane system. I ended up with this boatload of settings: emerge --jobs=10 --backtrack=30 --keep-going --verbose --newuse --oneshot --quiet-build=n --with-bdeps=y --deep world or some package here Lets also not forget the revdep-rebuild command either. That thing grew over time. Thing is, my system works pretty darn well. That's what I wanted. This is also why I built a nice rig to do this on too. I built my rig from parts with a AMD 4 core CPU running at 3.2Ghz, 16Gbs of ram with portages work directory on tmpfs and plenty of drive space. I also have one heck of a CPU cooler and a super nice case with lots of fans. All this because I know Gentoo requires lots of compiling. The comment about man pages being Greek was sort of a old saying for when you read something but it doesn't help or don't understand it. I could have said that it was in French, Russian or any other language that I don't speak. Sort of like a joke. As everyone knows, there is always a workaround for things but you also have to pick and chose your settings. I recently added --oneshot because sometime back things started getting added to the world file even if it was just a request for a upgrade of the package. I didn't know that was changed and neither did some other folks. I had to go clean up my world file and I think others did the same. Sometimes I wonder if I should freeze portage version in place, read the man page and get everything set like I EXPECT then stick with it for a good long while. Thing is, Zac adds some really neat stuff and most everything is really nice. Sometimes things sort of surprise me, like adding packages to the world file when you only want a upgrade, but still, he does make emerge do some neato things. So, I may disagree with Zac on some things and I usually point that out but I to am grateful for what he does cause he does some really neat things. I also read somewhere that portage was a bit of a mess when he started. I think all coders say that since everyone has their own style but still, he has brought portage forward to say it lightly. We should all be supportive of that. I know I am. I even said that when the build output change discussion was going on. Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS=--quiet-build=n
[gentoo-user] Re: Portage option --changed-use not working?
On Fri, 20 Jan 2012 10:53:32 -0600 »Q« boxc...@gmx.net wrote: I'm not filing a --changed-use bug or posting in the dev list because of Medico's IMO rather prickly attitude about this kind of thing. He says in this case: The fact is, the user is not being forced to rebuild anything. They can simply run full system updates with --newuse less often if it puts too much strain on them. Lest I seem ungrateful, let me be clear I do appreciate the tons of work he's put into portage for many years. And I probably owe him an apology for pulling a quote out of context.
[gentoo-user] Re: Portage option --changed-use not working?
On Wed, 18 Jan 2012 11:07:09 -0800 Hilco Wijbenga hilco.wijbe...@gmail.com wrote: In man emerge I read: --changed-use Tells emerge to include installed packages where USE flags have changed since installation. This option also implies the --selective option. Unlike --newuse, the --changed-use option does not trigger reinstallation when flags that the user has not enabled are added or removed. So I always include --changed-use when upgrading @world. But with the removal of kdeenablefinal I now get 150 reinstalls with changed-use. This seems to be contradicting the man page? Or am I misunderstanding things? Or did I misconfigure something? To be clear, I have never enabled kdeenablefinal. I don't have an answer -- this is just a me too post. I see the same behavior.
Re: [gentoo-user] Re: Portage option --changed-use not working?
On 19 January 2012 13:30, »Q« boxc...@gmx.net wrote: On Wed, 18 Jan 2012 11:07:09 -0800 Hilco Wijbenga hilco.wijbe...@gmail.com wrote: In man emerge I read: --changed-use Tells emerge to include installed packages where USE flags have changed since installation. This option also implies the --selective option. Unlike --newuse, the --changed-use option does not trigger reinstallation when flags that the user has not enabled are added or removed. So I always include --changed-use when upgrading @world. But with the removal of kdeenablefinal I now get 150 reinstalls with changed-use. This seems to be contradicting the man page? Or am I misunderstanding things? Or did I misconfigure something? To be clear, I have never enabled kdeenablefinal. I don't have an answer -- this is just a me too post. I see the same behavior. Thank you. I was starting to feel lonely. :-) In case you're interested, I managed to work around the 150 unnecessary reinstalls by removing all 'kdeenablefinal' references in /var/db/pkg/*/*/IUSE. This seems to work very well but it may have unintended side effects that I'm not aware of.