Gentoo Archives: gentoo-user

From: ng0 <ng0@××.is>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: [OT] How to be a penguin.
Date: Sat, 28 May 2016 20:11:30
Message-Id: 20160528201107.GA24959@khazad-dum
In Reply to: Re: [gentoo-user] Re: [OT] How to be a penguin. by Dale
1 On 2016-05-28(01:49:22PM-0500), Dale wrote:
2 > Dale wrote:
3 > > Gregory Woodbury wrote:
4 > >> Has Alan ever posted his "jackhammer" script for some experts to look
5 > >> at?
6 > >>
7 > >> I get by really well with a small script that reads the eix outputs,
8 > >> finds the "[U]"
9 > >> tagged packages, and then runs "emerge -u1" on that list.
10 > >>
11 > >> Doing anything more than that will be a cause of pain and suffering.
12 > >>
13 > >> If a package needs patches for something special, it is better to
14 > >> make a local
15 > >> repository with modified ebuilds and distfiles, rather than try to
16 > >> force the gentoo repo
17 > >> into your own mess. I do this for a few tthings that Gentoo doesn't
18 > >> ship. Portage
19 > >> is actuallly quite flexible underneath, itt just takes a bit of learning.
20 > >>
21 > >> --
22 > >> G.Wolfe Woodbury
23 > >> redwolfe@×××××.com <mailto:redwolfe@×××××.com>
24 > >
25 > >
26 > > He did a while back. Some very experienced Gentoo users here
27 > > explained to him that his script was the problem. From memory which
28 > > isn't all that good, it syncs the tree which is fine. After that, it
29 > > gets bad. I think it did the updates and then repeated that several
30 > > times within the script. That is done without him looking to see if
31 > > anything needs to be changed, USE flags etc, or if something shouldn't
32 > > be updated at all. I'm pretty sure that it then deletes all the logs
33 > > of what was done, which means anything broken is broke and no record
34 > > of what or even why.
35 > >
36 > > Yes, some things can be done with a script. However, there needs to
37 > > be a point in there where the user, the real brain of what is wanted,
38 > > looks at the list of what will be updated. Only a human can look and
39 > > see if there is USE flag changes or other issues that need a config
40 > > file to be edited. Alan skips all that.
41 > >
42 > > If you want, I can go dig it out and post it. I should have a copy of
43 > > the script in my local email. I keep them for like 2 years or
44 > > something then it deletes the old stuff. I'm not sure if you will
45 > > laugh your head off or cry tho.
46 > >
47 > > Dale
48 > >
49 > > :-) :-)
50 >
51 >
52 > What the heck. I went back and found it. It only took a few minutes.
53 > The rest of this message is the email where he has his script. I'll do
54 > my usual sign off at the bottom, rest is his post. For those who have
55 > already seen it, you might want to skip past the rest. No need
56 > torturing yourself again.
57 >
58 >
59 > > I use two scripts for all emerge use, the goal is to run one command and
60 > > then walk away:
61 > >
62 > > Standard general update script:
63 > > #######################
64 > > tortoise ~ # cat sysupdate
65 > >
66 > > #they must have moved or removed the logs, might have to track them down
67 > > again...
68 > > #rm /var/log/emerge*
69 > >
70 > > # cache /usr/portage
71 > > echo "caching /usr/portage. This will take a long time."
72 > > time ls -R /usr/portage > /dev/null
73 > >
74 > > emerge --sync
75 > > layman --sync ALL
76 > >
77 > > emerge --update --verbose portage
78 > > emerge --update --newuse --deep --with-bdeps=y system --keep-going
79 > > emerge --update --newuse --deep --with-bdeps=y world --keep-going
80 > >
81 > > rm -f /var/cache/revdep-rebuild/*.rr
82 > > revdep-rebuild
83 > > emerge --skipfirst --resume
84 > > emerge --skipfirst --resume
85 > > etc-update
86 > > eclean-dist
87 > > ########################
88 > >
89 > > The eclean line was added just a few days ago from this thread...
90 > >
91 > > This one is intended to be a nice gentle update script.
92 > > It caches the portage tree, then syncs everything, then updates
93 > > everything starting with critical system packages, then all world
94 > > packages...
95 > >
96 > > Then it cleans stuff up, it jcakhammers the revdep-rebuild but not too
97 > > hard....
98 > >
99 > >
100 > > This next script is what I use when emerge starts giving me shit:
101 > >
102 > > ##################
103 > > tortoise ~ # cat keepgoing
104 > > emerge --update --newuse --deep --with-bdeps=y system
105 > > emerge --skipfirst --resume --nodeps
106 > > emerge --skipfirst --resume --nodeps
107 > > emerge --skipfirst --resume --nodeps
108 > >
109 > > emerge --update --newuse --deep --with-bdeps=y world
110 > > emerge --skipfirst --resume --nodeps
111 > > emerge --skipfirst --resume --nodeps
112 > > emerge --skipfirst --resume --nodeps
113 > > emerge --skipfirst --resume --nodeps
114 > > emerge --skipfirst --resume --nodeps
115 > > emerge --skipfirst --resume --nodeps
116 > > emerge --skipfirst --resume --nodeps
117 > > emerge --skipfirst --resume --nodeps
118 > > emerge --skipfirst --resume --nodeps
119 > > emerge --skipfirst --resume --nodeps
120 > >
121 > > rm /var/cache/revdep-rebuild/*.rr
122 > > revdep-rebuild
123 > > emerge --skipfirst --resume --nodeps
124 > > emerge --skipfirst --resume --nodeps
125 > > emerge --skipfirst --resume --nodeps
126 > > emerge --skipfirst --resume --nodeps
127 > >
128 > > etc-update
129 > > ###################
130 > >
131 > > It's basically the same as the working section of the above but instead
132 > > of letting emerge do it's thing, it jackhammers that bitch as hard as
133 > > possible to get as much updated as possible, but it requires emerge to
134 > > do something and not error out for no good reason... I expect prune and
135 > > depclean to be useless but I kinda need update to basically work every
136 > > time. =\
137 > > Whatever fails on this script, I just live with until next week/month.
138 > >
139 > > ###################
140 > > tortoise ~ # ./pretendupdate
141 > >
142 > > These are the packages that would be merged, in order:
143 > >
144 > > Calculating dependencies /
145 > >
146 > > !!! Problem resolving dependencies for sys-apps/util-linux from @system
147 > > ... done!
148 > >
149 > > !!! The ebuild selected to satisfy "sys-apps/util-linux" has unmet
150 > > requirements.
151 > > - sys-apps/util-linux-2.27.1::gentoo USE="caps cramfs ncurses nls pam
152 > > python readline suid udev unicode -build -fdformat -kill (-selinux)
153 > > -slang -static-libs -systemd -test -tty-helpers" ABI_X86="32 64 -x32"
154 > > PYTHON_SINGLE_TARGET="-python2_7 -python3_3 -python3_4"
155 > > PYTHON_TARGETS="python2_7 python3_4 -python3_3"
156 > >
157 > > The following REQUIRED_USE flag constraints are unsatisfied:
158 > > python? ( exactly-one-of ( python_single_target_python2_7
159 > > python_single_target_python3_3 python_single_target_python3_4 ) )
160 > >
161 > > The above constraints are a subset of the following complete expression:
162 > > python? ( exactly-one-of ( python_single_target_python2_7
163 > > python_single_target_python3_3 python_single_target_python3_4 )
164 > > python_single_target_python2_7? ( python_targets_python2_7 )
165 > > python_single_target_python3_3? ( python_targets_python3_3 )
166 > > python_single_target_python3_4? ( python_targets_python3_4 ) )
167 > >
168 > > (dependency required by "@system" [set])
169 > > (dependency required by "@world" [argument])
170 > >
171 > > tortoise ~ # cat ./pretendupdate
172 > > emerge --update --newuse --deep --with-bdeps=y world --verbose --pretend
173 > > tortoise ~ #
174 > >
175 > > ###########
176 > >
177 > > Google is not being helpful with this... =(
178 >
179 > Dale
180 >
181 > :-) :-)
182
183 Wow. This could be much shorter and is even very unnecessary when you pay attention..
184
185 I hate to have very short replies on very long posts,
186 but this script... just wow.
187
188 --
189 ♥Ⓐ ng0 | http://www.n0.is/u/n
190 4096R/13212A27975AF07677A29F7002A296150C201823

Attachments

File name MIME type
signature.asc application/pgp-signature