Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: USE flag question (not total newbie)
Date: Tue, 29 Nov 2016 09:53:53
Message-Id: 7eec2d4f-72de-fa56-3893-bb47f54d61e9@gmail.com
In Reply to: [gentoo-user] Re: USE flag question (not total newbie) by Ian Zimmerman
1 On 29/11/2016 04:15, Ian Zimmerman wrote:
2 > On 2016-11-29 01:55, Stroller wrote:
3 >
4 >>> [ebuild R ] dev-db/sqlitebrowser-3.8.0 USE="-qt5 {-test} (-qt4%*)"
5 >>>
6 >>> Does this mean the package will be rebuilt without any qt support at
7 >>> all? Why?
8 >>
9 >> No, I believe it means that the _option_ to enable or disable qt4 has
10 >> been removed.
11 >
12 > Well - notice the 'R'. So the package (or at least the version, see
13 > below) has not been changed since last time.
14 >
15 >> It could be that the package is always compiled with qt4, or that it's
16 >> always disabled, or that `make` detects it automatically. The best
17 >> things to look at are the ebuild and the changelog.
18 >
19 > There is no changelog for this package :-(
20 >
21 > In the ebuild, the only occurrence of the string "qt4" is:
22 >
23 > src_prepare() {
24 > # https://github.com/qingfengxia/qhexedit still bundled
25 > # x11-libs/qscintilla[qt4?,qt5?] still bundled
26 > # ^^^^
27 > find libs/{antlr-2.7.7,qcustomplot-source} -delete || die
28 > cmake-utils_src_prepare
29 > }
30 >
31 > I don't think this is responsible for the emerge output.
32 >
33 > Is it possible for the ebuild to change (in particular, for USE flags to
34 > be removed) without a change in version number?
35 >
36
37 Yes.
38
39 It's quite common to have a change in an ebuild that makes no difference
40 at all to the files on disk if it's already emerged. Bumping the version
41 in that case forces a rebuild everywhere to give exactly the same result
42 = not good.
43
44 If the package is not already merged on a given machine, then a new
45 install simply does what it should.
46
47 Suppose you had a situation where a package had qt4 in USE but because
48 of the way it works it's not actually possible to install it without
49 qt4. Merging it with USE=qt4 would always proceed, and with USE=-qt4
50 would always error out (you can get to this state gradually over time)
51
52 In that case, removing the flag entirely from USE would make zero
53 difference where the package is already installed, so no version bump is
54 needed.
55
56 All this depends on the judgement of the ebuild maintainer
57
58 --
59 Alan McKinnon
60 alan.mckinnon@×××××.com