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