1 |
2008/5/31 Duncan <1i5t5.duncan@×××.net>: |
2 |
|
3 |
> David Leverton <levertond@××××××××××.com> posted |
4 |
> 200805312034.51915.levertond@××××××××××.com, excerpted below, on Sat, 31 |
5 |
> May 2008 20:34:51 +0100: |
6 |
> |
7 |
> > On Saturday 31 May 2008 20:25:42 Hemmann, Volker Armin wrote: |
8 |
> >> New in pkgcore: |
9 |
> >> --ignore-failures: |
10 |
> >> [snip] |
11 |
> >> |
12 |
> >> people who asked for a similar functionality in paludis were called |
13 |
> >> stupid. (asking for skipfirst equivalent) |
14 |
> > |
15 |
> > [dleverton@shiny-one ~] $ paludis --help [snip] |
16 |
> > --continue-on-failure Whether to continue after a fetch or install |
17 |
> > error |
18 |
> > if-fetch-only If fetching only (default) |
19 |
> > never Never |
20 |
> > if-satisfied If remaining packages' dependencies are satisfied |
21 |
> > if-independent If independent of failed and skipped packages |
22 |
> > always Always (UNSAFE) |
23 |
> |
24 |
> I don't have a particular dog in this fight, but that's not the same |
25 |
> thing. --skip-first allows the admin to react to whatever when wrong, |
26 |
> try to fix it, and use the skip option only if he decides it's |
27 |
> warranted. IOW, it's sort of interactive, tho over time. It appears |
28 |
> this option must be added at the beginning, before one knows there'll be |
29 |
> an error, and independent of what that error might be. |
30 |
> |
31 |
> (I'm assuming paludis creates a log of what failed, so one can try them |
32 |
> again later, after fixing the problem or getting a package update or |
33 |
> whatever. If not, that's another difference, as the --skipfirst option |
34 |
> allows one to (manually) create such a list, and in fact that's what I |
35 |
> use it for when doing an emerge --emptytree after upgrading gcc, for |
36 |
> instance. The old packages often still work fine so don't /have/ to be |
37 |
> upgraded, but with a list, as they are fixed to work with the new |
38 |
> version, they can be retried and if successful, stricken from the list, |
39 |
> thus gradually shrinking the number of packages not compatible with the |
40 |
> new gcc version.) |
41 |
> |
42 |
|
43 |
paludis always creates logs, even if everything goes fine. you could disable |
44 |
them but it's unsafe. |
45 |
|
46 |
|
47 |
> I did see the log where the --skipfirst functionality request was called |
48 |
> stupid. I never quite understood why. If the above was already there |
49 |
> and considered equivalent, I can see why the request might be called |
50 |
> stupid, but nobody bothered to explain that if it was indeed the case, so |
51 |
> both the requester and all the others that ended up seeing that IRC log |
52 |
> missed out on the real answer. Unfortunately, that sort of "missing out" |
53 |
> has become somewhat of a pattern, altho if/when the explanation /does/ |
54 |
> come, it's usually very well reasoned out. It's just worse than pulling |
55 |
> teeth to get it, sometimes, even on the devel list after being asked |
56 |
> repeatedly by multiple devs, which is where I see the pattern repeated |
57 |
> most often, since as a good admin, I lurk there to see what's coming down |
58 |
> the road before I hit it. |
59 |
> |
60 |
|
61 |
the --skipfirst is stupid. it just skips the first package that failed. the |
62 |
problem is the following: if a package has failed and the following is |
63 |
dependant on it the skipfirst just resumes portage and then issues an error |
64 |
of deps not met and stops. this would stop your emerge and you would need to |
65 |
do the emerge again, since a --resume doesn't find anything to resume. the |
66 |
continue-on-failure is a little more intelligent: |
67 |
normally, if a package has a dependance on a package that failed (even if |
68 |
not strictly on the version that failed to install) the package would have |
69 |
been skipped. the other option is to skip a package if the deps installed |
70 |
are satisfied (so if you have a dep on >=openldap-2.3.x and openldap-2.4.1 |
71 |
fails to install the packages that with the first option would have been |
72 |
skipped would now install, since openldap-2.3.5 is present). the other |
73 |
continue options are stupid and most likely to do some real harm so i don't |
74 |
tend to consider them useful. at the end of the emerge process paludis |
75 |
prints the packages that have failed and gives a command line to resume the |
76 |
emerge operation, including the various logs of failure and the messages |
77 |
from the packages that have been succefully merged. |
78 |
this option doesn't prevent errors, but tells paludis to continue the work |
79 |
if possible and let the eventual errors to be controlled at the admin |
80 |
return. pkgcore seems to do something similar, by looping the --skipfirst |
81 |
option, but that is more like the continue-on-failure always with the skip |
82 |
of the first package on the resume. it's a bit stupid, but still more useful |
83 |
than the --skipfirst of portage. |
84 |
|
85 |
-- |
86 |
dott. ing. beso |