Gentoo Archives: gentoo-user

From: Bryan Gardiner <bog@××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Versioned world dependencies and subslot rebuilds
Date: Tue, 26 Aug 2014 02:15:24
Message-Id: 20140825191449.180bfe96@khumba.net
In Reply to: Re: [gentoo-user] Versioned world dependencies and subslot rebuilds by Sergei Trofimovich
1 On Sat, 9 Aug 2014 16:23:30 +0300
2 Sergei Trofimovich <slyfox@g.o> wrote:
3
4 > On Fri, 8 Aug 2014 17:37:52 -0700
5 > Bryan Gardiner <bog@××××××.net> wrote:
6 >
7 > > Happy Friday gentoo-user,
8 > >
9 > > I'm setting up a chroot for doing some Haskell work. This chroot is
10 > > so that I can test my package against old versions of my
11 > > dependencies. I thought I would be okay with putting the following in
12 > > my world file:
13 > >
14 > > =dev-haskell/cabal-1.16*
15 > > ~dev-haskell/mtl-2.1.1
16 > > ~dev-haskell/gtk-0.12.0
17 > > ~dev-haskell/hunit-1.2.4.2
18 > > ~dev-haskell/parsec-3.1.3
19 > > =dev-lang/ghc-7.4.2
20 > >
21 > > But when I do "emerge -puvD --changed-use @world" I get:
22 > >
23 > > > # emerge -puvDN @world
24 > > >
25 > > > These are the packages that would be merged, in order:
26 > > >
27 > > > Calculating dependencies... done!
28 > > > [ebuild rR ] dev-lang/ghc-7.4.2:0/7.4.2::gentoo-haskell USE="binary doc gmp -ghcbootstrap -ghcmakebinary -llvm" 0 kB
29 > > > [ebuild rR ] dev-haskell/cabal-1.16.0.3:0/1.16.0.3 USE="-profile {-test}" 0 kB
30 > > > [ebuild rR ] dev-haskell/ghc-paths-0.1.0.9::gentoo-haskell USE="-profile" 0 kB
31 > > > [ebuild rR ] dev-haskell/xhtml-3000.2.1-r1:0/3000.2.1::gentoo-haskell USE="hoogle hscolour -doc -profile" 0 kB
32 > > > [ebuild rR ] dev-haskell/glib-0.12.4-r1:0/0.12.4 USE="doc hscolour -profile" 0 kB
33 > > > [ebuild rR ] dev-haskell/utf8-string-0.3.7-r1:0/0.3.7 USE="doc hscolour -profile" 0 kB
34 > > > [ebuild rR ] dev-haskell/deepseq-1.3.0.1:0/1.3.0.1::gentoo-haskell USE="doc hoogle hscolour -profile" 0 kB
35 > > > [ebuild rR ] dev-haskell/transformers-0.3.0.0-r1:0/0.3.0.0::gentoo-haskell USE="doc hoogle hscolour -profile" 0 kB
36 > > > [ebuild rR ] dev-haskell/mtl-2.1.1 USE="doc hscolour -profile" 0 kB
37 > > > [ebuild rR ] dev-haskell/text-0.11.3.1:0/0.11.3.1 USE="doc hscolour -developer -profile {-test}" 0 kB
38 > > > [ebuild rR ] dev-haskell/cairo-0.12.5.0-r1:0/0.12.5.0 USE="doc hscolour pdf postscript svg -profile" 0 kB
39 > > > [ebuild rR ] dev-haskell/gio-0.12.4-r1:0/0.12.4 USE="doc hscolour -profile" 0 kB
40 > > > [ebuild rR ] dev-haskell/pango-0.12.4-r1:0/0.12.4 USE="doc hscolour -profile" 0 kB
41 > > > [ebuild N ] dev-haskell/gtk-0.12.4-r1:2/0.12.4 USE="doc gio hscolour -profile" 0 kB
42 > > >
43 > > > Total: 14 packages (1 new, 13 reinstalls), Size of downloads: 0 kB
44 > > >
45 > > > * IMPORTANT: 5 news items need reading for repository 'gentoo'.
46 > > > * Use eselect news to read news items.
47 > >
48 > > (I haven't gotten gtk to install just yet.) I can't figure out what's
49 > > causing the rebuilds. If I rebuild them, then they continue wanting
50 > > to rebuild. If I instead put the unversioned atoms in world and stick
51 > > the following in package.mask, then the rebuilds disappear:
52 > >
53 > > >=dev-haskell/cabal-1.17
54 > > >=dev-haskell/mtl-2.1.2
55 > > >=dev-haskell/gtk-0.12.1
56 > > >=dev-haskell/hunit-1.2.4.3
57 > > >=dev-haskell/parsec-3.1.4
58 > > >=dev-lang/ghc-7.4.3
59 > >
60 > > I've attached the output of "emerge -puvD --changed-use --debug
61 > > @world" for the rebuilding case. I see:
62 > >
63 > > 13993 Exiting... (dev-lang/ghc-7.4.2::gentoo-haskell, ebuild scheduled for merge)
64 > >
65 > > 18458 @__auto_slot_operator_replace_installed__ depends on
66 > > ...
67 > > 18463 (dev-lang/ghc-7.4.2::gentoo-haskell, ebuild scheduled for merge) (buildtime_slot_op)
68 > >
69 > > 18697 forced reinstall atoms:
70 > > 18698 root: /
71 > > ...
72 > > 18711 atom: dev-lang/ghc:0
73 > >
74 > > but don't understand why. What's causing the rebuilds?
75 >
76 > Hia Bryan!
77 >
78 > It looks like very old portage bug:
79 > https://bugs.gentoo.org/show_bug.cgi?id=439688
80 >
81 > USE=doc might be a trigger of this bug (due to circular nature of doc haskell depends)
82 >
83 > What portage version you are using?
84 > Fresh portage is able to show which packages exactly trigger rebuild.
85
86 Interesting (and yes, old) bug. I'm on portage-2.2.8-r1 but maybe
87 this is a related issue. I tried disabling my "dev-haskell/* doc" USE
88 line, changed the world lines to exact versions, and moved them to a
89 set as Neil suggested, but I still get rebuilds, and Portage doesn't
90 say why.
91
92 (Fewer rebuilds now, independent of the USE=-doc change:)
93
94 > # emerge -puvD --changed-use @world
95 >
96 > These are the packages that would be merged, in order:
97 >
98 > Calculating dependencies... done!
99 > [ebuild rR ] dev-haskell/mtl-2.1.1 USE="hscolour -doc -profile" 0 kB
100 > [ebuild rR ] dev-haskell/gio-0.12.4-r1:0/0.12.4 USE="hscolour -doc -profile" 0 kB
101 > [ebuild rR ] dev-haskell/cairo-0.12.4-r1:0/0.12.4 USE="hscolour svg -doc -profile" 0 kB
102 > [ebuild rR ] dev-haskell/pango-0.12.4-r1:0/0.12.4 USE="hscolour -doc -profile" 0 kB
103 > [ebuild rR ] dev-haskell/gtk-0.12.4-r1:2/0.12.4 USE="gio hscolour -doc -profile" 0 kB
104 >
105 > Total: 5 packages (5 reinstalls), Size of downloads: 0 kB
106 >
107 > * IMPORTANT: 5 news items need reading for repository 'gentoo'.
108 > * Use eselect news to read news items.
109
110 Thanks!
111 Bryan
112
113 --
114 Go game editor :: http://khumba.net/projects/goatee :: AGPL, Haskell
115 I: [pulseaudio] main.c: Fresh high-resolution timers available! Bon appetit!