Gentoo Archives: gentoo-user

From: David Haller <gentoo@×××××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] kactivitymanagerd endless update loop
Date: Sun, 14 Aug 2016 06:02:34
Message-Id: 20160814060201.xv5sqjrcjhkhq4fn@grusum.endjinn.de
In Reply to: [gentoo-user] kactivitymanagerd endless update loop by "Jörg Schaible"
1 Hello,
2
3 On Sat, 13 Aug 2016, Jörg Schaible wrote:
4 >my system is still KDE 4 with the help of kde-sunset.
5
6 I don't use that repo yet, but I've copied the KDE4 stuff (relevant
7 for me) into my local overlay.
8
9 >However, I face an endless loop installing kactivitymanagerd. The
10 >package has been in group kde-base for KDE 4 and so it is in
11 >kde-sunset. However in central portage tree it has been moved to
12 >group kde-plasma. The annoying part is now, that portage is
13 >constantly moving with each sync the installed
14 >kde-base/kactivitymanagerd-4.13.3-r1 into group kde-plasma with the
15 >result that portage tries to install kde-
16 >base/kactivitymanagerd-4.13.3-r1 as new package. Which fails, because
17 >portage detects that some install files already exist. So I have to
18 >uninstall kde-plasma/kactivitymanagerd-4.13.3-r1 and let portage
19 >install again kde-base/kactivitymanagerd-4.13.3-r1 until the next
20 >sync.
21
22 Same here.
23
24 >How can I stop portage from moving the package into another group?
25
26 First of all: the odd thing is that kactivitymanagerd seems to be
27 optional at runtime (e.g. kate runs without it, but might miss some
28 "activities" features). So be bold and just
29
30 # emerge --unmerge kde-plasma/kactivitymanagerd kde-base/kactivitymanagerd
31
32 and wait for stuff to "not work". It is only a runtime dependency of
33 kactivities after all ;) kate e.g. links to that kactivities lib, but
34 if you don't use that stuff, you won't actually need the
35 kactivitymanagerd daemon. I guess [0].
36
37 But a stopgap workaround for emerge that works here: add this
38 "dummy-package" to your local overlay /usr/local/portage [*]:
39
40 ====
41 # mkdir -p /usr/local/portage/kde-plasma/kactivitymanagerd
42 # cd /usr/local/portage/kde-plasma/kactivitymanagerd
43 # cat <<'EOF' > kactivitymanagerd-4.13.3-r1.ebuild
44 EAPI="5"
45 DESCRIPTION="KDE4 Activity Manager Daemon dummy ebuild"
46 KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
47 SLOT="4/4.13"
48 DEPEND="=kde-base/kactivitymanagerd-${PVR}"
49 EOF
50 # repoman -v manifest
51 # chown -cR portage.portage /usr/local/portage
52 ====
53 (adjust the portage user as neccessary)
54
55 The KEYWORDS are from the kde-base ebuild, the rest is the bare minimum.
56
57 Huh, just now I wonder if a link would work... Nope. A simple symlink
58 kde-plasma/kactivitymanagerd/kactivitymanagerd-4.13.3-r1.ebuild ->
59 ../../kde-base/kactivitymanagerd/kactivitymanagerd-4.13.3-r1.ebuild
60 does not work[**].
61
62 So, with the above dummy package:
63
64 ====
65 # emerge --unmerge kde-plasma/kactivitymanagerd kde-base/kactivitymanagerd
66 [..]
67 # emerge --with-bdeps y --pretend -t kde-base/kactivitymanagerd
68 Calculating dependencies ..... done!
69 [ebuild N ] kde-base/kactivitymanagerd-4.13.3-r1 USE="(-aqua)"
70
71 # emerge --with-bdeps y --pretend -t kde-plasma/kactivitymanagerd
72 Calculating dependencies . ... ... done!
73 [ebuild N ] kde-plasma/kactivitymanagerd-4.13.3-r1
74 [ebuild N ] kde-base/kactivitymanagerd-4.13.3-r1 USE="(-aqua)"
75
76 # emerge --with-bdeps y --pretend -t kactivitymanagerd
77 [..trimming..]
78 [ Results for search key : kactivitymanagerd ]
79 * kde-base/kactivitymanagerd
80 Latest version available: 4.13.3-r1
81 Latest version installed: [ Not Installed ]
82 Description: KDE Activity Manager Daemon
83 * kde-plasma/kactivitymanagerd
84 Latest version available: 4.13.3-r1
85 Latest version installed: [ Not Installed ]
86 Description: KDE4 Activity Manager Daemon dummy ebuild
87 [..]
88 !!! The short ebuild name "kactivitymanagerd" is ambiguous. Please specify
89 !!! one of the above fully-qualified ebuild names instead.
90 # emerge --with-bdeps y kde-plasma/kactivitymanagerd
91 [..]
92 ====
93
94 That's the way I like it ;)
95
96 It also quietens 'emerge @world' and 'eix kactivitymanagerd' like
97 thus:
98
99 ====
100 # eix kactivitymanagerd
101 [I] kde-base/kactivitymanagerd [1]
102 Available versions: (4) 4.13.3-r1:4/4.13
103 {aqua}
104 Installed versions: 4.13.3-r1:4/4.13(09:43:13 PM 08/13/2016)(-aqua)
105 Homepage: https://www.kde.org/
106 Description: KDE Activity Manager Daemon
107
108 [I] kde-plasma/kactivitymanagerd
109 Available versions:
110 (4) 4.13.3-r1:4/4.13[1]
111 (5) [m]5.6.5 [m](~)5.7.3
112 {debug}
113 Installed versions: 4.13.3-r1:4/4.13[1](07:02:42 AM 08/14/2016)
114 Homepage: https://www.kde.org/
115 Description: System service to manage user's activities, track the usage patterns etc.
116
117 [1] "local" /usr/local/portage
118
119 Found 2 matches
120 ====
121
122 Hah, I even faked an update "kde-plasma/kactivitymanagerd-5.7.3-r1"
123 and it seems to work as intended, i.e. to break the cycle
124
125 -> install kde-base/kactivitymanagerd:4
126 -> update
127 -> kde-base/kactivitymanagerd:4 gone and kde-plasma/kactivitymanagerd:4
128 apparently installed
129 -> emerge wants kde-plasma/kactivitymanagerd:5
130
131 I guess the "magic move" of the installed kactivitymanagerd:4 from
132 kde-base/ to kde-plasma/ is caused by some weird eclass arcanities.
133
134 ====
135 # emerge --with-bdeps y --pretend kde-plasma/kactivitymanagerd:5
136 [..]
137 [ebuild NS #] kde-plasma/kactivitymanagerd-5.7.3-r1:5::gentoo [4.13.3-r1:4/4.13::local] USE="-debug" 79 KiB
138
139 # emerge --with-bdeps y --pretend kde-plasma/kactivitymanagerd
140 [..]
141 [ebuild R ] kde-plasma/kactivitymanagerd-4.13.3-r1:4/4.13::local 0 KiB
142 ====
143
144 The dummy-kde-plasma/-ebuild seems to break that odd behaviour ;) I
145 guess it'll get sorted out over time.
146
147 HTH,
148 -dnh
149
150 [0] I don't use KDE, but do use quite a lot of KDE apps like k3b,
151 kaffeine, various games, and whatnot.
152
153 [*] ==== /etc/portage/repos.conf/local.conf ====
154 [local]
155 location = /usr/local/portage
156 masters = gentoo
157 auto-sync = no
158 priority = 99
159 ====
160
161 [**] with just a symlink (plus Manifest):
162
163 # emerge --with-bdeps y --pretend -t kde-plasma/kactivitymanagerd
164 Calculating dependencies ....... done!
165 [nomerge ] kde-plasma/kactivitymanagerd-5.7.3:5::gentoo [4.13.3-r1:4/4.13.3::local] USE="-debug"
166 [blocks b ] kde-plasma/kactivitymanagerd:4 ("kde-plasma/kactivitymanagerd:4" is blocking kde-plasma/kactivitymanagerd-5.7.3)
167 [uninstall ] kde-plasma/kactivitymanagerd-4.13.3-r1:4/4.13.3::local
168 [..]
169
170 or
171
172 # emerge --with-bdeps y --pretend -t kde-plasma/kactivitymanagerd:4
173 Calculating dependencies ...... done!
174
175 !!! All ebuilds that could satisfy "kde-plasma/kactivitymanagerd:4" have been masked.
176 !!! One of the following masked packages is required to complete your request:
177 - kde-plasma/kactivitymanagerd-4.13.3-r1::local (masked by: invalid: SLOT: invalid value: '', SLOT: undefined)
178
179 --
180 It is practically impossible to teach good programming to
181 students that have had a prior exposure to BASIC: as potential
182 programmers they are mentally mutilated beyond hope of
183 regeneration. -- Edsger Wybe Dijkstra