source: kde/plasma5/plasma-all.xml@ 6d8eeb9

lazarus trunk
Last change on this file since 6d8eeb9 was 6d8eeb9, checked in by Bruce Dubbs <bdubbs@…>, 4 months ago

Intermediate commit for kde6.

This is a large, but still intermediate commit for KDE6 (kf6 and plasma6).
These are the key changes:

Update kf6 dependencies.

Remove kuserfeedback (it is now a part of kf6).

Move libdbusmenu-qt to General Libraries. It is still needed for LXQt, but
will be remmoved when LXQt moves to Qt6 and LF6/Plasma6.

Made some changes to bluez to use &root;.

Commented out kmix, libkcddb, and k3b. These are still kf5 apps and would
require adding back most of kf5 to the book. It's easier to just wait for
these to be updated to qt6/kf6.

Removed references to the full qt5 package in LXQt packages. It mkes no sense
now that Qt6 is in the book to also build the full (deprecated) Qt5 package.
It may makes sense to just remove the full Qt5 package from th ebook now.

Renamed an internal referece from plasma5-build to just plasma-build in polkit
and mesa.

  • Property mode set to 100644
File size: 18.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY plasma-download-http "https://download.kde.org/stable/plasma/&plasma-version;">
8 <!ENTITY plasma-download-ftp " ">
9 <!ENTITY plasma-md5sum "See Below">
10 <!ENTITY plasma-size "243 MB">
11 <!ENTITY plasma-buildsize "1.7 GB (419 MB installed)">
12 <!ENTITY plasma-time "7.6 SBU (using parallelism=4)">
13]>
14
15<sect1 id="plasma-build" xreflabel="Plasma-&plasma-version;">
16 <?dbhtml filename="plasma-all.html"?>
17
18
19 <title>Building Plasma</title>
20
21 <indexterm zone="plasma-build">
22 <primary sortas="a-kde-plasma">KDE Plasma</primary>
23 </indexterm>
24
25 <para>
26 KDE Plasma is a collection of packages based on top of KDE Frameworks
27 and QML. They implement the KDE Display Environment (Plasma).
28 </para>
29
30 &lfs121_checked;
31
32 <para>
33 The instructions below build all of the Plasma packages in one
34 step by using a bash script.
35 </para>
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&plasma-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&plasma-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &plasma-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &plasma-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &plasma-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &plasma-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">Plasma Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <!--<xref linkend="gtk2"/>, Does not seem to be needed any more -->
76 <xref linkend="gtk3"/>,
77 <xref linkend="kf6-frameworks"/>,
78 <xref linkend="libpwquality"/>,
79 <xref linkend="libqalculate"/>,
80 <xref linkend="libxcvt"/>,
81 <xref linkend="libxkbcommon"/>,
82 <xref linkend="mesa"/> built with <xref linkend="wayland"/>,
83 <xref linkend="NetworkManager"/>,
84 <xref linkend="pipewire"/>,
85 <xref linkend="pulseaudio"/>,
86 <xref linkend="qca"/>,
87 <xref linkend="sassc"/>,
88 <xref linkend="taglib"/>, and
89 <xref linkend="xcb-util-cursor"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="fftw"/>,
95 <xref linkend="gsettings-desktop-schemas"/>,
96 <xref linkend="libcanberra"/>,
97 <xref linkend="libinput"/>,
98 <xref linkend="libpcap"/>,
99 <xref linkend="linux-pam"/>,
100 <xref linkend="lm_sensors"/>,
101 <xref linkend="oxygen-icons"/>,
102 <xref linkend="pciutils"/>, and
103 <xref linkend="power-profiles-daemon"/> (for laptops)
104 </para>
105
106 <bridgehead renderas="sect4">Recommended (runtime)</bridgehead>
107 <para role="recommended">
108 <xref role="runtime" linkend="accountsservice"/>,
109 <xref role="runtime" linkend="smartmontools"/>,
110 <xref role="runtime" linkend="xdg-desktop-portal"/>, and
111 <xref role="runtime" linkend="xwayland"/>
112 </para>
113
114 <bridgehead renderas="sect4">Optional</bridgehead>
115 <para role="optional">
116 <xref linkend="appstream"/> (build with -qt=true),
117 <xref linkend="glu"/>,
118 <xref linkend='ibus'/>,
119 <xref linkend='qtwebengine'/>,
120 <xref linkend="xorg-synaptics-driver"/>,
121 <ulink url="https://www.kdevelop.org/">KDevPlatform</ulink>,
122 <ulink url="https://gpsd.gitlab.io/gpsd/">libgps</ulink>,
123 <ulink url="https://github.com/libhybris/libhybris">libhybris</ulink>,
124 <ulink url="https://sourceforge.net/projects/libraw1394/">libraw1394</ulink>,
125 <ulink url="https://www.freedesktop.org/software/PackageKit/releases/">packagekit-qt</ulink>,
126 <ulink url="https://qalculate.github.io/">Qalculate</ulink>,
127 <ulink url="https://launchpad.net/qapt">Qapt</ulink>,
128 <ulink url="https://github.com/osiam/osiam">SCIM</ulink>, and
129 <ulink url="http://www.dest-unreach.org/socat/">socat</ulink> (for pam_kwallet)
130 </para>
131
132 <note>
133 <para>
134 <xref linkend="qtwebengine"/> is required for aura-browser.
135 It is also optional for two other packages:
136 libksysguard and kdeplasma-addons. If QtWebEngine is installed later,
137 only these two packages need to be rebuilt. This allows
138 a more complete display in the system monitor application.
139 </para>
140 </note>
141
142 <sect2>
143 <title>Downloading KDE Plasma5</title>
144
145 <para>
146 The easiest way to get the KDE Plasma5 packages is to use a single
147 <command>wget</command> to fetch them all at once:
148 </para>
149
150<screen><userinput>url=https://download.kde.org/stable/plasma/&plasma-version;/
151wget -r -nH -nd -A '*.xz' -np $url</userinput>
152<literal>
153The options used here are:
154 -r recurse through child directories
155 -nH disable generation of host-prefixed directories
156 -nd do not create a hierarchy of directories
157 -A '*.xz' just get the *.xz files
158 -np don't get parent directories</literal></screen>
159
160 </sect2>
161
162 <sect2>
163 <title>Setting Package Order</title>
164
165 <para>
166 The order of building files is important due to internal dependencies.
167 Create the list of files in the proper order as follows:
168 </para>
169
170<screen><userinput>cat &gt; plasma-&plasma-version;.md5 &lt;&lt; "EOF"
171<literal>599e79f2908879ed7f7ffda3637c54a6 kdecoration-6.0.0.tar.xz
17296f956b40d929ddecb208101564aa269 libkscreen-6.0.0.tar.xz
173e09b5326dea0c32c64745a0ab3bb17fd libksysguard-6.0.0.tar.xz
1746546c71b2707637fb0c8ffd90abfc981 breeze-6.0.0.tar.xz
1756ec29676f896546f9fab485142fff113 breeze-gtk-6.0.0.tar.xz
1765d02ead00aa69e96d71fb892aa941fa3 layer-shell-qt-6.0.0.tar.xz
177c91f8689b5386ce42d8a270ba669dfc3 plasma-activities-6.0.0.tar.xz
178125c3e7cf3bb32d3103bb769c584660f libplasma-6.0.0.tar.xz
1799dbfb8774a5acead43b3a0afb90a893f kscreenlocker-6.0.0.tar.xz
180b37312379616a7c2309c834005ada178 oxygen-6.0.0.tar.xz
181643d13b69ffddf133f4067bd25e33034 kinfocenter-6.0.0.tar.xz
1824bc12254229c9762e29f2f75d2f44e1a kglobalacceld-6.0.0.tar.xz
18397c448777e08ea7fe53aaef2cb35d17a kwayland-6.0.0.tar.xz
184b5b1a531a62ba3b778c793c63b262509 kwin-6.0.0.tar.xz
1855ac7afff15ac496b580526cf5c017db7 plasma5support-6.0.0.tar.xz
186d931aa7909d574c0a5b26a4d5af1f4eb plasma-activities-stats-6.0.0.tar.xz
1871ce2e4da8cf65347f6fc5099b418ecc6 kpipewire-6.0.0.tar.xz
1884a155013537b80009cc1e7d1582fda33 plasma-workspace-6.0.0.tar.xz
189e32c8a5eac1ac01a763bbcc70b3f6945 plasma-disks-6.0.0.tar.xz
1904d18ce97c23bbf35d87b73efec71420c bluedevil-6.0.0.tar.xz
191bfc8028a6f0888965a3a555663ba893b kde-gtk-config-6.0.0.tar.xz
19283dffdc80445bbc617f0c0dcef04ca4a kmenuedit-6.0.0.tar.xz
19357acadb3a31ff06cad411269de2ea700 kscreen-6.0.0.tar.xz
1947fad253ac68778bf4046b72a892ade92 kwallet-pam-6.0.0.tar.xz
195115cb1253c7a903070ff76630370d97d kwrited-6.0.0.tar.xz
19690eb8b277e475f1447472ba467336547 milou-6.0.0.tar.xz
1977dcf751acdb6fc66b50734948831731a plasma-nm-6.0.0.tar.xz
198ca57d6c816ae40b595bf3e3e1a2617ff plasma-pa-6.0.0.tar.xz
199f4445ecabf52a5777fa405f36c791d72 plasma-workspace-wallpapers-6.0.0.tar.xz
200ae7b1d18a20699124d924b126335aaed polkit-kde-agent-1-6.0.0.tar.xz
20193aacc0af152b6d2e28a694bd211f29d powerdevil-6.0.0.tar.xz
20246d9dee5d8abfc12bd8c3ca8811327e7 plasma-desktop-6.0.0.tar.xz
2032b522f3fd18ed563c9fab882b83193eb kgamma-6.0.0.tar.xz
204a832617c17070ec2dce5cf019ab7ab1c ksshaskpass-6.0.0.tar.xz
205#65ceae0e87f6b11ec924d57d764913f4 plasma-sdk-6.0.0.tar.xz
206973e99f506a6fdad96a8b43d04a0b510 sddm-kcm-6.0.0.tar.xz
207#a7ab65d4a36e402df4b42c91cd2a16da discover-6.0.0.tar.xz
208#bc42922097f6964252a5f56e759c3844 breeze-grub-6.0.0.tar.xz
209#f399364375591938bdfb2d235f13923b breeze-plymouth-6.0.0.tar.xz
210c0248379f3df970fa19fe6d341dd00a4 kactivitymanagerd-6.0.0.tar.xz
211ad6dee45c10e415a92d76745e5901842 plasma-integration-6.0.0.tar.xz
212#e377ca58ca8089ce4e4c26c03e85b4f1 plymouth-kcm-6.0.0.tar.xz
213b0a1e9952e09e35f90d8131faed98882 xdg-desktop-portal-kde-6.0.0.tar.xz
21453864beb8ca2de75a8e4c1f52b0f4ea5 drkonqi-6.0.0.tar.xz
215e6c9b78fd0022d37dc4913e3dbe5205e plasma-vault-6.0.0.tar.xz
216#a5b70716031e98843e8fa1088f2eb0bc plasma-browser-integration-6.0.0.tar.xz
21791f1b7dbde5fcd508f3eab9cdf5f0681 kde-cli-tools-6.0.0.tar.xz
218876c57804ef1daadfcce81bb0d7e82a4 systemsettings-6.0.0.tar.xz
21929588e3f9d64d092060890a5a438cdb6 plasma-thunderbolt-6.0.0.tar.xz
220#cc307526ac2f02e7547cacea0eeccda6 plasma-nano-6.0.0.tar.xz
221#5e2effe947e2edf89cce35ef5c2527f6 plasma-mobile-6.0.0.tar.xz
222f791645b191b9f2e6cc9e6cf0037af00 plasma-firewall-6.0.0.tar.xz
223a4d558a30b2ae93dc680010867e10abc plasma-systemmonitor-6.0.0.tar.xz
224f250350b7fa2ff6f28f88233955c5638 qqc2-breeze-style-6.0.0.tar.xz
22528f4d1841cecffaf76462ba20e45c45b ksystemstats-6.0.0.tar.xz
2268aad48fd0f58f08ea197aa6d8e4dfab3 oxygen-sounds-6.0.0.tar.xz
2274d7c36f9ada95960ec0619547c716f81 kdeplasma-addons-6.0.0.tar.xz
228#df582e99c5288d1c0b8dcd1b34a31d08 flatpak-kcm-6.0.0.tar.xz
229#eebf65971b0066c707eef50742a9c49e plasma-welcome-6.0.0.tar.xz
2308f0c51c160819c170dcc77722b6153e3 ocean-sound-theme-6.0.0.tar.xz
231b8963fb1790449d4a905cf85f017d1e9 print-manager-6.0.0.tar.xz
232#a05c7d650e44cd046fbc090fcbb69ae4 wacomtablet-6.0.0.tar.xz</literal>
233EOF</userinput></screen>
234
235 <note>
236 <title>About Commented out Packages</title>
237 <para>
238 The breeze-grub, breeze-plymouth, and plymouth-kcm packages above are
239 all for customized support of <ulink
240 url="https://www.freedesktop.org/wiki/Software/Plymouth/"
241 >Plymouth</ulink>
242 which is designed to be run within an initial ram disk during boot (see
243 <xref linkend="initramfs"/>).
244
245 The plasma-sdk package is optional and used for software development.
246
247 The plasma-nano package is used for embedded systems.
248
249 The plasma-mobile package provides phone functionality for Plasma.
250
251 The aura-browser package requires <xref linkend="qtwebengine"/>.
252
253 The discover package requires <xref linkend="appstream"/> to be built
254 with the -Dqt=true switch. The discover-5.27.10.1 version of the
255 package is an update to the previous version.
256
257 The plasma-welcome package requires the external package
258 <ulink url="https://download.kde.org/stable/release-service/&kf5apps-version;/src/">
259 kaccounts-integration</ulink>.
260
261 The flatpack-kcm package is for managing support of flatpack applications.
262 </para>
263 </note>
264
265 </sect2>
266
267 <sect2 role="installation">
268 <title>Installation of Plasma</title>
269
270 &as_root;
271
272 <para>
273 First, start a subshell that will exit on error:
274 </para>
275
276<screen><userinput>bash -e</userinput></screen>
277
278 <para>
279 Install all of the packages by running the following
280 commands:
281 </para>
282
283<screen><userinput>while read -r line; do
284
285 # Get the file name, ignoring comments and blank lines
286 if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
287 file=$(echo $line | cut -d" " -f2)
288
289 pkg=$(echo $file|sed 's|^.*/||') # Remove directory
290 packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory
291
292 tar -xf $file
293 pushd $packagedir
294<!--
295 # Fix some build issues when generating some configuration files
296 case $name in
297 plasma-workspace)
298 sed -i '/set.HAVE_X11/a set(X11_FOUND 1)' CMakeLists.txt
299 ;;
300
301 khotkeys)
302 sed -i '/X11Extras/a set(X11_FOUND 1)' CMakeLists.txt
303 ;;
304
305 plasma-desktop)
306 sed -i '/X11.h)/i set(X11_FOUND 1)' CMakeLists.txt
307 ;;
308 esac
309-->
310 mkdir build
311 cd build
312
313 cmake -DCMAKE_INSTALL_PREFIX=$KF6_PREFIX \
314 -DCMAKE_BUILD_TYPE=Release \
315 -DBUILD_TESTING=OFF \
316 -Wno-dev .. &amp;&amp;
317
318 make
319 as_root make install
320 popd
321
322<!-- some packages end up with files owned by root in $packagedir,
323 so use as_root for removing -->
324 as_root rm -rf $packagedir
325 as_root /sbin/ldconfig
326
327done &lt; plasma-&plasma-version;.md5
328
329exit</userinput></screen>
330
331 <para>
332 If you did not set <envar>$KF6_PREFIX</envar> to
333 <filename>/usr</filename>, create symlinks to allow display managers to
334 find <application>Plasma</application>, and to allow the XDG Desktop
335 Portal to be detected. As the &root; user:
336 </para>
337
338<screen><userinput># Setup xsessions (X11 sessions)
339install -dvm 755 /usr/share/xsessions
340cd /usr/share/xsessions
341
342[ -e plasma.desktop ] ||
343ln -sfv $KF6_PREFIX/share/xsessions/plasmax11.desktop
344
345# Setup wayland-sessions
346install -dvm 755 /usr/share/wayland-sessions
347cd /usr/share/wayland-sessions
348
349[ -e plasmawayland.desktop ] ||
350ln -sfv $KF6_PREFIX/share/wayland-sessions/plasma.desktop
351<!-- work around a bug in xdg-desktop-portal-->
352# Setup xdg-desktop-portal
353install -dvm 755 /usr/share/xdg-desktop-portal
354cd /usr/share/xdg-desktop-portal
355
356[ -e kde-portals.conf ] ||
357ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/kde-portals.conf
358
359# Setup kde partal
360install -dvm 755 /usr/share/xdg-desktop-portal/portals
361cd /usr/share/xdg-desktop-portal/portals
362
363[ -e kde.portal ] ||
364ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/portals/kde.portal</userinput></screen>
365
366 <para revision="sysv">
367 Useless systemd units have been installed in
368 <filename class="directory">$KF6_PREFIX/lib</filename>. Remove
369 them now (as <systemitem class="username">root</systemitem>):
370 </para>
371
372<screen role="root"
373 revision="sysv"><userinput>rm -rf $KF6_PREFIX/lib/systemd</userinput></screen>
374
375 </sect2>
376<!--
377 <sect2 role="commands">
378 <title>Command Explanations</title>
379
380 <para>
381 <command>ln -sfv ../code/$(basename $j) $(dirname $j)/../ui/</command>:
382 Create symbolic links so qml files can find needed javascript modules.
383 </para>
384
385 </sect2>
386-->
387 <sect2 role="configuration">
388 <title>Configuring Plasma</title>
389
390 <sect3>
391 <title>Linux PAM Configuration</title>
392
393 <para>
394 If you built Plasma with the recommended <application>Linux
395 PAM</application> support, create necessary configuration files by
396 running the following commands as the <systemitem
397 class="username">root</systemitem> user:
398 </para>
399
400<screen role="root"><userinput>cat &gt; /etc/pam.d/kde &lt;&lt; "EOF"
401<literal># Begin /etc/pam.d/kde
402
403auth requisite pam_nologin.so
404auth required pam_env.so
405
406auth required pam_succeed_if.so uid &gt;= 1000 quiet
407auth include system-auth
408
409account include system-account
410password include system-password
411session include system-session
412
413# End /etc/pam.d/kde</literal>
414EOF
415
416cat &gt; /etc/pam.d/kde-np &lt;&lt; "EOF"
417<literal># Begin /etc/pam.d/kde-np
418
419auth requisite pam_nologin.so
420auth required pam_env.so
421
422auth required pam_succeed_if.so uid &gt;= 1000 quiet
423auth required pam_permit.so
424
425account include system-account
426password include system-password
427session include system-session
428
429# End /etc/pam.d/kde-np</literal>
430EOF
431
432cat &gt; /etc/pam.d/kscreensaver &lt;&lt; "EOF"
433<literal># Begin /etc/pam.d/kscreensaver
434
435auth include system-auth
436account include system-account
437
438# End /etc/pam.d/kscreensaver</literal>
439EOF</userinput></screen>
440 </sect3>
441 </sect2>
442
443 <sect2 role="starting">
444 <title>Starting Plasma</title>
445
446 <para revision="sysv">
447 You can start <application>Plasma</application> from runlevel 3, using
448 <xref linkend="xinit"/>, or from runlevel 5, using a Display Manager,
449 such as <xref linkend="lightdm"/>.
450 </para>
451
452 <para revision="systemd">
453 You can start <application>Plasma</application> from a TTY, using
454 <xref linkend="xinit"/><!--, or from a graphical display manager, such as
455 <xref linkend="sddm"/>-->.
456 </para>
457
458 <para>
459 To start <application>Plasma</application> using <xref linkend="xinit"/>,
460 run the following commands:
461 </para>
462
463<screen role="nodump"><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
464<literal>dbus-launch --exit-with-x11 $KF6_PREFIX/bin/startplasma-x11</literal>
465EOF
466
467startx</userinput></screen>
468
469 <para>
470 The X session starts on the first unused virtual terminal, normally vt7.
471 You can switch to another vt<emphasis>n</emphasis> simultaneously
472 pressing the keys Ctrl-Alt-F<emphasis>n</emphasis>
473 (<emphasis>n</emphasis>=1, 2, ...). To switch back to the X session,
474 normally started at vt7, use Ctrl-Alt-F7. The vt where the command
475 <command>startx</command> was executed will display many messages,
476 including X starting messages, applications automatically started with
477 the session, and eventually, some warning and error messages. You may
478 prefer to redirect those messages to a log file, which not only will keep
479 the initial vt uncluttered, but can also be used for debugging purposes. This
480 can be done starting X with:
481 </para>
482
483 <screen role="nodump"><userinput>startx &amp;&gt; ~/x-session-errors</userinput></screen>
484
485 <para>
486 When shutting down or rebooting, the shutdown messages appear on the vt
487 where X was running. If you wish to see those messages, simultaneously
488 press keys Alt-F7 (assuming that X was running on vt7).
489 </para>
490<!-- Start plasma wayland with
491
492/opt/kf6/lib/libexec/plasma-dbus-run-session-if-needed /opt/kf6/bin/startplasma-wayland
493
494Investigate why it's in /opt/kf6/lib/libexec and not just in /opt/kf6/libexec
495
496
497Now the entry is "plasma (X11)" for Xorg, so I guess this is
498 not needed anymore:
499 <para>
500 If you intend to start <application>Plasma</application> using a
501 display manager such as <xref linkend="lightdm"/>, there will be two entries
502 for <application>Plasma</application>, one for use with
503 <application>Xorg</application>, and another for
504 <application>Wayland</application>. Modify the
505 <application>Xorg</application> entry with the following command, as the
506 <systemitem class="username">root</systemitem> user, so that you can
507 differentiate between the two:</para>
508
509<screen role="root"><userinput>sed '/^Name=/s/Plasma/Plasma on Xorg/' -i /usr/share/xsessions/plasma.desktop</userinput></screen>
510-->
511
512 </sect2>
513
514 <sect2 role="content">
515 <title>Contents</title>
516
517 <segmentedlist>
518 <segtitle>Installed Programs</segtitle>
519 <segtitle>Installed Libraries</segtitle>
520 <segtitle>Installed Directories</segtitle>
521
522 <seglistitem>
523 <seg>
524 There are too many plasma programs (over 50 in /opt/kf6/bin) to list
525 separately here.
526 </seg>
527 <seg>
528 There are too many plasma libraries (over 250 in /opt/kf6/lib) to list
529 separately here.
530 </seg>
531 <seg>
532 There are too many plasma directories (over 2700 in /opt/kf6) to
533 list separately here.
534 </seg>
535 </seglistitem>
536 </segmentedlist>
537
538 </sect2>
539
540</sect1>
Note: See TracBrowser for help on using the repository browser.