Am 28.05.2016 um 20:49 schrieb Dale: > Dale wrote: >> Gregory Woodbury wrote: >>> Has Alan ever posted his "jackhammer" script for some experts to >>> look at? >>> >>> I get by really well with a small script that reads the eix outputs, >>> finds the "[U]" >>> tagged packages, and then runs "emerge -u1" on that list. >>> >>> Doing anything more than that will be a cause of pain and suffering. >>> >>> If a package needs patches for something special, it is better to >>> make a local >>> repository with modified ebuilds and distfiles, rather than try to >>> force the gentoo repo >>> into your own mess. I do this for a few tthings that Gentoo doesn't >>> ship. Portage >>> is actuallly quite flexible underneath, itt just takes a bit of >>> learning. >>> >>> -- >>> G.Wolfe Woodbury >>> redwolfe@gmail.com >> >> >> He did a while back. Some very experienced Gentoo users here >> explained to him that his script was the problem. From memory which >> isn't all that good, it syncs the tree which is fine. After that, it >> gets bad. I think it did the updates and then repeated that several >> times within the script. That is done without him looking to see if >> anything needs to be changed, USE flags etc, or if something >> shouldn't be updated at all. I'm pretty sure that it then deletes >> all the logs of what was done, which means anything broken is broke >> and no record of what or even why. >> >> Yes, some things can be done with a script. However, there needs to >> be a point in there where the user, the real brain of what is wanted, >> looks at the list of what will be updated. Only a human can look and >> see if there is USE flag changes or other issues that need a config >> file to be edited. Alan skips all that. >> >> If you want, I can go dig it out and post it. I should have a copy >> of the script in my local email. I keep them for like 2 years or >> something then it deletes the old stuff. I'm not sure if you will >> laugh your head off or cry tho. >> >> Dale >> >> :-) :-) > > > What the heck. I went back and found it. It only took a few > minutes. The rest of this message is the email where he has his > script. I'll do my usual sign off at the bottom, rest is his post. > For those who have already seen it, you might want to skip past the > rest. No need torturing yourself again. > > >> I use two scripts for all emerge use, the goal is to run one command and >> then walk away: >> >> Standard general update script: >> ####################### >> tortoise ~ # cat sysupdate >> >> #they must have moved or removed the logs, might have to track them down >> again... >> #rm /var/log/emerge* >> >> # cache /usr/portage >> echo "caching /usr/portage. This will take a long time." >> time ls -R /usr/portage > /dev/null >> >> emerge --sync >> layman --sync ALL >> >> emerge --update --verbose portage >> emerge --update --newuse --deep --with-bdeps=y system --keep-going >> emerge --update --newuse --deep --with-bdeps=y world --keep-going >> >> rm -f /var/cache/revdep-rebuild/*.rr >> revdep-rebuild >> emerge --skipfirst --resume >> emerge --skipfirst --resume >> etc-update >> eclean-dist >> ######################## >> >> The eclean line was added just a few days ago from this thread... >> >> This one is intended to be a nice gentle update script. >> It caches the portage tree, then syncs everything, then updates >> everything starting with critical system packages, then all world >> packages... >> >> Then it cleans stuff up, it jcakhammers the revdep-rebuild but not too >> hard.... >> >> >> This next script is what I use when emerge starts giving me shit: >> >> ################## >> tortoise ~ # cat keepgoing >> emerge --update --newuse --deep --with-bdeps=y system >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> >> emerge --update --newuse --deep --with-bdeps=y world >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> >> rm /var/cache/revdep-rebuild/*.rr >> revdep-rebuild >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> emerge --skipfirst --resume --nodeps >> >> etc-update >> ################### >> >> It's basically the same as the working section of the above but instead >> of letting emerge do it's thing, it jackhammers that bitch as hard as >> possible to get as much updated as possible, but it requires emerge to >> do something and not error out for no good reason... I expect prune and >> depclean to be useless but I kinda need update to basically work every >> time. =\ >> Whatever fails on this script, I just live with until next week/month. >> >> ################### >> tortoise ~ # ./pretendupdate >> >> These are the packages that would be merged, in order: >> >> Calculating dependencies / >> >> !!! Problem resolving dependencies for sys-apps/util-linux from @system >> ... done! >> >> !!! The ebuild selected to satisfy "sys-apps/util-linux" has unmet >> requirements. >> - sys-apps/util-linux-2.27.1::gentoo USE="caps cramfs ncurses nls pam >> python readline suid udev unicode -build -fdformat -kill (-selinux) >> -slang -static-libs -systemd -test -tty-helpers" ABI_X86="32 64 -x32" >> PYTHON_SINGLE_TARGET="-python2_7 -python3_3 -python3_4" >> PYTHON_TARGETS="python2_7 python3_4 -python3_3" >> >> The following REQUIRED_USE flag constraints are unsatisfied: >> python? ( exactly-one-of ( python_single_target_python2_7 >> python_single_target_python3_3 python_single_target_python3_4 ) ) >> >> The above constraints are a subset of the following complete expression: >> python? ( exactly-one-of ( python_single_target_python2_7 >> python_single_target_python3_3 python_single_target_python3_4 ) >> python_single_target_python2_7? ( python_targets_python2_7 ) >> python_single_target_python3_3? ( python_targets_python3_3 ) >> python_single_target_python3_4? ( python_targets_python3_4 ) ) >> >> (dependency required by "@system" [set]) >> (dependency required by "@world" [argument]) >> >> tortoise ~ # cat ./pretendupdate >> emerge --update --newuse --deep --with-bdeps=y world --verbose --pretend >> tortoise ~ # >> >> ########### >> >> Google is not being helpful with this... =( > > Dale > > :-) :-) thanks a lot. My eyes are bleeding.