glfs/kde/kf5/kf5-intro.xml
Pierre Labastie e1e58be454 Remove all ftp urls
neither firefox nor epiphany can download them, and they are not
well maintained, because rarely tested.
This is WIP because the "(HTTP)" part of "Download (HTTP)" will
need to be removed too.
But let's see what users think first...
2023-10-15 21:43:08 +02:00

243 lines
8.7 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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>