Gentoo Archives: gentoo-amd64

From: Beso <givemesugarr@×××××.com>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] Re: KDE 4.0.4 upgrade, sort of.
Date: Sun, 01 Jun 2008 11:04:20
Message-Id: d257c3560806010404y27e90605n66854204eb87d00b@mail.gmail.com
In Reply to: [gentoo-amd64] Re: KDE 4.0.4 upgrade, sort of. by Duncan <1i5t5.duncan@cox.net>
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