1 |
After a little discussion in bug 425016 [1], I did an experiment. |
2 |
|
3 |
I created a fresh Gentoo install, set the profile to desktop/kde, and |
4 |
tried to emerge chromium and kde-meta. |
5 |
The immediate response was for portage to suggest setting -u and -N |
6 |
due to conflicts. |
7 |
|
8 |
So, I tried emerge -puDNv chromium kde-meta |
9 |
That said I needed to enable minizip for zlib and icu for libxml2. |
10 |
|
11 |
So, I did that via package.use, and tried again. Now I'm told: |
12 |
The following keyword changes are necessary to proceed: |
13 |
#required by dev-libs/libxslt-1.1.26-r3, required by x11-libs/libxcb-1.8.1, |
14 |
required by x11-libs/xcb-util-0.3.9, required by |
15 |
x11-libs/xcb-util-image-0.3.9 |
16 |
=dev-libs/libxml2-2.8.0-r1 ~amd64 |
17 |
|
18 |
The following USE changes are necessary to proceed: |
19 |
#required by net-libs/libsoup-2.36.1-r1, required by |
20 |
media-plugins/gst-plugins-soup-0.10.30, required by |
21 |
media-libs/phonon-gstreamer-4.5.0[network], required by |
22 |
media-libs/phonon-4.5.1-r1[gstreamer], required by kde-base/kdelibs-4.8.3, |
23 |
required by kde-base/libkcompactdisc-4.8.3, required by |
24 |
kde-base/kdemultimedia-meta-4.8.3, required by |
25 |
kde-base/kde-meta-4.8.3, required |
26 |
by kde-meta (argument) |
27 |
>=dev-libs/libxml2-2.8.0-r1 -icu |
28 |
|
29 |
emerge: there are no ebuilds built with USE flags to satisfy |
30 |
"dev-libs/libxml2:2[!icu?]". |
31 |
!!! One of the following packages is required to complete your request: |
32 |
- dev-libs/libxml2-2.7.8-r5::gentoo (Change USE: -icu) |
33 |
- x11-libs/qt-webkit-4.8.2::gentoo (Change USE: +icu) |
34 |
|
35 |
Now, a few interesting things here: |
36 |
1. On my regular kde desktop I don't have an unstable version of |
37 |
libxml2 - I'm not sure why I haven't gotten any complaints about that, |
38 |
but I'm being told to unmask it in this case. |
39 |
2. The first suggestion with libxml2 is to remove the icu flag, which |
40 |
the previous step told me to add. |
41 |
3. The very last line does get at what needs to be done here - enable |
42 |
+icu on qt-webkit. |
43 |
|
44 |
If I enable icu on qt-webkit only then it looks like it should work - |
45 |
it no longer asks to unmask libxml2 or unset the icu use flag. |
46 |
|
47 |
I realize that figuring out the right thing to do here isn't at all a |
48 |
trivial matter. However, this seems like a fairly convoluted thing |
49 |
for a new user who wants to run KDE and Chromium to go through. Those |
50 |
are both VERY mainstream packages. Is there any way to improve the |
51 |
portage logic to give better suggestions in this case, or some way to |
52 |
otherwise point new users in the right direction? |
53 |
|
54 |
Please note that I don't mean to pick on either qt or chromium |
55 |
maintainers here - they've all done what seems most logical from the |
56 |
standpoint of their own packages. However, it seems like the |
57 |
combination is not going to be nice on new users. |
58 |
|
59 |
It also seems like the current portage output is giving the user some |
60 |
contradictory and counterproductive advice. It seems like there are |
61 |
really only two possible choices |
62 |
1. The user could choose to not install chromium. |
63 |
2. The user could enable icu for qt-webkit. |
64 |
|
65 |
Doing anything else is just going to lead to some kind of cycle of |
66 |
errors until the user figures it out. Then they have to clear out |
67 |
who-knows-what from /etc/portage as they blindly followed |
68 |
instructions. |
69 |
|
70 |
Is there any way for portage to figure out that one of those is the |
71 |
eventual outcome, and then direct the user to the minimal changes to |
72 |
accomplish either? |
73 |
|
74 |
Rich |
75 |
|
76 |
1 - https://bugs.gentoo.org/show_bug.cgi?id=425016 |