It workscount_zero wrote: Try this version out, I made some changes which should help utf-8 problems. I can't test utf-8 problems myself, so you'll have to help.

Nah. The sort command is to make it easier to find packages that you want to edit out. When you run update-world --install, the entire list gets sent back to portage, which then reorders it again anyway. Check the sorted emergelist, and then check it again once the world starts compiling--you'll find that it's back in the order that portage wants it in. And you can still remove/change packages if the process dies for some reason without running update-world --prepare again. Just edit the emergelist how you like, and restart the update-world --install.iBormuth wrote:This is a nice one which I happen to use frequently. Thanks a lot.
Anyway, why do you sort the list before you write to emergelist? I always thought there was a logic behind the order portage handles packages.
Think you have an 'emerge -e world' that died on its way. If your script didn't sort, you could easily run 'update-world -p' and manually remove the first whatever lines from emergelist.
I'd remove the sort command or at least make it optional.

Yeah, looks like my webhost is flaking out again.ryker wrote:@count_zero, I notice your website with the update-world file has been down for a while. Did your server get hammered because of this script? Will it be back up soon?

Code: Select all
# emerge -p gnome | update-worldCode: Select all
# emerge -puDN world | update-world
Good idea!massysett wrote:Countzero: thanks. I saw your script in the GWN. This script is a great idea. I will try it next time I update my system (which I put off as long as possible.)
I was just emerging the latest GNOME, which is a ton of packages. One of them failed because a package it depended on needed to be emerged with a different USE flag. That got me thinking that it would have been neat if I could use your script to do any big emerge, not just world updates.
Maybe in the future it would be possible to use piped in output from emerge -p? Then any sort of emerge--just a single package with tons of dependencies, or a world update. For instance:
OrCode: Select all
# emerge -p gnome | update-world
Of course then you might not call the script update-world anymoreCode: Select all
# emerge -puDN world | update-worldThis feature should be a part of emerge, or gentoolkit, or something, because it's very useful. Thanks for the script.
Code: Select all
emerge -p gnome | sed -n 's/^\[ebuild[[:upper:][:lower:] ]*\]\ \([[:lower:][:upper:]0-9._+\/-]*\).*/=\1/p' > ~/.update-world/emergelist
update-world --install
Code: Select all
emerge -p gnome | update-world
Amen to that. For years I have been amazed at the intuitiv stupidity in not automatically have emerge run a revdep-rebuild after finishing. I would think it goes without saying that 99,9% of users would like an updated WORKING system instead of an updated half BROKEN one.drjimmy42 wrote:I personally think that revdep should be built into emerge as it seems silly to me to allow emerge to look as if it finished successfully while silently breaking lots of other things.


This script can be used for compiling any number of packages, but is most useful when you're updating a large number of packages that you don't want to supervise. So yes, you can use it for both normal updates (emerge -uD world) and complete system updates (emerge -e world). If you're updating GCC, you should probably update that first and switch to the new profile (gcc-config) before using this script, or you might just be recompiling your world with your old GCC.vinboy wrote:hi
sorry for being a noob.
so this script is used for normal updating? like the one we do every 2 weeks.
I assume this script is not used for upgrading GCC (having to compile everything).

It would be nice to see this as part of the gentoolkit package. Having a seperate ebuild for it seems kind of silly since it's just a small script.vinboy wrote:why not include this in portage or in the portage repository with an ebuild?
this is something useful for many of us.
great job!
Code: Select all
update-world --resume
This script has --resume built in. If for some reason the emerge gets halted (power failure, control-c, etc.), the 'emergelist' and 'failed list' are preserved. All you have to do to continue on is to run update-world --install, and the process will pick up right back where it left off.ASID wrote:If it's possible, could you please add something liketo use in case of an unexpected shutdown?Code: Select all
update-world --resume
Keep up the great job!
Great! Thanx for the tip...This script has --resume built in. If for some reason the emerge gets halted (power failure, control-c, etc.), the 'emergelist' and 'failed list' are preserved. All you have to do to continue on is to run update-world --install, and the process will pick up right back where it left off.
Code: Select all
WARNING: The following packages have Fetch Restriction turned on:
app-emulation/crossover-office-bin-6.0.0
Please download the sources to /usr/portage/distfiles/ and rerun this script.

That's how it's supposed to work--it lets you know there is a fetch restriction so you can download the file before proceeding. Did you download the file and put it in your disfiles directory? If you did and it still gives the warning, then there's a problem.If one of that packages that needs updating has an unsatisfied patch restriction, I get the message
Code:
WARNING: The following packages have Fetch Restriction turned on:
app-emulation/crossover-office-bin-6.0.0
Please download the sources to /usr/portage/distfiles/ and rerun this script.
From the changelog at the top of the script it says that fetch restriction is handled properly in 1.5. I was wondering why this behavior is like this. IMHO it would be better for the script to go over unsatisfied fetch restrictions as any other failure and report it at the end. Is there a reason this was changed?
Yeah, I saw the code where you check for it. It works as designed and if the file is there it works, its just that I use this script so that I can update unattended and deal with issues like breakages later. To me, a fetch restriction is as good as a break and I don't want to hold up the rest of the update for either one. I haven't gotten around to buying crossover-office yet and it just sits there glaring at me.count_zero wrote:
That's how it's supposed to work--it lets you know there is a fetch restriction so you can download the file before proceeding. Did you download the file and put it in your disfiles directory? If you did and it still gives the warning, then there's a problem.

You can always add '>=app-emulation/crossover-office-bin-6.0.0' (or greater than your installed version) to package.mask if you don't want to upgrade it. I saw this as a better solution than not reporting a fetch restriction, which can often be resolved using wget or downloading it from the website.drjimmy42 wrote:Yeah, I saw the code where you check for it. It works as designed and if the file is there it works, its just that I use this script so that I can update unattended and deal with issues like breakages later. To me, a fetch restriction is as good as a break and I don't want to hold up the rest of the update for either one. I haven't gotten around to buying crossover-office yet and it just sits there glaring at me.count_zero wrote:
That's how it's supposed to work--it lets you know there is a fetch restriction so you can download the file before proceeding. Did you download the file and put it in your disfiles directory? If you did and it still gives the warning, then there's a problem.
Its no big deal, I just commented the check out of the copy of the script I had, I was just wondering why this block to updating is different than others. Thanks again.

Where can you get those sources?count_zero wrote:You'll need to download the sources for sun-jdk from the website and copy to /usr/portage/distfiles/ before running the script.[ebuild FU ] dev-java/sun-jdk-1.4.2.13 [1.4.2.12-r2] USE="X alsa -doc -examples -jce -nsplugin" 35,509 kB
. . .
Fetch Restriction: 1 package (1 unsatisfied)
Fix these problems before re-running update-world.
I should be able to make some changes to the script so it handles these errors better.