Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Portage Output / End User Experience
Date: Mon, 09 Jul 2012 14:02:59
Message-Id: CAGfcS_=GHR7-6OFFH-Kfe47AgmFG4eJUadsZGSY=9aOw_Vzw1w@mail.gmail.com
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

Replies

Subject Author
Re: [gentoo-dev] Portage Output / End User Experience Peter Stuge <peter@×××××.se>
Re: [gentoo-dev] Portage Output / End User Experience Zac Medico <zmedico@g.o>