1 |
On Tue, 20 Jun 2006 14:22:21 -0700 |
2 |
Donnie Berkholz <spyderous@g.o> wrote: |
3 |
|
4 |
> Henrik Brix Andersen wrote: |
5 |
> > On Tue, Jun 20, 2006 at 03:11:38PM -0400, Caleb Tennis wrote: |
6 |
> >> I would personally like to stay with just the "qt" use flag. The |
7 |
> >> use flag will be for support of whichever version of Qt is |
8 |
> >> supported (v3 or v4) for the particular emerge. |
9 |
> > |
10 |
> > I would like a single 'qt' USE flag as well. If a package supports |
11 |
> > multiple versions of Qt, it can easily be tested which one is |
12 |
> > available at build time, see for instance |
13 |
> > net-wireless/wpa_supplicant-0.5.3. |
14 |
> > |
15 |
> >> In the cases where more than one version is supported, it should |
16 |
> >> be for Qt4 only. The Qt3 version should be a separate emerge. |
17 |
> >> For example, in the case of the poppler bindings, there should be |
18 |
> >> a poppler-bindings-qt3 package. |
19 |
> > |
20 |
> > How about using my idea from above (if USE=qt, then check which |
21 |
> > version(s) of Qt is available and compile in support for those)? |
22 |
> |
23 |
> That makes for highly irreproduceable builds and particularly screws |
24 |
> with building packages on one machine and expecting them to work on |
25 |
> another. Same as autodetecting in configure scripts, except worse |
26 |
> because now we're doing it too. |
27 |
|
28 |
+lots |
29 |
|
30 |
Ebuilds should not use the build system to make choices about the |
31 |
target, such choices should be USE based as far as possible. The build |
32 |
system should only be considered when ensuring sufficient support is |
33 |
available to perform the build. |
34 |
|
35 |
Always consider what happens if you build a binpkg (emerge -B) then try |
36 |
to install that binpkg on another machine (emerge -K). |
37 |
|
38 |
|
39 |
In this particular case, I think separate qt3 and qt4 use flags are |
40 |
sensible and clear. If both are specified, the package should build |
41 |
both UIs; if only one can be built the ebuild should reject the USE flag |
42 |
combinations it can't support. |
43 |
|
44 |
Problems with having 'qt' to mean latest and 'qt3' as specifically |
45 |
version 3 include: |
46 |
|
47 |
1) Target package depends on build system (assuming 'qt' is interpreted |
48 |
as 'qt3' if only that is installed, rather than pulling in qt4 if not |
49 |
already present). |
50 |
|
51 |
2) What 'qt' means changes as new releases are made - if/when qt5 |
52 |
becomes available, it means introducing a qt4 use flag and back-fitting |
53 |
to existing ebuilds that used 'qt' but don't build against qt5. |
54 |
|
55 |
-- |
56 |
Kevin F. Quinn |