View previous topic :: View next topic |
Should emerge -uD world do revdep-rebuild? |
Always |
|
10% |
[ 10 ] |
With another flag (e.g. --revdep-rebuild (-R)) |
|
54% |
[ 51 ] |
No, it's fine as it is |
|
35% |
[ 33 ] |
|
Total Votes : 94 |
|
Author |
Message |
thawn n00b
Joined: 31 Aug 2004 Posts: 41
|
Posted: Sun Jun 24, 2007 9:20 am Post subject: Should emerge -uD world do revdep-rebuild? |
|
|
Hi
recently I often had problems after an emerge -uD world. Most of them were fixed by revdep-rebuild (the rest was due to errors in ebuilds and fixed by emerge --sync )
So I just wondered whether it would make sense to make emerge run revdep-rebuild automatically in the background after emerge -uD world. This will take a little longer but fix a lot of issues and avoid a lot of puzzled users. I for my part will always run revdep-rebuild after emerge -uD world...
Just a little poll to hear some opinions... |
|
Back to top |
|
|
swimmer Veteran
Joined: 15 Jul 2002 Posts: 1330 Location: Netherlands
|
Posted: Sun Jun 24, 2007 9:59 am Post subject: |
|
|
Since I use already this script I opt for running it every time |
|
Back to top |
|
|
John R. Graham Administrator
Joined: 08 Mar 2005 Posts: 10590 Location: Somewhere over Atlanta, Georgia
|
Posted: Sun Jun 24, 2007 1:24 pm Post subject: |
|
|
I voted "No" as I am generally against making sharp tools dull.
- John |
|
Back to top |
|
|
SiberianSniper Guru
Joined: 06 Apr 2006 Posts: 378 Location: Dayton, OH, USA
|
Posted: Sun Jun 24, 2007 2:51 pm Post subject: |
|
|
I've never really run into problems with emerge -uDN world. It's generally only when I mess things up on my own that I need revdep-rebuild. So my vote is no. |
|
Back to top |
|
|
jlh Tux's lil' helper
Joined: 06 May 2007 Posts: 145 Location: Switzerland::Zürich
|
Posted: Sun Jun 24, 2007 5:42 pm Post subject: |
|
|
I never had any such problem. The only case where I ever needed revdep-rebuild is when I use --depclean. In my humble opinion, if after an emerge -uD you run into such problems, it should be considered a bug in the ebuild or whatever. |
|
Back to top |
|
|
tanderson Retired Dev
Joined: 11 Apr 2007 Posts: 193
|
Posted: Sun Jun 24, 2007 7:54 pm Post subject: |
|
|
jlh wrote: | I never had any such problem. The only case where I ever needed revdep-rebuild is when I use --depclean. In my humble opinion, if after an emerge -uD you run into such problems, it should be considered a bug in the ebuild or whatever. |
No, it shouldn't, for this hypothetical(but very real)case:
X links against libY.
User upgrades libY, which messes up the linking.
This obviously has nothing to do with any ebuild, it is just a problem with building from source.
To the original poll, "No". Why? Because revdep-rebuild is located not in sys-apps/portage but in app-portage/gentoolkit, an 'optional' package. Revdep-rebuild is an optional program that is not needed for a working installation. Many users may never use revdep-rebuild.
Furthermore, running revdep-rebuild is not *always* necessary, so it shouldn't be run. _________________ No Man is Just a Number!
--The Prisoner |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Tue Jun 26, 2007 1:57 am Post subject: |
|
|
I've read a couple of times recently (sorry I don't have any links) that the correct procedure for update is -uDN world followed by --depclean and then revdep-rebuild. Before that, I'd heard only about revdep-rebuild as recommended for libraries broken by package upgrade (which is what revdep itself states.) So we built that into update and are actually considering --depclean for the next version. (update only defaults to -uDN world && revdep when used with no options or a shortcut such as -s to sync first.)
Revdep can be a bit slow but in the context of system updates I never really notice it. Kojiro is working on a new version which is already 50% faster or something so I look forward to that :)
One thing we will definitely add is cruft-filtering of the revdep builds, most likely with the new revdep. It's really cool having etc-proposals btw, which I recommend, as it pops up in whichever desktop I'm on, telling me the update has finished successfully.
As for gentoolkit being optional it's one of the first things I and many others install (eg for equery or euse, or indeed revdep-rebuild.) But yeah, maybe the script should check for its existence (it still has the logic for checking for logger after all.. ;) |
|
Back to top |
|
|
thawn n00b
Joined: 31 Aug 2004 Posts: 41
|
Posted: Mon Sep 17, 2007 10:59 am Post subject: some comments |
|
|
Thank you all for your comments!
I would like to renew the discussion a bit.
The existence of a script like update shows me, that this issue appears quite frequently.
To my opinion the fact that revdep-rebuild is not a default package is the best argument against making it default.
This could of course be easily resolved by integrating revdep-rebuild into the portage package.
I still think, making revdep-rebuild default when the -D option is set makes sense, since this can break things. I think this is especially important, since new users don't know that revdep-rebuild exists (or an option like -R) and just think its a bug.
So I still vote for extending the -D feature in a way that it recognizes if other packages depend on an updated library and updates them as well or throws a warning. This could be done by running revdep rebuild in the background, or by integrating the feature into portage.
I think this would save many people a lot of time and would help to give gentoo a more user friendly and less geeky image (which some people certainly enjoy: "I'm running Gentoo, see how well I know my linux". Admittedly I also like the respectful nods when I tell people I am running Gentoo on my server at home ).
As to making sharp tools dull: The sharpest of tools doesn't help you if you don't know it exists. |
|
Back to top |
|
|
Clete2 Guru
Joined: 09 Aug 2003 Posts: 530 Location: Bloomington, Illinois
|
Posted: Tue Sep 18, 2007 5:36 pm Post subject: |
|
|
I voted for a flag for it, but only because I'm lazy. Most people who just start out using Gentoo don't know about revdep-rebuild and how many problems it can fix. A flag would be nice, but is not necessary. We should not add bloat to Portage by making it run every time. That'll just make it slower than it already is. 99% of the time, nothing in my system breaks when I run emerge -uD world. I run emerge -uD world about once a week and sometimes more, so I have less problems than many people do.
A message at the end of the emerge saying "If something is broken, run revdep-rebuild first before asking for help!" would be nice... -- right along the "/etc has x files that need updating" message. _________________ My Blog |
|
Back to top |
|
|
asturm Developer
Joined: 05 Apr 2007 Posts: 8942
|
Posted: Tue Sep 18, 2007 8:10 pm Post subject: |
|
|
Clete2 wrote: | A message at the end of the emerge saying "If something is broken, run revdep-rebuild first before asking for help!" would be nice... -- right along the "/etc has x files that need updating" message. |
[X] signed.
Either that or portage could notice a major change of a library and print the message just in such cases. |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Wed Sep 19, 2007 10:44 am Post subject: |
|
|
Clete2 wrote: | A message at the end of the emerge saying "If something is broken, run revdep-rebuild first before asking for help!" would be nice... -- right along the "/etc has x files that need updating" message. |
I would find that really annoying personally, since it wouldn't be telling me action was needed like the config file warning does. Portage has a preserve-libs option now, which I think is down to the ebuild maintainer to use (I think) and tracks libraries so a lib won't be removed if it's still linked to. (This might be only in the testing one, not sure.) |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Wed Sep 19, 2007 11:52 am Post subject: |
|
|
out of 10 emerge -Du world i have seen atleast 3 times it needs to run revdep-rebuild due to various reasons
if only it were
so i would like an emerge command with -R flag to do this function .
2 times i have been asked by the running emerge world in the middle of a session and then continue to emerge rest of it.
now if you run revdep-rebuild every time it will be a waste of time while for a long time we wait untill something breaks then only we usually run it
it would be very convenient like the fsck runs after number of mounts if revdep-rebuild made automatic check for broken installation of any package . time dependent? no kernel should have a routine to find problem and prompt for revdep-rebuild or run it by force.
that would save lot of trouble ahen too many packages break all of a sudden.
the above are probably my dreams / musings _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
VforVendetta n00b
Joined: 15 Sep 2007 Posts: 3 Location: Land of the Scots
|
Posted: Wed Sep 19, 2007 5:45 pm Post subject: |
|
|
I like padoor's suggestion.
I'd like it to have a revdep-rebuild flag set up, so that the command can be incorporated into an emerge operation. If the command could be invoked, when a fixable error condition is present, then so much the better.
Especially helpful, would be the option to set a flag 'Invoke_Revdep=[yes,no]' or similar, in /etc/make.conf, so that emerge would automatically read the variable and invoke revdep-rebuild IF the build error condition was met.
People who don't have revdep-rebuild installed, would have the command bypassed during an emerge.
People who do have revdep-rebuild, would have the simplicity of not having to invoke the command (with an emerge flag) explicitly, each time they utilised emerge.
Customisable...the Gentoo way. |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Wed Sep 19, 2007 6:02 pm Post subject: |
|
|
I think there is a some mismatch between revdep-rebuild and emerge functionalities, and probably it would be good if revdep-rebuild would be part of emerge but as additional flags. Perhaps even flags that can be forced by some packages !
The situation with libexpat highlighted this of course. You run
and everything looks dandy. Then you run
and it fails. expat gets updated early in the list, and then pango and gtk+ fail, because they rely on test programs from fontconfig which was not in the update list and is still compiled against now non-existent libexpat.so.0. And you have never seen revdep-rebuild warning before the crash actually occured. |
|
Back to top |
|
|
tabanus l33t
Joined: 11 Jun 2004 Posts: 638 Location: UK
|
Posted: Wed Sep 19, 2007 6:39 pm Post subject: |
|
|
I voted "with another flag". Actually I'd probably set it in FEATURES.
My reasoning is this, when a portage update comes up in emerge -u world, it says something like: emerge with halt after this package then re-calculate the package order. I'd have a package that requires revdep-rebuild after it say something like this:
emerge will halt after this package and run revdep-rebuild <package, soname, whatever> before resuming. i.e. I would have it run in the middle of the emerge run, where it's appropriate, before continuing with the other packages. This would have sorted most of the problems with the expat update (assuming revdep-rebuild actually generated the correct package order, which it didn't for expat). _________________ Things you might say if you never took Physics: "I'm overweight even though I don't overeat." - Neil deGrasse Tyson |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3267 Location: Canada
|
Posted: Wed Sep 19, 2007 11:09 pm Post subject: |
|
|
tabanus wrote: | I voted "with another flag". Actually I'd probably set it in FEATURES.
My reasoning is this, when a portage update comes up in emerge -u world, it says something like: emerge with halt after this package then re-calculate the package order. I'd have a package that requires revdep-rebuild after it say something like this:
emerge will halt after this package and run revdep-rebuild <package, soname, whatever> before resuming. i.e. I would have it run in the middle of the emerge run, where it's appropriate, before continuing with the other packages. This would have sorted most of the problems with the expat update (assuming revdep-rebuild actually generated the correct package order, which it didn't for expat). |
Exactly ! |
|
Back to top |
|
|
thawn n00b
Joined: 31 Aug 2004 Posts: 41
|
Posted: Thu Sep 20, 2007 8:20 am Post subject: |
|
|
So, let me reformulate my feature request (or is it a bug fix :
How about some information in the ebuilds of libraries that change their binary names.
If this information is present, portage should also reemerge all packages that depend on this library.
I think this calculation could be done even before starting the actual emerge so the reemerges would show up during emerge -puDv world.
This way the extra calculation time would only occur when it is actually necessary.
This should prevent problems during updating 99% of the time and make updates run much more smoothly.
Especially after the expat update every Gentoo user should be aware of the broken link problems. No matter how frequently you update your system, if an important library changes a binary name, your system will break, unless you reemerge all packages that depend on tis library. |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Thu Sep 20, 2007 8:43 am Post subject: |
|
|
the broken condition must be notified by the running emerge -Du world command.
the halt of emerge under such condition is already present. i think.
i have seen emerge -Du world terminates itself for various conditions including broken or use flag limitation or requirements.
if a notification to run revdep-rebuild when becomes necessary may be incorporated in the emerge command. like several other warnings it gives. or like update all your config files at the end of an emerge session _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
hielvc Advocate
Joined: 19 Apr 2002 Posts: 2805 Location: Oceanside, Ca
|
Posted: Thu Sep 20, 2007 6:22 pm Post subject: |
|
|
Reasons against
1. If you make it a flag then gentoolkit HAS TO BE installed when portage is.
2. You are making a mistake thinking that people are going to read " man portage " and " man emerge "
3. So what you say. If they dont want to learn how to take care of their NIX box then they should run windows. The idea behind UNIX is small tools that do one thing well, so we are getting there
If you want to run revdep-rebuild after emerge <whatever> then make an function in your .bashrc Code: | function emdep(){ emerge $1 $2 ; revdep-rebuild
} |
You would run it like this " emdep world -uDN " _________________ An A-Z Index of the Linux BASH command line |
|
Back to top |
|
|
tabanus l33t
Joined: 11 Jun 2004 Posts: 638 Location: UK
|
Posted: Thu Sep 20, 2007 6:37 pm Post subject: |
|
|
hielvc wrote: | If you want to run revdep-rebuild after emerge <whatever> then make an function in your .bashrc Code: | function emdep(){ emerge $1 $2 ; revdep-rebuild
} |
You would run it like this " emdep world -uDN " |
But wouldn't that run revdep-rebuild whether it was needed or not?
Oh and...how can anyone maintain a Gentoo system without the gentoolkit? _________________ Things you might say if you never took Physics: "I'm overweight even though I don't overeat." - Neil deGrasse Tyson |
|
Back to top |
|
|
hielvc Advocate
Joined: 19 Apr 2002 Posts: 2805 Location: Oceanside, Ca
|
Posted: Thu Sep 20, 2007 6:58 pm Post subject: |
|
|
Yup. So if'n you dont want to run revdep-rebuild every time then just run emerge and if you do that then maybe when you think that you should run revdep then you can just run it too
Question #2 lots of people. Just look at all the peeps who post their emerge --info and are still running gcc-3.3.6. _________________ An A-Z Index of the Linux BASH command line |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Fri Sep 21, 2007 4:34 pm Post subject: |
|
|
thawn wrote: | So, let me reformulate my feature request (or is it a bug fix ;-): |
According to this post it's coming in Portage 2.2. |
|
Back to top |
|
|
|