1 |
There are a few emerge wrapper scripts that do what you want. emwrap.sh |
2 |
is one, I believe update-world or named something like that is another. |
3 |
Also (I'm prejudiced here) porhole is a portage gui frontend that queues |
4 |
up the packages individually and lets you pause, move queue entries, |
5 |
restart the queue, edit USE flags, etc.. The upgrades view also |
6 |
separates all upgradeable packages into system, sets, world, |
7 |
dependencies and lets you choose the ones to upgrade. |
8 |
|
9 |
On Sat, 2008-06-07 at 11:13 -0400, Jason Cipriani wrote: |
10 |
> I do not always have the chance (or sometimes the desire) to update |
11 |
> packages often enough to keep the updates small. So frequently, when I |
12 |
> emerge -u world, for example, there's 100-200 packages to update. This |
13 |
> also can happen if I change certain USE flags and use -N. |
14 |
> |
15 |
> The problem is, since it's time consuming it's generally something I |
16 |
> need to run over night to avoid any down time. Inevitably, when I come |
17 |
> back in the morning, however, I'll see something like (I've trimmed |
18 |
> off the [ok] to keep the lines short): |
19 |
> |
20 |
> >>> Emerging (12 of 183) net-print/cups-1.3.7-r1 to / |
21 |
> * cups-1.3.7-source.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... |
22 |
> * checking ebuild checksums ;-) ... |
23 |
> * checking auxfile checksums ;-) ... |
24 |
> * checking miscfile checksums ;-) ... |
25 |
> * checking cups-1.3.7-source.tar.bz2 ;-) ... |
26 |
> >>> cfg-update-1.8.2-r1: Skipping checksum index updating... |
27 |
> |
28 |
> * In order to have cups working with avahi zeroconf support, you need |
29 |
> * to have net-dns/avahi emerged with "mdnsresponder-compat" in your |
30 |
> USE |
31 |
> * flag. Please add that flag, re-emerge avahi, and then emerge cups |
32 |
> again. |
33 |
> |
34 |
> |
35 |
> In that example, the fix is simple -- follow the instructions and try |
36 |
> emerge -u again. Unfortunately that also means it costs another day, |
37 |
> as I can't really do that again until the next evening (and, in rarer |
38 |
> cases, it leaves the system unstable if it's in a half-updated state |
39 |
> that breaks certain dependencies). For every package this happens to, |
40 |
> that is one extra day. In most cases this happens to 1-4 packages, |
41 |
> meaning I generally have to reserve the better part of a week to |
42 |
> update packages. |
43 |
> |
44 |
> If package A depends on package B, it is reasonable to fail and not |
45 |
> build package A if package B fails. However, I am 99% sure that the |
46 |
> remaining 171 packages I had to update did not depend on cups (to use |
47 |
> that example). It is not reasonable for emerge to fail to update |
48 |
> things like gcc and ati-drivers if cups fails. It is also not |
49 |
> reasonable to stop emerge for a reason like "another package may use |
50 |
> avahi and that's the one you need to fix" -- as in that case a simple |
51 |
> emerge -N would take care of the minimal set of packages effected by |
52 |
> that change. |
53 |
> |
54 |
> What I would like to see is a command line option to emerge that |
55 |
> enables the following simple behavior: |
56 |
> |
57 |
> - If package A fails to build, display the error and move package A |
58 |
> and all packages that depend on it to the *end* of the update queue, |
59 |
> but do not exit. |
60 |
> - If a package fails to build for the second time (i.e. it's already |
61 |
> been tried and moved), *then* display error and exit as normal. |
62 |
> |
63 |
> I can think of other more complex behaviors that might make this more |
64 |
> "convenient", but I believe anything more than that is unnecessary. I |
65 |
> think this is a simple solution that mitigates most of the problem. |
66 |
> That will allow the unaffected packages (which, in my experience, is |
67 |
> the vast majority of packages in most cases) to continue building, and |
68 |
> effectively defers the error until the last possible minute. Then a |
69 |
> user running emerge fixes the error and reruns emerge; but only the |
70 |
> smaller set of affected packages still remains to be built. |
71 |
> |
72 |
> For me, this would reduce updating my system from a week-long process |
73 |
> to just one day -- update the majority overnight, and if any fail it's |
74 |
> likely that the remaining packages can be fixed and updated in a |
75 |
> reasonable amount of time the following day. |
76 |
> |
77 |
> Jason |
78 |
> |
79 |
-- |
80 |
Brian <dol-sen@×××××.net> |
81 |
|
82 |
-- |
83 |
gentoo-portage-dev@l.g.o mailing list |