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