1 |
neysx 08/04/26 19:21:00 |
2 |
|
3 |
Added: kde-config.xml kde-split-ebuilds.xml |
4 |
Log: |
5 |
#219345 Kra^H^HDE docs moved to its project space. Good riddance. |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/proj/en/desktop/kde/kde-config.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: kde-config.xml |
14 |
=================================================================== |
15 |
<?xml version='1.0' encoding='UTF-8'?> |
16 |
|
17 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/desktop/kde/kde-config.xml,v 1.1 2008/04/26 19:20:59 neysx Exp $ --> |
18 |
|
19 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
20 |
|
21 |
<guide> |
22 |
|
23 |
<title>The KDE Configuration HOWTO</title> |
24 |
|
25 |
<author title="Author"> |
26 |
<mail link="swift@g.o">Sven Vermeulen</mail> |
27 |
</author> |
28 |
<author title="Editor"> |
29 |
<mail link="greg_g@g.o">Gregorio Guidi</mail> |
30 |
</author> |
31 |
|
32 |
<abstract> |
33 |
One of the most used desktop environments is KDE. This guide tries to describe |
34 |
all aspects of KDE, including installation, configuration and usage. |
35 |
</abstract> |
36 |
|
37 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
38 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
39 |
<license/> |
40 |
|
41 |
<version>1.22</version> |
42 |
<date>2007-06-23</date> |
43 |
|
44 |
<chapter> |
45 |
<title>What is the K Desktop Environment?</title> |
46 |
<section> |
47 |
<title>The Project</title> |
48 |
<body> |
49 |
|
50 |
<p> |
51 |
The <uri link="http://www.kde.org">KDE Project</uri> is a free software project |
52 |
dedicated to the development of KDE, an open source graphical desktop |
53 |
environment for Linux and Unix workstations. The development is carried out by |
54 |
several hundred software engineers from all over the world committed to free |
55 |
software development. See also <uri |
56 |
link="http://www.kde.org/whatiskde/project.php">What is the KDE Project</uri>. |
57 |
</p> |
58 |
|
59 |
</body> |
60 |
</section> |
61 |
<section> |
62 |
<title>The Software</title> |
63 |
<body> |
64 |
|
65 |
<p> |
66 |
The K Desktop Environment is an easy-to-use desktop environment built around a |
67 |
well thought out application framework to allow for application |
68 |
interoperability, drag n drop and so on. Apart from the essential components, |
69 |
the KDE environment also provides ready-to-use applications for 101 tasks: file |
70 |
management, Internet browsing, office applications, e-mail handling, ... |
71 |
Everything is covered by the KDE project. |
72 |
</p> |
73 |
|
74 |
<p> |
75 |
The KDE environment is available in more than 70 languages and has an immense |
76 |
user base. For those interested, there are lots of <uri |
77 |
link="http://www.kde.org/screenshots/">screen shots</uri> available. For more |
78 |
information on KDE, read the <uri link="http://www.kde.org/whatiskde/">What is |
79 |
KDE?</uri> article on <uri link="http://www.kde.org">KDE.org</uri>. |
80 |
</p> |
81 |
|
82 |
</body> |
83 |
</section> |
84 |
<section> |
85 |
<title>The Community</title> |
86 |
<body> |
87 |
|
88 |
<p> |
89 |
Many KDE-based community sites exist. On <uri |
90 |
link="http://www.kdenews.org">KDEnews.org</uri> you'll find the latest news on |
91 |
KDE generally. <uri link="http://www.kdedevelopers.org">KDEdevelopers.org</uri> |
92 |
is specifically focussed on KDE development, while <uri |
93 |
link="http://www.kde-forum.org">KDE-forum</uri> is better suited for the large |
94 |
masses. More links can be found on the <uri |
95 |
link="http://www.kde.org/family/">KDE Family page</uri>. |
96 |
</p> |
97 |
|
98 |
</body> |
99 |
</section> |
100 |
</chapter> |
101 |
<chapter> |
102 |
<title>Installing KDE</title> |
103 |
<section> |
104 |
<title>What do you need?</title> |
105 |
<body> |
106 |
|
107 |
<p> |
108 |
If you're interested in installing KDE (or KDE support), you will have to make |
109 |
sure that your USE variable contains the <c>kde</c> flag, and either the |
110 |
<c>qt3</c> or <c>qt4</c> flag (or both). Qt is the graphical widget library that |
111 |
KDE uses, and <c>qt3</c> is for version 3.x, while <c>qt4</c> will build support |
112 |
for the newer Qt 4.x library. Neither USE flag is necessary for installing KDE. |
113 |
However, there are a few packages that offer you the choice of using either the |
114 |
<c>qt3</c> or <c>qt4</c> libraries. |
115 |
</p> |
116 |
|
117 |
<p> |
118 |
You should also add <c>hal</c> to your USE variable now if you want to add support |
119 |
for mounting devices automatically as explained below in |
120 |
<uri link="#kde_device_mounting">Setup KDE to Mount Devices</uri>. |
121 |
</p> |
122 |
|
123 |
<p> |
124 |
If you do not want to use <uri link="http://www.arts-project.org/">aRts</uri> |
125 |
for your all-around multimedia, disable the <c>arts</c> USE flag (it is active |
126 |
by default). |
127 |
</p> |
128 |
|
129 |
<note> |
130 |
The Gentoo 2006.1 release introduced a number of new profiles, including the |
131 |
<c>desktop</c> subprofile. You may want to switch to this subprofile, if it |
132 |
exists for your architecture, as it contains a number of default USE flag |
133 |
changes. Please read the <uri link="/doc/en/gentoo-upgrading.xml">Gentoo |
134 |
Upgrading Guide</uri> to learn how to switch profiles. |
135 |
</note> |
136 |
|
137 |
</body> |
138 |
</section> |
139 |
<section> |
140 |
<title>Installing KDE as Split Packages</title> |
141 |
<body> |
142 |
|
143 |
<note> |
144 |
We recommend that you use the split packages to install KDE (rather than the |
145 |
monolithic packages, though both methods will be presented), as shown below. |
146 |
</note> |
147 |
|
148 |
<p> |
149 |
If you want to have more control on what parts of KDE you install, you have the |
150 |
possibility to install just the single KDE applications that you need. To know |
151 |
more about the ebuilds for the individual KDE programs see the <uri |
152 |
link="/doc/en/kde-split-ebuilds.xml">Split Ebuilds HOWTO</uri>. |
153 |
</p> |
154 |
|
155 |
<p> |
156 |
Knowing what to install and what not is a tad more difficult with split ebuilds. |
157 |
However, Gentoo does provide a few meta packages that will pull in a certain |
158 |
amount of KDE packages for you: |
159 |
</p> |
160 |
|
161 |
<ul> |
162 |
<li> |
163 |
If you want a full-blown KDE installation, install <c>kde-meta</c>. |
164 |
This package will pull in all KDE applications as dependencies. |
165 |
</li> |
166 |
<li> |
167 |
If you want a basic KDE installation, install <c>kdebase-startkde</c>. You |
168 |
can always install additional KDE applications when you want. |
169 |
</li> |
170 |
<li> |
171 |
If you want something in between <c>kde-meta</c> and |
172 |
<c>kdebase-startkde</c>, install <c>kdebase-meta</c>. This will install a |
173 |
few extra applications such as <c>konsole</c> and <c>kdm</c>. |
174 |
</li> |
175 |
</ul> |
176 |
|
177 |
<p> |
178 |
These three possibilities are the extreme limits; you are probably interested in |
179 |
a safe mixture of the two :) To make your decision process somewhat easier, the |
180 |
following table gives a short, very incomplete yet useful overview of some of |
181 |
the available KDE packages. |
182 |
</p> |
183 |
|
184 |
<p> |
185 |
These packages are <e>not</e> part of the <c>kdebase-startkde</c> installation. |
186 |
</p> |
187 |
|
188 |
<table> |
189 |
<tr> |
190 |
<th>Ebuild name</th> |
191 |
<th>Description</th> |
192 |
</tr> |
193 |
<tr> |
194 |
<ti><c>akregator</c></ti> |
195 |
<ti> |
196 |
The application to easily manage and browse internet RSS feeds. |
197 |
</ti> |
198 |
</tr> |
199 |
<tr> |
200 |
<ti><c>juk</c></ti> |
201 |
<ti> |
202 |
The playlist oriented media player, with a look and feel resembling Apple's |
203 |
iTunes. |
204 |
</ti> |
205 |
</tr> |
206 |
<tr> |
207 |
<ti><c>kate</c></ti> |
208 |
<ti> |
209 |
The <uri link="http://kate.kde.org/">KDE Advanced Text Editor</uri>, a |
210 |
multi-document editor with syntax highlighting, code folding and more. |
211 |
</ti> |
212 |
</tr> |
213 |
<tr> |
214 |
<ti><c>kmail</c></ti> |
215 |
<ti> |
216 |
Organize your e-mails efficiently with <uri |
217 |
link="http://kmail.kde.org/">KMail</uri>. |
218 |
</ti> |
219 |
</tr> |
220 |
<tr> |
221 |
<ti><c>knetattach</c></ti> |
222 |
<ti> |
223 |
With KNetAttach (also known as the <e>Network Folder Wizard</e>), you can |
224 |
easily add additional network folders to your KDE desktop. |
225 |
</ti> |
226 |
</tr> |
227 |
<tr> |
228 |
<ti><c>knode</c></ti> |
229 |
<ti> |
230 |
KNode is the powerful KDE newsreader. |
231 |
</ti> |
232 |
</tr> |
233 |
<tr> |
234 |
<ti><c>konsole</c></ti> |
235 |
<ti> |
236 |
<uri link="http://konsole.kde.org/">Konsole</uri> is the KDE terminal |
237 |
emulator. |
238 |
</ti> |
239 |
</tr> |
240 |
<tr> |
241 |
<ti><c>kontact</c></ti> |
242 |
<ti> |
243 |
<uri link="http://kontact.kde.org/">Kontact</uri> is the KDE Personal |
244 |
Information Manager, helping you manage your communications more easily, |
245 |
organize your work faster and work together more closely. |
246 |
</ti> |
247 |
</tr> |
248 |
<tr> |
249 |
<ti><c>kopete</c></ti> |
250 |
<ti> |
251 |
<uri link="http://kopete.kde.org/index.php">Kopete</uri> is KDE's Instant |
252 |
Messenger supporting all known IM protocols. |
253 |
</ti> |
254 |
</tr> |
255 |
<tr> |
256 |
<ti><c>korganizer</c></ti> |
257 |
<ti> |
258 |
<uri link="http://korganizer.kde.org/">Korganizer</uri> is the calendar and |
259 |
scheduling application for KDE. |
260 |
</ti> |
261 |
</tr> |
262 |
<tr> |
263 |
<ti><c>kpdf</c></ti> |
264 |
<ti> |
265 |
With <uri link="http://kpdf.kde.org/">KPDF</uri> you can view and work with |
266 |
PDF files. It has very unique features which enhance your viewing pleasure |
267 |
enormously. |
268 |
</ti> |
269 |
</tr> |
270 |
<tr> |
271 |
<ti><c>kscd</c></ti> |
272 |
<ti> |
273 |
kscd is a graphical CD player for KDE. |
274 |
</ti> |
275 |
</tr> |
276 |
<tr> |
277 |
<ti><c>ksnapshot</c></ti> |
278 |
<ti> |
279 |
With ksnapshot you can take screen shots from your desktop. |
280 |
</ti> |
281 |
</tr> |
282 |
<tr> |
283 |
<ti><c>kuickshow</c></ti> |
284 |
<ti> |
285 |
The KDE kuickshow application is able to browse amongst and display |
286 |
various image formats. |
287 |
</ti> |
288 |
</tr> |
289 |
</table> |
290 |
|
291 |
<p> |
292 |
And this is just the tip of the iceberg. If you want to know more about all |
293 |
possible KDE applications, take a look inside the <uri |
294 |
link="http://packages.gentoo.org/category/kde-base?full_cat">kde-base |
295 |
category</uri>. Their function should be available in the description. |
296 |
</p> |
297 |
|
298 |
<p> |
299 |
To preview what emerge would install, use <c>emerge -p</c> together with the |
300 |
<c>less</c> pager, otherwise you might not be able to see all packages. |
301 |
</p> |
302 |
|
303 |
<pre caption="Previewing the kde installation"> |
304 |
<comment>(Substitute with your choice of package(s))</comment> |
305 |
# <i>emerge -p kdebase-startkde | less</i> |
306 |
</pre> |
307 |
|
308 |
<p> |
309 |
If you are happy with the proposed result, leave the <c>-p</c> out. This |
310 |
building process will take some time as KDE is a big environment. Don't be |
311 |
surprised when your system does not finish immediately. |
312 |
</p> |
313 |
|
314 |
</body> |
315 |
</section> |
316 |
<section> |
317 |
<title>Installing KDE as Monolithic Packages</title> |
318 |
<body> |
319 |
|
320 |
<p> |
321 |
Although the split ebuilds are the recommended way to install KDE, you do have |
322 |
the option of installing the monolithic ebuilds. |
323 |
</p> |
324 |
|
325 |
<p> |
326 |
The KDE project releases new versions of its desktop environment as a set of |
327 |
about 16 big packages, each containing many applications (thus they are called |
328 |
"monolithic"), so you need to decide which of these packages you want to |
329 |
install. |
330 |
</p> |
331 |
|
332 |
<p> |
333 |
If you want to see what it looks like to have all these packages installed, |
334 |
just check yourself: |
335 |
</p> |
336 |
|
337 |
<pre caption="Listing all packages KDE would install"> |
338 |
# <i>emerge --pretend kde | less</i> |
339 |
</pre> |
340 |
|
341 |
<p> |
342 |
If you're not interested in installing all those packages, you can emerge them |
343 |
individually. You will most definitely want the <c>kdebase</c> package as it |
344 |
contains KDE's base packages and required dependencies. The following table |
345 |
lists some of the other available packages that you can install. |
346 |
</p> |
347 |
|
348 |
<table> |
349 |
<tr> |
350 |
<th>Package</th> |
351 |
<th>Description</th> |
352 |
</tr> |
353 |
<tr> |
354 |
<ti>kdeaccessibility</ti> |
355 |
<ti> |
356 |
Accessibility related programs, managed by the <uri |
357 |
link="http://accessibility.kde.org">KDE Accessibility Project</uri> |
358 |
</ti> |
359 |
</tr> |
360 |
<tr> |
361 |
<ti>kdeadmin</ti> |
362 |
<ti> |
363 |
KDE Administrative tools, such as <c>KCron</c> (Task Scheduling), |
364 |
<c>KUser</c> (User Management) and <c>KDat</c> (Backup Management). |
365 |
</ti> |
366 |
</tr> |
367 |
<tr> |
368 |
<ti>kdeartwork</ti> |
369 |
<ti> |
370 |
Various art-related stuff, including screen savers and themes. See also <uri |
371 |
link="http://www.kde-artists.org/">www.kde-artists.org</uri> for more KDE related |
372 |
artwork. |
373 |
</ti> |
374 |
</tr> |
375 |
<tr> |
376 |
<ti>kdeedu</ti> |
377 |
<ti> |
378 |
Educational KDE applications focused on school children aged 3 to 18. See |
379 |
also the <uri link="http://edu.kde.org">KDE Edu Project</uri>. |
380 |
</ti> |
381 |
</tr> |
382 |
<tr> |
383 |
<ti>kdegames</ti> |
384 |
<ti> |
385 |
Various KDE-developed games. More information can be found at the <uri |
386 |
link="http://games.kde.org">KDE Games Center</uri>. |
387 |
</ti> |
388 |
</tr> |
389 |
<tr> |
390 |
<ti>kdegraphics</ti> |
391 |
<ti> |
392 |
Graphic-related tools for KDE, including <c>KSnapshot</c> (Screenshot |
393 |
Software), <c>KolourPaint</c> (Simple Graphical Editor), <c>Kpdf</c> |
394 |
(PDF viewer), <c>KIconEdit</c> (Icon Editor) and <c>KPovModeler</c> |
395 |
(a 3D Modeler). |
396 |
</ti> |
397 |
</tr> |
398 |
<tr> |
399 |
<ti>kdemultimedia</ti> |
400 |
<ti> |
401 |
Multimedia-related applications, including support for CD, MP3, DVD, |
402 |
sequencing, sound and video applications. More information can be found on |
403 |
the <uri link="http://multimedia.kde.org">KDE Multimedia Project</uri> |
404 |
web site. |
405 |
</ti> |
406 |
</tr> |
407 |
<tr> |
408 |
<ti>kdenetwork</ti> |
409 |
<ti> |
410 |
Network-related applications such as <c>Kopete</c> (Multi-Protocol Instant |
411 |
Messaging), <c>kppp</c> (Dial-In) and <c>KSirc</c> (IRC client). Note that |
412 |
<c>konqueror</c> (File Manager <e>and</e> Browser) is part of <c>kdebase</c>! |
413 |
</ti> |
414 |
</tr> |
415 |
<tr> |
416 |
<ti>kdepim</ti> |
417 |
<ti> |
418 |
Personal Information Management tools, such as <c>KOrganizer</c> (Journal), |
419 |
<c>KAddressbook</c> (Address book), <c>Kontact</c> (Groupware) and |
420 |
<c>KMail</c> (E-mail). More information online at the <uri |
421 |
link="http://pim.kde.org">KDE PIM Project</uri> web site. |
422 |
</ti> |
423 |
</tr> |
424 |
<tr> |
425 |
<ti>kdesdk</ti> |
426 |
<ti> |
427 |
Code development tools, including <c>KBabel</c> (Translation tool), |
428 |
<c>KBugBuster</c> (Front end for KDE bug tracking) and <c>Kompare</c> (GUI |
429 |
to see differences between files). |
430 |
</ti> |
431 |
</tr> |
432 |
<tr> |
433 |
<ti>kdetoys</ti> |
434 |
<ti> |
435 |
Various toys to amuse yourself with when you're waiting for your pizza |
436 |
delivery. You'll find applets such as <c>eyesapplet</c> and |
437 |
<c>fifteenapplet</c>, but also nifty tools like <c>amor</c> which doesn't do |
438 |
much except eat resources :) |
439 |
</ti> |
440 |
</tr> |
441 |
<tr> |
442 |
<ti>kdeutils</ti> |
443 |
<ti> |
444 |
Graphical system tools such as <c>kcalc</c> (Calculator), <c>kdessh</c> (SSH |
445 |
terminal), <c>kfloppy</c> (Floppy-related actions), etc. |
446 |
</ti> |
447 |
</tr> |
448 |
<tr> |
449 |
<ti>kde-i18n</ti> |
450 |
<ti> |
451 |
Internationalization files for KDE. This includes translated |
452 |
documentation. See also the <uri link="http://i18n.kde.org">KDE i18n |
453 |
project</uri> for more information. |
454 |
</ti> |
455 |
</tr> |
456 |
</table> |
457 |
|
458 |
<p> |
459 |
For instance, to install KDE with only the network- and admin-related |
460 |
applications: |
461 |
</p> |
462 |
|
463 |
<pre caption="Example installation of individual KDE components"> |
464 |
# <i>emerge kdebase kdenetwork kdeadmin</i> |
465 |
</pre> |
466 |
|
467 |
<p> |
468 |
In case you wonder: compiling KDE does take a while. |
469 |
</p> |
470 |
|
471 |
</body> |
472 |
</section> |
473 |
<section> |
474 |
<title>External KDE applications</title> |
475 |
<body> |
476 |
|
477 |
<p> |
478 |
The number of KDE applications is not limited to those shipped with the |
479 |
official KDE releases, but includes hundreds of other applications that use the |
480 |
KDE framework and libraries. Here we list just a few of the most popular ones. |
481 |
</p> |
482 |
|
483 |
<table> |
484 |
<tr> |
485 |
<th>Ebuild name</th> |
486 |
<th>Description</th> |
487 |
</tr> |
488 |
<tr> |
489 |
<ti><c>koffice</c></ti> |
490 |
<ti> |
491 |
<uri link="http://www.koffice.org/">KOffice</uri> is the comprehensive KDE |
492 |
office suite, featuring applications for word processing (KWord), |
493 |
spreadsheet calculations (KSpread), presentation (KPresenter), image |
494 |
manipulation (Krita), database management (Kexi) and much more. |
495 |
Just as KDE can be installed through the <c>kde</c> or <c>kde-meta</c> |
496 |
ebuilds, you can install KOffice as a single package (<c>koffice</c>) or as |
497 |
a set of individual packages (<c>koffice-meta</c>). |
498 |
</ti> |
499 |
</tr> |
500 |
<tr> |
501 |
<ti><c>amarok</c></ti> |
502 |
<ti> |
503 |
With <uri link="http://amarok.kde.org/">amaroK</uri> you have a powerful |
504 |
music player for Unix/Linux. |
505 |
</ti> |
506 |
</tr> |
507 |
<tr> |
508 |
<ti><c>k3b</c></ti> |
509 |
<ti> |
510 |
<uri link="http://www.k3b.org/">K3B</uri> is a complete CD/DVD burning |
511 |
utility with Audio support. Burning CDs was never this easy. |
512 |
</ti> |
513 |
</tr> |
514 |
<tr> |
515 |
<ti><c>kaffeine</c></ti> |
516 |
<ti> |
517 |
<uri link="http://kaffeine.sourceforge.net/">Kaffeine</uri> is a full |
518 |
featured multimedia-player for KDE. |
519 |
</ti> |
520 |
</tr> |
521 |
</table> |
522 |
|
523 |
</body> |
524 |
</section> |
525 |
<section> |
526 |
<title>First Impressions</title> |
527 |
<body> |
528 |
|
529 |
<p> |
530 |
Let us have a look at the result. Your mother has probably told you |
531 |
never to work as root. So we'll take your mother's advice and test |
532 |
KDE as a user. Log in as your user and configure your session so it starts KDE |
533 |
when you issue <c>startx</c>. You can do this by writing <c>exec startkde</c> in |
534 |
<path>~/.xinitrc</path> (see also |
535 |
<uri link="/doc/en/xorg-config.xml#using_startx">Using startx</uri> in the |
536 |
<uri link="/doc/en/xorg-config.xml">X Server Configuration Howto</uri>): |
537 |
</p> |
538 |
|
539 |
<pre caption="Configuring your local session"> |
540 |
$ <i>echo "exec startkde" > ~/.xinitrc</i> |
541 |
</pre> |
542 |
|
543 |
<p> |
544 |
Now start up your graphical environment by running <c>startx</c>. |
545 |
</p> |
546 |
|
547 |
<pre caption="Starting KDE"> |
548 |
$ <i>startx</i> |
549 |
</pre> |
550 |
|
551 |
<p> |
552 |
You will be greeted by an application called <c>KPersonalizer</c>. |
553 |
Congratulations, let's now take a look at how we can configure KDE... |
554 |
</p> |
555 |
|
556 |
</body> |
557 |
</section> |
558 |
</chapter> |
559 |
<chapter> |
560 |
<title>Configuring KDE</title> |
561 |
<section> |
562 |
<title>KPersonalizer</title> |
563 |
<body> |
564 |
|
565 |
<p> |
566 |
KPersonalizer is the application that configures KDE for you. It's a very |
567 |
useful wizard that allows you to quickly change KDE to suit your own needs. When |
568 |
you run KDE for the first time, KPersonalizer is automatically started. |
569 |
</p> |
570 |
|
571 |
<p> |
572 |
The first input KPersonalizer requests is your country and the language of your |
573 |
choice. As we haven't installed the necessary language packs on your system yet, |
574 |
the available languages will be very slim -- you'll probably have only English |
575 |
to choose from. Don't mind this, we will change the language later on (if |
576 |
applicable of course). |
577 |
</p> |
578 |
|
579 |
<p> |
580 |
The second choice you're offered is the <e>System Behavior</e>. This includes |
581 |
window activation, mouse selection, etc. When you select a certain behavior |
582 |
its description is shown to help you choose the behavior you like. If you're |
583 |
uncertain, don't panic -- you are able to change the behavior whenever you |
584 |
want. |
585 |
</p> |
586 |
|
587 |
<p> |
588 |
Next, KPersonalizer asks for the amount of eye-candy it should activate. The |
589 |
more eye-candy you want, the funkier your KDE will be, but the more your CPU |
590 |
will be stressed. However, this should be taken with a bit of salt - on a 600 |
591 |
Mhz CPU with 128 Mb of memory, enabling full eye-candy still results in a |
592 |
responsive system. |
593 |
</p> |
594 |
|
595 |
<p> |
596 |
Finally, KDE asks what style you want to use. A style defines the window |
597 |
decoration, theme, button layout, etc. Try several styles to see which one you |
598 |
like the most. Did we already mention KDE is fully configurable? |
599 |
</p> |
600 |
|
601 |
<p> |
602 |
Now sit back and enjoy -- KDE will start up and you'll be greeted by a nice, |
603 |
clean, functional desktop environment. |
604 |
</p> |
605 |
|
606 |
</body> |
607 |
</section> |
608 |
<section> |
609 |
<title>Installing Language Packs</title> |
610 |
<body> |
611 |
|
612 |
<p> |
613 |
If English isn't your native language or you're just interested in working with |
614 |
KDE in a foreign language, please read on. We will install the language pack(s) |
615 |
for the language(s) you want to use with KDE. |
616 |
</p> |
617 |
|
618 |
<p> |
619 |
Language packs are contained in the <c>kde-i18n</c> package. To install the |
620 |
language packs of your choice, you need to set the <c>LINGUAS</c> variable to |
621 |
the language(s) you want to use. It is advisable to set this variable in |
622 |
<path>/etc/make.conf</path> so that updating your system doesn't remove the |
623 |
language packs you want. |
624 |
</p> |
625 |
|
626 |
<pre caption="Setting LINGUAS in /etc/make.conf"> |
627 |
# <i>nano -w /etc/make.conf</i> |
628 |
<comment>(As an example, we install the language packs for Dutch (nl) |
629 |
and French (fr))</comment> |
630 |
LINGUAS="nl fr" |
631 |
</pre> |
632 |
|
633 |
<p> |
634 |
Now run <c>emerge kde-i18n</c> to install the language packs. Once settled, fire |
635 |
up KDE, then start the KDE Control Center (K-menu > Control Center). This is |
636 |
<e>the</e> application where you can control almost every aspect of KDE. It is |
637 |
much more extended than KPersonalizer. |
638 |
</p> |
639 |
|
640 |
<p> |
641 |
To change your language, go to <c>Regional & Accessibility</c>, |
642 |
<c>Country/Region & Languages</c>. Then add the language(s) of your choice. |
643 |
To see your (localized) KDE in its full glory, log out and in again, and enjoy. |
644 |
</p> |
645 |
|
646 |
</body> |
647 |
</section> |
648 |
<section> |
649 |
<title>Graphical Login</title> |
650 |
<body> |
651 |
|
652 |
<p> |
653 |
If you want to use <c>kdm</c> as graphical login manager (which means you don't |
654 |
have to login to a terminal and type <c>startx</c> every time) you need to |
655 |
first emerge it, and then edit a configuration file and set up your system so |
656 |
that it enters graphical mode after boot, as explained below. |
657 |
</p> |
658 |
|
659 |
<note> |
660 |
It's possible that you already have <c>kdm</c> installed for various reasons. |
661 |
If you get an error with packages blocking <c>kde-base/kdm</c>, proceed with |
662 |
the next section. |
663 |
</note> |
664 |
|
665 |
<pre caption="Installing kdm"> |
666 |
# <i>emerge --ask kdm</i> |
667 |
</pre> |
668 |
|
669 |
<p> |
670 |
In <path>/etc/conf.d/xdm</path>, set the <c>DISPLAYMANAGER</c> variable to |
671 |
<c>kdm</c>. |
672 |
</p> |
673 |
|
674 |
<pre caption="Setting DISPLAYMANAGER in /etc/conf.d/xdm"> |
675 |
# <i>nano -w /etc/conf.d/xdm</i> |
676 |
<comment>(Edit the following variable)</comment> |
677 |
DISPLAYMANAGER="kdm" |
678 |
</pre> |
679 |
|
680 |
<p> |
681 |
Finish up by adding <c>xdm</c> to the default runlevel: |
682 |
</p> |
683 |
|
684 |
<pre caption="Adding xdm to the default runlevel"> |
685 |
# <i>rc-update add xdm default</i> |
686 |
</pre> |
687 |
|
688 |
<p> |
689 |
When you reboot your system, it will use KDM as the graphical login manager. |
690 |
</p> |
691 |
|
692 |
<p> |
693 |
KDM will provide a list of available sessions to choose from, including KDE - |
694 |
of course - and including all the other sessions installed on your system, |
695 |
which KDM finds by looking in <path>/usr/share/xsessions/</path>. Thus, if you |
696 |
use KDM, you don't need to edit <path>~/.xinitrc</path>. |
697 |
</p> |
698 |
|
699 |
</body> |
700 |
</section> |
701 |
<section id="kde_device_mounting"> |
702 |
<title>Setup KDE to Mount Devices</title> |
703 |
<body> |
704 |
|
705 |
<!-- TODO add pmount package when pmount is in arch. |
706 |
Also, add pmount to the default runlevel --> |
707 |
|
708 |
<p> |
709 |
KDE gives you the power to mount devices such as CDROMs or USB sticks through a |
710 |
single click in a graphical interface. To accomplish this goal you need to have |
711 |
KDE compiled with <c>hal</c> in your USE variable and to have <c>dbus</c> and |
712 |
<c>hal</c> installed on your system. You should also add <c>dbus</c> and |
713 |
<c>hal</c> to the default runlevel and add yourself to the <c>plugdev</c> |
714 |
group. |
715 |
</p> |
716 |
|
717 |
<pre caption="Setup device mounting"> |
718 |
# <i>emerge --ask dbus hal</i> |
719 |
# <i>rc-update add dbus default</i> |
720 |
# <i>rc-update add hald default</i> |
721 |
<comment>Add <user> to the plugdev group</comment> |
722 |
# <i>gpasswd -a <user> plugdev</i> |
723 |
</pre> |
724 |
|
725 |
</body> |
726 |
</section> |
727 |
</chapter> |
728 |
<chapter> |
729 |
<title>Managing KDE Installations</title> |
730 |
<section> |
731 |
<title>Multiple Installations</title> |
732 |
<body> |
733 |
|
734 |
<p> |
735 |
One peculiarity of the way KDE is managed in Gentoo is that when a new series |
736 |
of KDE appears (such as the 3.5.x series, which supersedes the 3.4.x series) |
737 |
it will be installed alongside the old one and will not overwrite it. So if |
738 |
for instance you had KDE 3.4 already installed and you emerge KDE 3.5, |
739 |
you will have two versions, one installed in <path>/usr/kde/3.4/</path> and |
740 |
the other in <path>/usr/kde/3.5/</path>. |
741 |
</p> |
742 |
|
743 |
<p> |
744 |
It should be noted that your settings for different KDE installations will be |
745 |
kept separate in the home directory. KDE 3.4 reads its settings from the |
746 |
directory <path>/home/<user>/.kde3.4</path>, and the first time you run |
747 |
KDE 3.5 a directory named <path>/home/<user>/.kde3.5</path> will be |
748 |
created by migrating the settings in the 3.4 directory and will be then used to |
749 |
store preferences and data. |
750 |
</p> |
751 |
|
752 |
<p> |
753 |
Another important remark to keep in mind when upgrading your KDE installation |
754 |
is that you could have problems with the external KDE applications you have |
755 |
installed (such as <c>koffice</c>, <c>amarok</c> or <c>k3b</c>) until you |
756 |
recompile them against the new KDE version. So as soon as you start using the |
757 |
new KDE you should reemerge them to make them link against the new libraries. |
758 |
</p> |
759 |
|
760 |
</body> |
761 |
</section> |
762 |
<section> |
763 |
<title>Unmerging Old Versions</title> |
764 |
<body> |
765 |
|
766 |
<p> |
767 |
Having multiple versions of KDE installed poses the problem of how to remove |
768 |
the old ones when we decide that they are not needed anymore. Unfortunately |
769 |
portage does not support unmerging a package with all its dependencies with a |
770 |
single command, so if for instance you run <c>emerge --unmerge kde</c> you will |
771 |
not remove the actual kde packages. |
772 |
</p> |
773 |
|
774 |
<p> |
775 |
To remove a KDE installation (e.g. KDE 3.4), the single packages have to be |
776 |
removed. |
777 |
</p> |
778 |
|
779 |
<pre caption="Removing KDE 3.4 packages"> |
780 |
# <i>emerge --unmerge =arts-3.4* =kdelibs-3.4* =kdebase-3.4* ...</i> |
781 |
</pre> |
782 |
|
783 |
<p> |
784 |
Obviously this is very frustrating if you have many KDE packages installed. |
785 |
However this operation can be automated in many ways. The following one is |
786 |
an example. |
787 |
</p> |
788 |
|
789 |
<p> |
790 |
First we list all the packages that we want to remove. We use the <c>equery</c> |
791 |
command for this, part of the <c>app-portage/gentoolkit</c> package: |
792 |
</p> |
793 |
|
794 |
<pre caption="Listing packages to remove"> |
795 |
<comment>(List all the installed KDE packages)</comment> |
796 |
# <i>equery list kde-base/</i> |
797 |
<comment>(List all the installed KDE packages and select the ones from KDE 3.4)</comment> |
798 |
# <i>equery list kde-base/ | grep 3\.4</i> |
799 |
</pre> |
800 |
|
801 |
<p> |
802 |
At this point you should double-check that the list corresponds to the packages |
803 |
that should be removed from the system. If you think it is ok, you can go on |
804 |
and pass the list to the <c>emerge --unmerge</c> command. |
805 |
</p> |
806 |
|
807 |
<pre caption="Removing selected packages"> |
808 |
# <i>equery list kde-base/ | grep 3\.4 | xargs emerge --unmerge --pretend</i> |
809 |
</pre> |
810 |
|
811 |
<p> |
812 |
Check again the output and reissue the command without <c>--pretend</c> to |
813 |
start the unmerging process. |
814 |
</p> |
815 |
|
816 |
<p> |
817 |
After the job has completed, the directory <path>/usr/kde/3.4/</path> should |
818 |
contain only a few files (mainly configuration files, portage has a policy to |
819 |
never touch configurations). If you desire, you can safely wipe out |
820 |
<path>/usr/kde/3.4/</path> with its content to remove what remains of KDE 3.4. |
821 |
</p> |
822 |
|
823 |
</body> |
824 |
</section> |
825 |
</chapter> |
826 |
<chapter> |
827 |
<title>Frequently Asked Questions</title> |
828 |
<section> |
829 |
<title>KDE is extremely slow during startup</title> |
830 |
<body> |
831 |
|
832 |
<p> |
833 |
Make sure your <path>/etc/hosts</path> file is correct: |
834 |
</p> |
835 |
|
836 |
<ul> |
837 |
<li> |
838 |
If you have a static IP address, make sure your FQDN and hostname are |
839 |
mentioned on that line, like <c>192.168.0.10 tux.mydomain tux</c> |
840 |
</li> |
841 |
<li> |
842 |
If you have a dynamic IP address or you do not have any additional |
843 |
interfaces at all, add your hostname after the localhost statement, like |
844 |
<c>127.0.0.1 localhost tux</c> |
845 |
</li> |
846 |
</ul> |
847 |
|
848 |
<p> |
849 |
Check if you have DMA enabled for your disks: |
850 |
</p> |
851 |
|
852 |
<pre caption="Verifying DMA settings"> |
853 |
# <i>hdparm /dev/hda</i> |
854 |
<comment>(...)</comment> |
855 |
using_dma = 1 (on) |
856 |
<comment>(...)</comment> |
857 |
</pre> |
858 |
|
859 |
</body> |
860 |
</section> |
861 |
</chapter> |
862 |
|
863 |
</guide> |
864 |
|
865 |
|
866 |
|
867 |
1.1 xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml |
868 |
|
869 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml?rev=1.1&view=markup |
870 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml?rev=1.1&content-type=text/plain |
871 |
|
872 |
Index: kde-split-ebuilds.xml |
873 |
=================================================================== |
874 |
<?xml version='1.0' encoding='UTF-8'?> |
875 |
|
876 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/desktop/kde/kde-split-ebuilds.xml,v 1.1 2008/04/26 19:20:59 neysx Exp $ --> |
877 |
|
878 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
879 |
|
880 |
<guide> |
881 |
|
882 |
<title>The KDE Split Ebuilds HOWTO</title> |
883 |
|
884 |
<author title="Author"> |
885 |
<mail link="danarmak@g.o">Dan Armak</mail> |
886 |
</author> |
887 |
<author title="Editor"> |
888 |
<mail link="greg_g@g.o">Gregorio Guidi</mail> |
889 |
</author> |
890 |
|
891 |
<abstract> |
892 |
With KDE 3.4, the 'split ebuilds' were introduced into Portage. This page |
893 |
documents the reasons behind the transition, the new features it brings and the |
894 |
way to upgrade from the old-style 'monolithic' ebuilds. |
895 |
</abstract> |
896 |
|
897 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
898 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
899 |
<license/> |
900 |
|
901 |
<version>1.11</version> |
902 |
<date>2008-01-16</date> |
903 |
|
904 |
<chapter> |
905 |
<title>The Split KDE Ebuilds</title> |
906 |
<section> |
907 |
<title>What they are</title> |
908 |
<body> |
909 |
|
910 |
<p> |
911 |
Until January 2005, the only KDE ebuilds in Portage were 'monolithic' ones. |
912 |
That is to say, there were only 15 ebuilds (<c>kdebase</c>, <c>kdenetwork</c>, |
913 |
...), and each one installed many applications that did not, in fact, depend on |
914 |
one another. This was clearly a suboptimal situation, and not very Gentoo-ish, |
915 |
but it was tolerated for a long time. |
916 |
</p> |
917 |
|
918 |
<p> |
919 |
The new 'split' ebuilds (for <c>konqueror</c>, <c>kmail</c>, ...) rectified the |
920 |
situation by providing separate ebuilds for all the separate KDE applications. |
921 |
This gave us a grand total of about 330 new ebuilds in the kde-base category. |
922 |
</p> |
923 |
|
924 |
<p> |
925 |
We still provide monolithic ebuilds for 3.5 and they are cleanly interoperable |
926 |
with the split ones. However, the split ebuilds are the new default, and there |
927 |
will be no monolithic ebuilds after KDE 4.0. |
928 |
</p> |
929 |
|
930 |
<p> |
931 |
Finally, it should be mentioned that there are split ebuilds for Koffice as |
932 |
well. These provide <c>kword</c>, <c>kugar</c>, etc. as separate packages. |
933 |
</p> |
934 |
|
935 |
</body> |
936 |
</section> |
937 |
<section> |
938 |
<title>How to install the split ebuilds</title> |
939 |
<body> |
940 |
|
941 |
<p> |
942 |
The latest stable KDE release, as of this writing, is 3.5.7. The latest |
943 |
unstable (~arch) is 3.5.8. Split and monolithic ebuilds for both releases are |
944 |
present in Portage. The 4.0.0 release is about to enter the tree in hardmasked |
945 |
state. |
946 |
</p> |
947 |
|
948 |
<ul> |
949 |
<li> |
950 |
To emerge a particular package, such as kmail, simply <c>emerge |
951 |
kmail</c>. |
952 |
</li> |
953 |
<li> |
954 |
To emerge the basic KDE environment allowing you to login into a |
955 |
minimalistic KDE session, <c>emerge kdebase-startkde</c>. |
956 |
</li> |
957 |
<li> |
958 |
Finally, for the exact equivalent of one of the monolithic packages - for |
959 |
instance, to get all the applications included in <c>kdebase</c> using |
960 |
split ebuilds - you can <c>emerge kdebase-meta</c> (or <c>kdepim-meta</c>, |
961 |
etc.) To get absolutely all KDE split ebuilds, <c>emerge kde-meta</c>. |
962 |
</li> |
963 |
</ul> |
964 |
|
965 |
</body> |
966 |
</section> |
967 |
<section> |
968 |
<title>How to upgrade from the monolithic to the split ebuilds</title> |
969 |
<body> |
970 |
|
971 |
<p> |
972 |
If you have KDE 3.3.x installed, you can simply <c>emerge kde-meta</c> to |
973 |
install the 3.5.x split ebuilds without disturbing your existing installation. |
974 |
</p> |
975 |
|
976 |
<p> |
977 |
If you have the KDE 3.4.x or 3.5.x monolithic ebuilds installed, you must |
978 |
unmerge them before emerging the split ebuilds. However, this process can be |
979 |
done for each monolithic ebuild in turn; you don't have to unmerge all of KDE |
980 |
at once. |
981 |
</p> |
982 |
|
983 |
<p> |
984 |
If you're in doubt, remember there are blocking dependencies in place between |
985 |
each monolithic ebuild and the split ebuilds derived from it. Portage won't |
986 |
allow an illegal state to be created, so any emerge or unmerge it allows is |
987 |
OK. |
988 |
</p> |
989 |
|
990 |
</body> |
991 |
</section> |
992 |
<section> |
993 |
<title>Advantages of the split ebuilds</title> |
994 |
<body> |
995 |
|
996 |
<p> |
997 |
Here's a brief list of what we gain from switching to the split ebuilds: |
998 |
</p> |
999 |
|
1000 |
<ul> |
1001 |
<li> |
1002 |
Most KDE packages aren't changed at all between minor KDE releases. For |
1003 |
example, the update from 3.3.1 to 3.3.2 changed fewer than 100 packages out |
1004 |
of 320. Split packages allow us to create new ebuilds only for the packages |
1005 |
that are actually changed, saving (in this example) more than two-thirds of |
1006 |
the compilation time on an upgrade. |
1007 |
</li> |
1008 |
<li> |
1009 |
Patches usually affect a specific package. With split ebuilds, they can be |
1010 |
tested, approved and committed faster, and the developers have less to do; |
1011 |
and, as above, the user will spend less time upgrading. This is especially |
1012 |
important for security updates. |
1013 |
</li> |
1014 |
<li> |
1015 |
Users of other desktops and leaner WMs can emerge a few KDE apps they like |
1016 |
without the (quite big) overhead of the rest of, say, <c>kdebase</c> or |
1017 |
<c>kdepim</c>. |
1018 |
</li> |
1019 |
<li> |
1020 |
Users can fine-tune the packages they have installed. Reasons you might |
1021 |
want this include: |
1022 |
|
1023 |
<ul> |
1024 |
<li> |
1025 |
You care about compilation time. <c>emerge kdebase kdepim |
1026 |
kdenetwork</c> takes far too long when what you really need is |
1027 |
<c>konqueror</c>, <c>kmail</c> and <c>kopete</c>. Besides, CPU time is |
1028 |
money... somewhere. |
1029 |
</li> |
1030 |
<li> |
1031 |
You care about disk usage. Every unused package is that many megabytes |
1032 |
blocking the pores between your disk's sectors. A disk with more free |
1033 |
space breathes freely; it's a fast, happy disk. |
1034 |
</li> |
1035 |
<li> |
1036 |
You care about system security. All installed software is a potential |
1037 |
source of vulnerabilities, and there's no excuse for unused software |
1038 |
left lying around. |
1039 |
</li> |
1040 |
<li> |
1041 |
You faithfully adhere to the <uri link="/main/en/philosophy.xml">Gentoo |
1042 |
Way</uri>, and can't stand packages being bundled together and forced |
1043 |
on the user. (Neither could we.) |
1044 |
</li> |
1045 |
</ul> |
1046 |
</li> |
1047 |
<li> |
1048 |
Finally, the split ebuilds also allow more compile-time flexibility with |
1049 |
USE flags. |
1050 |
</li> |
1051 |
</ul> |
1052 |
|
1053 |
</body> |
1054 |
</section> |
1055 |
<section> |
1056 |
<title>Split and monolithic ebuild interoperability</title> |
1057 |
<body> |
1058 |
|
1059 |
<p> |
1060 |
Split and monolithic ebuilds can be mixed freely. The only restriction is that |
1061 |
a monolithic ebuild can't be installed at the same time as a split ebuild |
1062 |
deriving from it. There are blocking dependencies in the ebuilds that enforce |
1063 |
this, so you can do anything emerge allows you to do. |
1064 |
</p> |
1065 |
|
1066 |
<p> |
1067 |
Ordinarily, however, there's no reason to use such a mixed configuration. In |
1068 |
fact, except for special cases like very slow-compiling boxes (mips), you should |
1069 |
use the split ebuilds for all your needs. |
1070 |
</p> |
1071 |
|
1072 |
<p> |
1073 |
The split ebuilds are also the default ebuilds. This means that when some other |
1074 |
ebuild depends on a KDE application, it will want to install a split ebuild. |
1075 |
However, the matching monolithic ebuild will also satisfy that dependency, so |
1076 |
you can emerge the monolithic ebuild manually and then emerge the ebuild that |
1077 |
depended on it. |
1078 |
</p> |
1079 |
|
1080 |
</body> |
1081 |
</section> |
1082 |
</chapter> |
1083 |
|
1084 |
<chapter> |
1085 |
<title>Performance issues</title> |
1086 |
<section> |
1087 |
<title>Why split ebuilds are slow</title> |
1088 |
<body> |
1089 |
|
1090 |
<p> |
1091 |
It's been <uri link="http://bugs.gentoo.org/show_bug.cgi?id=11123">said</uri> |
1092 |
before that split ebuilds would take much more time to emerge than the |
1093 |
monolithic ones, due to the overhead of unpacking and running configure for |
1094 |
every package. A complete <c>emerge kde-meta</c> could take 20-30% longer |
1095 |
than a classic <c>emerge kde</c>, unacceptable in an already long compile. |
1096 |
</p> |
1097 |
|
1098 |
<p> |
1099 |
Moreover, at present the split ebuilds always run <c>make -f |
1100 |
admin/Makefile.cvs</c> (this means running autoconf, automake, etc. and several |
1101 |
related kde-specific scripts). This adds an additional slowdown of |
1102 |
approximately the same order as a configure run. |
1103 |
</p> |
1104 |
|
1105 |
<p> |
1106 |
Finally, a split ebuild needs to extract specific files out of a large tarball. |
1107 |
This is slower than extracting a dedicated, small tarball. However, creating |
1108 |
such small tarballs for the autotools-based build system of KDE 3.x is |
1109 |
difficult. |
1110 |
</p> |
1111 |
|
1112 |
<p> |
1113 |
It is worth reiterating here that with the split ebuilds a KDE upgrade's |
1114 |
compilation time can be greatly reduced by only upgrading the packages that |
1115 |
actually changed. The benefit from a single such update often overshadows the |
1116 |
overhead incurred during the original installation. |
1117 |
</p> |
1118 |
|
1119 |
<p> |
1120 |
Finally, installing all of KDE makes sense if you want to explore the available |
1121 |
packages or are setting up a multi-user environment; however, most people use |
1122 |
only some of the 300+ KDE apps available. Anyone who really cares about |
1123 |
compilation time, such as owners of older boxes, can gain more time by |
1124 |
selectively installing packages than they might lose by the overhead incurred. |
1125 |
</p> |
1126 |
|
1127 |
</body> |
1128 |
</section> |
1129 |
<section> |
1130 |
<title>How split ebuilds will be made faster</title> |
1131 |
<body> |
1132 |
|
1133 |
<p> |
1134 |
Most or even all of the split ebuilds' performance issues are tied to autotools |
1135 |
- autoconf, automake and other tools which manage the <c>./configure;make;make |
1136 |
install</c> build system used in KDE 3.x. |
1137 |
</p> |
1138 |
|
1139 |
<p> |
1140 |
KDE 4 will (as far as we can tell now) adopt a completely new build system, |
1141 |
which among other things will greatly reduce the time its equivalent of a |
1142 |
<c>make -f admin/Makefile.common; ./configure</c> will take. Hopefully, it will |
1143 |
also make it much easier to create a small tarball for each split ebuild by |
1144 |
lowering the cost of generating its equivalent of configure scripts (if any). |
1145 |
</p> |
1146 |
|
1147 |
</body> |
1148 |
</section> |
1149 |
</chapter> |
1150 |
|
1151 |
<chapter> |
1152 |
<title>Split ebuilds FAQ</title> |
1153 |
<section> |
1154 |
<title>Why are some split packages missing the newest ebuild versions?</title> |
1155 |
<body> |
1156 |
|
1157 |
<p> |
1158 |
As explained above, not all applications are really updated between minor KDE |
1159 |
releases, and so not all applications receive new ebuild versions. For |
1160 |
instance, libkdenetwork wasn't updated in 3.5.0_beta2, so the latest ebuild |
1161 |
available with that release was 3.5_beta1. |
1162 |
</p> |
1163 |
|
1164 |
<p> |
1165 |
This is done purely to reduce compilation time during an upgrade. If we had |
1166 |
made a libkdenetwork-3.5.0_beta2 ebuild, it would have installed precisely the |
1167 |
same files as the 3.5_beta1 ebuild. The various dependencies are updated to |
1168 |
work correctly (i.e. no ebuild will depend on libkdenetwork-3.5.0_beta2). |
1169 |
</p> |
1170 |
|
1171 |
</body> |
1172 |
</section> |
1173 |
<section> |
1174 |
<title>Can't we do this already with DO_NOT_COMPILE?</title> |
1175 |
<body> |
1176 |
|
1177 |
<p> |
1178 |
DO_NOT_COMPILE is an environment variable internal to the KDE build system. It |
1179 |
allows selectively disabling subdirectories from compilation. Some people used |
1180 |
to use it to compile subsets of the monolithic KDE ebuilds. For instance, |
1181 |
running <c>DO_NOT_COMPILE=konqueror emerge kdebase</c> would install a kdebase |
1182 |
without the <c>konqueror</c> application. |
1183 |
</p> |
1184 |
|
1185 |
<p> |
1186 |
However, DO_NOT_COMPILE was never intended to be used to interfere with the |
1187 |
operation of a package manager's automated builds. It does not work, it can |
1188 |
break your system, and it was never supported. We request everyone to refrain |
1189 |
from using it. |
1190 |
</p> |
1191 |
|
1192 |
<p> |
1193 |
Here is a partial list of the problems with DO_NOT_COMPILE: |
1194 |
</p> |
1195 |
|
1196 |
<ul> |
1197 |
<li> |
1198 |
It completely breaks Portage's dependency tracking. Portage does not know |
1199 |
about DO_NOT_COMPILE, and thinks the entire monolithic package has been |
1200 |
installed and can satisfy other packages' deps. This can cause other |
1201 |
packages not to emerge or not to run. |
1202 |
</li> |
1203 |
<li> |
1204 |
It forces the user to know the names and meanings of all the different |
1205 |
existing subdirs of the KDE modules. Very few users do know this, unless |
1206 |
they're KDE developers, so they can't use DO_NOT_COMPILE properly. |
1207 |
</li> |
1208 |
<li> |
1209 |
KDE module subdirs can have interdependencies between them, require a |
1210 |
particular build order, require another dir to be present even if it does |
1211 |
not have to be installed, and so forth. We put a lot of work into the split |
1212 |
ebuilds to make them work properly in this regard. DO_NOT_COMPILE is not |
1213 |
nearly a fine enough tool to achieve the same results, even given |
1214 |
sufficient knowledge on the user's part. The only thing you can do with it |
1215 |
is disable a few applications from compiling. It is practically impossible |
1216 |
to use it to install only a few selected applications from modules like |
1217 |
<c>kdebase</c> or <c>kdepim</c>. |
1218 |
</li> |
1219 |
<li> |
1220 |
If I installed kmail yesterday and want to add korn today, using |
1221 |
DO_NOT_COMPILE, it entails recompiling kmail as well. This means |
1222 |
DO_NOT_COMPILE is always much slower than split ebuilds. |
1223 |
</li> |
1224 |
<li> |
1225 |
DO_NOT_COMPILE can't be used to make precompiled packages (such as the GRP) |
1226 |
containing individual KDE apps. |
1227 |
</li> |
1228 |
</ul> |
1229 |
|
1230 |
</body> |
1231 |
</section> |
1232 |
<section> |
1233 |
<title>Aren't you putting too big a load on the Gentoo KDE maintainers?</title> |
1234 |
<body> |
1235 |
|
1236 |
<p> |
1237 |
Surprisingly, this question gets asked a lot. I'm glad users are so |
1238 |
considerate of us maintainers. Let me take this opportunity to assure you that |
1239 |
we're taking on the split ebuilds of our own free will; that we believe we'll |
1240 |
be able to continue maintaining them well; and that there's no chance of |
1241 |
talking us out of it :-) |
1242 |
</p> |
1243 |
|
1244 |
<p> |
1245 |
For completeness' sake, I should mention that maintainers from other archs |
1246 |
have in fact complained about the increased workload of testing and keywording |
1247 |
so many separate ebuilds. We're working to resolve this and it's a major reason |
1248 |
why monolithic ebuilds are in fact still available for KDE 3.5. |
1249 |
</p> |
1250 |
|
1251 |
</body> |
1252 |
</section> |
1253 |
<section> |
1254 |
<title>Are you going to remove the old-style (monolithic) ebuilds?</title> |
1255 |
<body> |
1256 |
|
1257 |
<p> |
1258 |
We intend to do so eventually. However, there will be both monolithic and split |
1259 |
ebuilds for all the KDE 3.x releases. |
1260 |
</p> |
1261 |
|
1262 |
<p> |
1263 |
If you prefer the monolithic ebuilds over the split ones, please |
1264 |
<uri link="http://bugs.gentoo.org">tell us</uri> your reasons. |
1265 |
</p> |
1266 |
|
1267 |
</body> |
1268 |
</section> |
1269 |
<section> |
1270 |
<title>There are too many ebuilds! How am I going to find the one I need?</title> |
1271 |
<body> |
1272 |
|
1273 |
<p> |
1274 |
Well, first of all, if you know the package you're looking for came with |
1275 |
kdebase, you can still <c>emerge kdebase-meta</c>, with much the same results |
1276 |
as if you emerged the monolithic <c>kdebase</c>. So, things haven't actually |
1277 |
become any worse due to the split ebuilds. |
1278 |
</p> |
1279 |
|
1280 |
<p> |
1281 |
Of course, all the usual ways of locating a package also apply. How would you |
1282 |
find your ebuild if it was a Gnome application? As a minimum, you do have to |
1283 |
know the name of the application you're looking for. |
1284 |
</p> |
1285 |
|
1286 |
<p> |
1287 |
The situation could, perhaps, be improved by introducing some more -meta |
1288 |
ebuilds. They are merely lists of dependencies, so they don't cost us anything. |
1289 |
This hasn't been decided yet. Also, it would be nice to have Portage sets |
1290 |
functionality before we do this extensively. |
1291 |
</p> |
1292 |
|
1293 |
</body> |
1294 |
</section> |
1295 |
<section> |
1296 |
<title>How can I list/unmerge all split ebuilds derived from a given package?</title> |
1297 |
<body> |
1298 |
|
1299 |
<p> |
1300 |
The objective here is to list all split kde ebuilds derived from, say, the |
1301 |
<c>kdebase</c> monolithic ebuild. Once again, the proper implementation (such as <uri |
1302 |
link="/proj/en/glep/glep-0021.html">GLEP 21</uri>) would make this trivial. |
1303 |
Today, however, you must become involved in the KDE eclasses' implementation |
1304 |
details to some degree. So, if you use any of these approaches in a script |
1305 |
that's not for private use, tell us about it. |
1306 |
</p> |
1307 |
|
1308 |
<p> |
1309 |
kde-functions.eclass defines functions called get-parent-package() and |
1310 |
get-child-packages() which do the translation for you. These two functions are |
1311 |
the correct way to accomplish this task from an ebuild or an external bash |
1312 |
script. Here is an example: |
1313 |
</p> |
1314 |
|
1315 |
<pre caption="Example usage of the kde-functions functions"> |
1316 |
$ <i>function die() { echo $@; }</i> <comment># called to report errors</comment> |
1317 |
$ <i>source /usr/portage/eclass/kde-functions.eclass</i> |
1318 |
$ <i>get-parent-package konqueror</i> <comment># won't work, you must specify full name</comment> |
1319 |
Package konqueror not found in KDE_DERIVATION_MAP, please report bug <comment># error printed</comment> |
1320 |
$ <i>get-parent-package kde-base/konqueror</i> <comment># fully qualified package name</comment> |
1321 |
kde-base/kdebase <comment># result printed</comment> |
1322 |
$ <i>get-child-packages kde-base/kdebase</i> |
1323 |
<comment>(Long list of packages printed here)</comment> |
1324 |
</pre> |
1325 |
|
1326 |
<p> |
1327 |
If your script isn't in bash, you can grep kde-functions.eclass to extract the |
1328 |
(multiline) definition of the variable KDE_DERIVATION_MAP, which the |
1329 |
aforementioned functions use. This variable contains a whitespace-separated |
1330 |
list of words, and each two consecutive words map a parent package to a child |
1331 |
split ebuild. |
1332 |
</p> |
1333 |
|
1334 |
</body> |
1335 |
</section> |
1336 |
</chapter> |
1337 |
</guide> |
1338 |
|
1339 |
|
1340 |
|
1341 |
-- |
1342 |
gentoo-commits@l.g.o mailing list |