On 2016-05-28(01:49:22PM-0500), Dale wrote: > 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 > >> redwo...@gmail.com <mailto:redwo...@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 > > :-) :-)
Wow. This could be much shorter and is even very unnecessary when you pay attention.. I hate to have very short replies on very long posts, but this script... just wow. -- ♥Ⓐ ng0 | http://www.n0.is/u/n 4096R/13212A27975AF07677A29F7002A296150C201823
signature.asc
Description: Digital signature