1 |
On Wed, 2013-11-27 at 12:55 +0100, Sebastian Luther wrote: |
2 |
> Hi all, |
3 |
> |
4 |
> bug 490350 [1] brought me to think about the way rebuilds are currently |
5 |
> handled/can be influenced. |
6 |
> |
7 |
> When a new version of some package is about to be installed in the same |
8 |
> slot as the installed version and this new version has a different sub |
9 |
> slot then I see 3 different things one can do: |
10 |
> |
11 |
> a) Install the new version and rebuild everything that has a slot |
12 |
> operator dep on it. (The current default.) |
13 |
> |
14 |
> b) Skip the update and skip all rebuilds. (You might be able to do this |
15 |
> using --exclude) |
16 |
> |
17 |
|
18 |
You might be able to do this for simple merge lists, but could be |
19 |
problematic for lists that include pkg updates with blockers or dep |
20 |
updates. Where foo, causes rebuilds, but also includes dep updates |
21 |
that block/break the installed version of foo. I would think that if |
22 |
portage kept the list of pkgs causing the rebuilds, they might be able |
23 |
to be added to the exclude list without restarting. But portage may |
24 |
have to begin the dep calcs again anyway to prevent possible breakage. |
25 |
|
26 |
> c) Perform the update, don't rebuild anything (rely on preserved-libs, |
27 |
> revdep-rebuild). This is --ignore-built-slot-operator-deps=y. |
28 |
> |
29 |
> Note that a) and b) are safe things to do, while c) has the potential to |
30 |
> break stuff. |
31 |
> |
32 |
> I'd expect that what the user wants, generally depends on the context. |
33 |
> For "-uDN world" I'd expect a), but for "emerge foo" I'd expect b) |
34 |
> unless foo is the update I was talking about. In the latter case I'd |
35 |
> expect a) or c). |
36 |
> |
37 |
> Before I continue, I'd like to know if you agree with my analyses. Am I |
38 |
> missing something? |
39 |
> |
40 |
> |
41 |
> Sebastian |
42 |
> |
43 |
|
44 |
I don't think you missed anything. In that latter case if the user uses |
45 |
the --ignore-* options they get to pick up the pieces. |
46 |
|
47 |
> |
48 |
> [1] Bug 490350 - sys-apps/portage: Extended user interface of |
49 |
> --ignore-built-slot-operator-deps=y |
50 |
> URL: https://bugs.gentoo.org/show_bug.cgi?id=490350 |
51 |
> |