glfs/kde/kf5/kf5-intro.xml
2024-01-19 22:39:35 +01:00

243 lines
8.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY kf5-download-http "&kf5-download-http;">
<!ENTITY kf5-download-ftp " ">
<!ENTITY kf5-md5sum "See Below">
<!ENTITY kf5-size "30 MB">
<!ENTITY kf5-buildsize "11.7 MB">
<!ENTITY kf5-time "0.4 SBU">
]>
<sect1 id="kf5-intro" xreflabel="Introduction to KF5">
<?dbhtml filename="kf5-intro.html"?>
<title>KDE Frameworks 5 Pre-installation Configuration</title>
<indexterm zone="kf5-intro">
<primary sortas="g-kf5">KDE Frameworks Introduction</primary>
</indexterm>
<para>
KF5 can be installed in <filename class="directory">/usr</filename> or
<filename class="directory">/opt/kf5</filename>. The BLFS editors
recommend the latter in the BLFS environment.
</para>
<sect2>
<title>Installing in /usr</title>
<para>
One option is to install <application>KDE Frameworks 5</application>
into the <filename class="directory">/usr</filename> hierarchy.
This creates a simpler setup but makes it more difficult to try
multiple versions of <application>KDE Frameworks</application>.
</para>
<screen><userinput>export KF5_PREFIX=/usr</userinput></screen>
<para>
It is a good idea to add the following variables to your
system or personal profiles:
</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
<literal># Begin kf5 extension for /etc/profile.d/qt5.sh
pathappend /usr/lib/plugins QT_PLUGIN_PATH
pathappend $QT5DIR/lib/plugins QT_PLUGIN_PATH
pathappend /usr/lib/qt5/qml QML2_IMPORT_PATH
pathappend $QT5DIR/lib/qml QML2_IMPORT_PATH
# End extension for /etc/profile.d/qt5.sh</literal>
EOF
cat &gt; /etc/profile.d/kf5.sh &lt;&lt; "EOF"
<literal># Begin /etc/profile.d/kf5.sh
export KF5_PREFIX=/usr
# End /etc/profile.d/kf5.sh</literal>
EOF</userinput></screen>
<note>
<para>
If <application>qt5</application> was installed in <filename
class="directory">/usr</filename>, the <filename
class="directory">$QT5DIR/lib/</filename> portions of the above paths
may need to be changed to <filename
class="directory">$QT5DIR/lib/qt5/</filename>.
</para>
</note>
<para>
Additionally, if <xref linkend="sudo"/> is installed, these variables
should be available to the super user. Execute the following commands as
the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/sudoers.d/qt &lt;&lt; "EOF"
<literal>Defaults env_keep += QT_PLUGIN_PATH
Defaults env_keep += QML2_IMPORT_PATH</literal>
EOF
cat &gt;&gt; /etc/sudoers.d/kde &lt;&lt; "EOF"
<literal>Defaults env_keep += KF5_PREFIX</literal>
EOF</userinput></screen>
</sect2>
<sect2>
<title>Installing in /opt</title>
<para>
A method of building multiple versions installs
<application>KDE Frameworks 5</application> in the
<filename class="directory">/opt</filename> hierarchy:
</para>
<screen><userinput>export KF5_PREFIX=/opt/kf5</userinput></screen>
<para>
If you are not installing <application>KDE Frameworks 5</application>
in <filename class="directory">/usr</filename>, you will need to
make some additional configuration changes. Best practice is to add
those to your system or personal profile:
</para>
<screen role="root"><userinput>cat &gt; /etc/profile.d/kf5.sh &lt;&lt; "EOF"
<literal># Begin /etc/profile.d/kf5.sh
export KF5_PREFIX=/opt/kf5
pathappend $KF5_PREFIX/bin PATH
pathappend $KF5_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
pathappend $KF5_PREFIX/etc/xdg XDG_CONFIG_DIRS
pathappend $KF5_PREFIX/share XDG_DATA_DIRS
pathappend $KF5_PREFIX/lib/plugins QT_PLUGIN_PATH
pathappend $KF5_PREFIX/lib/plugins/kcms QT_PLUGIN_PATH
pathappend $KF5_PREFIX/lib/qml QML2_IMPORT_PATH
pathappend $KF5_PREFIX/lib/python&python3-majorver;/site-packages PYTHONPATH
pathappend $KF5_PREFIX/share/man MANPATH
pathappend $KF5_PREFIX/include CPLUS_INCLUDE_PATH
# End /etc/profile.d/kf5.sh</literal>
EOF
cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
<literal># Begin Qt5 changes for KF5
pathappend /usr/lib/plugins QT_PLUGIN_PATH
pathappend $QT5DIR/plugins QT_PLUGIN_PATH
pathappend $QT5DIR/qml QML2_IMPORT_PATH
# End Qt5 changes for KF5</literal>
EOF</userinput></screen>
<para>
Expand your <filename>/etc/ld.so.conf</filename> file:
</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
<literal># Begin KF5 addition
/opt/kf5/lib
# End KF5 addition</literal>
EOF</userinput></screen>
<indexterm zone="kf5-intro">
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
</indexterm>
<para revision="sysv">
Several <application>KDE Frameworks 5</application> and
<application>Plasma 5</application> packages install
files into <application>D-Bus</application> and
<application>Polkit</application> directories. When installing
<application>KDE Frameworks 5</application> in a location other than
<filename class="directory">/usr</filename>,
<application>D-Bus</application> and <application>Polkit</application>
need to be able to find these files.
The easiest way to achieve this is to create the following symlinks (as
the <systemitem class="username">root</systemitem> user):
</para>
<screen role="root"
revision="sysv"><userinput>install -v -dm755 $KF5_PREFIX/{etc,share} &amp;&amp;
ln -sfv /etc/dbus-1 $KF5_PREFIX/etc &amp;&amp;
ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share &amp;&amp;
ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share</userinput></screen>
<para revision="systemd">
Several <application>KDE Frameworks 5</application> and
<application>KDE Plasma 5</application> packages install
files into <application>D-Bus</application>,
<application>Polkit</application>, and
<application>systemd</application> directories. When installing
<application>KDE 5</application> in a location other than
<filename class="directory">/usr</filename>,
<application>D-Bus</application>, <application>Polkit</application>,
and <application>systemd</application>
need to be able to find these files.
The easiest way to achieve this is to create the following symlinks (as
the <systemitem class="username">root</systemitem> user):
</para>
<screen role="root"
revision="systemd"><userinput>install -v -dm755 $KF5_PREFIX/{etc,share} &amp;&amp;
ln -sfv /etc/dbus-1 $KF5_PREFIX/etc &amp;&amp;
ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share &amp;&amp;
ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share &amp;&amp;
install -v -dm755 $KF5_PREFIX/lib &amp;&amp;
ln -sfv /usr/lib/systemd $KF5_PREFIX/lib</userinput></screen>
<para>
Some packages may also install icons from the "hicolor" icon set. Since that
icon set is used by many packages, it is a good idea to create a
symlink to the one in <filename class="directory">/usr/share</filename>
to avoid having multiple installations of <xref linkend="hicolor-icon-theme"/>.
Run the following commands as the <systemitem class="username">root</systemitem>
user:
</para>
<screen role="root"><userinput>install -v -dm755 $KF5_PREFIX/share/icons &amp;&amp;
ln -sfv /usr/share/icons/hicolor $KF5_PREFIX/share/icons</userinput></screen>
<tip>
<para>
Sometimes, the installation paths are hardcoded into installed files.
This is the reason why <filename class="directory">/opt/kf5</filename>
is used as installation prefix instead of <filename
class="directory">/opt/kf5-&kf5-version;</filename>. After installing
<application>KDE Frameworks</application>, you may rename the directory
and create a symlink:
</para>
<screen role="root"><userinput>mv /opt/kf5{,-&kf5-version;}
ln -sfv kf5-&kf5-version; /opt/kf5</userinput></screen>
<para>
Later on, you may want to install other versions of
<application>KDE Frameworks 5</application>. To do that, just remove
the symlink and use <filename class="directory">/opt/kf5</filename>
as the prefix again. Which version of
<application>KDE Frameworks 5</application> you use depends only on
where the symlink points. No other reconfiguration will be needed.
</para>
</tip>
</sect2>
</sect1>