Some stuff involving D-Bus and stuff.

This commit is contained in:
Zeckmathederg 2024-10-20 16:41:32 -06:00
parent e9433410a6
commit 08c4970c9f
14 changed files with 366 additions and 87 deletions

View File

@ -39,6 +39,15 @@
</listitem> </listitem>
--> -->
<listitem>
<para>October 20th, 2024</para>
<itemizedlist>
<listitem>
<para>[Zeckmathederg] - Some stuff involving D-Bus and stuff.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>October 19th, 2024</para> <para>October 19th, 2024</para>
<itemizedlist> <itemizedlist>

View File

@ -66,7 +66,7 @@
OpenRC. Systemd will take more work and the process involves checking OpenRC. Systemd will take more work and the process involves checking
<ulink url="&blfs-svn;"/> and compare the instructions for each package. <ulink url="&blfs-svn;"/> and compare the instructions for each package.
There aren't many packages that require this process except ones that There aren't many packages that require this process except ones that
may need to be started as a service. <xref linkend="dbus"/> is especially may need to be started as a service. <xref linkend="dbus-pass1"/> is especially
different so watch out for it if you are using Systemd. The reason for not different so watch out for it if you are using Systemd. The reason for not
using Systemd is that Systemd makes things more complicated, a lot of users using Systemd is that Systemd makes things more complicated, a lot of users
use more simplistic init systems like SysV for their LFS system, and including use more simplistic init systems like SysV for their LFS system, and including

View File

@ -29,7 +29,9 @@
<command>llvm-config</command> to use, etc. This is required for Mesa's <command>llvm-config</command> to use, etc. This is required for Mesa's
Nouveau and/or Swrast Vulkan drivers. It is also needed for Gstreamer Nouveau and/or Swrast Vulkan drivers. It is also needed for Gstreamer
(not in the book), which is a recommended dependency of (not in the book), which is a recommended dependency of
<xref linkend="wine"/>. <xref linkend="wine"/>. It can also turn into a requirement for various
packages if you are wanting to upgrade packages using Meson and you are
wanting to install 32-bit versions of those packages.
</para> </para>
<para> <para>

View File

@ -56,7 +56,7 @@
<bridgehead renderas="sect4">Recommended</bridgehead> <bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"> <para role="recommended">
<xref linkend="alsa-lib"/>, <xref linkend="alsa-lib"/>,
<xref linkend="dbus"/>, <xref linkend="dbus-pass1"/> or <xref linkend="dbus-pass2"/>,
<xref linkend="elogind"/> <xref linkend="elogind"/>
<xref linkend="glib2"/>, <xref linkend="glib2"/>,
<ulink url="&blfs-svn;/multimedia/speex.html">Speex</ulink>, and <ulink url="&blfs-svn;/multimedia/speex.html">Speex</ulink>, and

View File

@ -8,33 +8,25 @@
<!ENTITY dbus-download-ftp " "> <!ENTITY dbus-download-ftp " ">
]> ]>
<sect1 id="dbus" xreflabel="dbus-&dbus-version;"> <sect1 id="dbus-pass2" xreflabel="dbus-&dbus-version; - Pass 2">
<?dbhtml filename="dbus.html"?> <?dbhtml filename="dbus-pass2.html"?>
<title>dbus-&dbus-version;</title> <title>dbus-&dbus-version; - Pass 2</title>
<indexterm zone="dbus"> <indexterm zone="dbus-pass2">
<primary sortas="a-D-Bus">D-Bus</primary> <primary sortas="a-D-Bus-Pass2">D-Bus-Pass2</primary>
</indexterm> </indexterm>
<sect2 role="package"> <sect2 role="package">
<title>Introduction to D-Bus</title> <title>Introduction to D-Bus - Pass 2</title>
<para revision="sysv"> <para>
<application>D-Bus</application> is a message bus system, a simple way D-Bus was already compiled before, but not a useful program,
for applications to talk to one another. <command>dbus-launch</command>. This pass will cover it, and some setup
<application>D-Bus</application> supplies both a system daemon (for required.
events such as <quote>new hardware device added</quote> or <quote>printer
queue changed</quote>) and a per-user-login-session daemon (for general
IPC needs among user applications). Also, the message bus is built on top
of a general one-to-one message passing framework, which can be used by
any two applications to communicate directly (without going through the
message bus daemon).
</para> </para>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
<para> <para>
@ -63,18 +55,7 @@
</sect2> </sect2>
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of D-Bus</title> <title>Installation of D-Bus - Pass 2</title>
<!--
<para revision="sysv">
If they do not already exist,
as the <systemitem class="username">root</systemitem> user, create a
system user and group to handle the system message bus activity:
</para>
<screen role="root" revision="sysv"><userinput>groupadd -g 18 messagebus &amp;&amp;
useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
-u 18 -g messagebus -s /bin/false messagebus</userinput></screen>
-->
<para> <para>
Install <application>D-Bus</application> by running the following Install <application>D-Bus</application> by running the following
@ -83,9 +64,6 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
<command>configure</command> command shown below): <command>configure</command> command shown below):
</para> </para>
<!-- Only usefull for systemd: it installs the services files in the
systemd/user
- -enable-user-session \ -->
<screen><userinput>./configure --prefix=/usr \ <screen><userinput>./configure --prefix=/usr \
--sysconfdir=/etc \ --sysconfdir=/etc \
--localstatedir=/var \ --localstatedir=/var \
@ -129,17 +107,6 @@ ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</useri
<screen role="root"><userinput>chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &amp;&amp; <screen role="root"><userinput>chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &amp;&amp;
chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></screen> chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></screen>
<para>
If you are still building your system in chroot or you did not start the
daemon yet, but you want to compile some packages that require
<application>D-Bus</application>, generate the
<application>D-Bus</application> UUID to avoid warnings when compiling
some packages with the following command as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>dbus-uuidgen --ensure</userinput></screen>
<para> <para>
If using elogind, create a symlink to the If using elogind, create a symlink to the
<filename>/var/lib/dbus/machine-id</filename> file: <filename>/var/lib/dbus/machine-id</filename> file:
@ -213,15 +180,15 @@ chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></scr
<filename>/etc/dbus-1/system.d/*</filename> <filename>/etc/dbus-1/system.d/*</filename>
</para> </para>
<indexterm zone="dbus dbus-config"> <indexterm zone="dbus-pass2 dbus-config">
<primary sortas="e-etc-dbus-1-session.conf">/etc/dbus-1/session.conf</primary> <primary sortas="e-etc-dbus-1-session.conf">/etc/dbus-1/session.conf</primary>
</indexterm> </indexterm>
<indexterm zone="dbus dbus-config"> <indexterm zone="dbus-pass2 dbus-config">
<primary sortas="e-etc-dbus-1/system.conf">/etc/dbus-1/system.conf</primary> <primary sortas="e-etc-dbus-1/system.conf">/etc/dbus-1/system.conf</primary>
</indexterm> </indexterm>
<indexterm zone="dbus dbus-config"> <indexterm zone="dbus-pass2 dbus-config">
<primary sortas="e-etc-dbus-1-system.d-star">/etc/dbus-1/system.d/*</primary> <primary sortas="e-etc-dbus-1-system.d-star">/etc/dbus-1/system.d/*</primary>
</indexterm> </indexterm>
@ -275,22 +242,19 @@ EOF</userinput></screen>
revision="sysv">blfs-bootscripts</ulink> package. revision="sysv">blfs-bootscripts</ulink> package.
</para> </para>
<indexterm zone="dbus dbus-session"> <indexterm zone="dbus-pass2 dbus-session">
<primary sortas="f-dbus">dbus</primary> <primary sortas="f-dbus-pass2">dbus-pass2</primary>
</indexterm> </indexterm>
<screen role="root"><userinput>make install-dbus</userinput></screen> <screen role="root"><userinput>make install-dbus</userinput></screen>
<para> <para>
If this is the first time to install Now would be a good idea to reboot and test to see if D-Bus,
<application>D-Bus</application> on the system and you are not elogind, etc. works, and you can login. Run the command
operating in a chroot environment, you can immediately start <command>loginctl</command> after ensuring D-Bus is running. The result
<command>dbus-daemon</command> without rebooting the system: should indicate that a SESSION and a SEAT have been created.
</para> </para>
<!-- nodump because maybe the user is building in chroot -->
<screen role="nodump"><userinput>/etc/init.d/dbus start</userinput></screen>
<para> <para>
Note that this boot script only starts the system-wide Note that this boot script only starts the system-wide
<application>D-Bus</application> daemon. Each user requiring access to <application>D-Bus</application> daemon. Each user requiring access to
@ -346,7 +310,7 @@ EOF</userinput></screen>
<para> <para>
is used to clean up leftover sockets in a directory is used to clean up leftover sockets in a directory
</para> </para>
<indexterm zone="dbus dbus-cleanup-sockets"> <indexterm zone="dbus-pass2 dbus-cleanup-sockets">
<primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary> <primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -358,7 +322,7 @@ EOF</userinput></screen>
<para> <para>
is the <application>D-Bus</application> message bus daemon is the <application>D-Bus</application> message bus daemon
</para> </para>
<indexterm zone="dbus dbus-daemon"> <indexterm zone="dbus-pass2 dbus-daemon">
<primary sortas="b-dbus-daemon">dbus-daemon</primary> <primary sortas="b-dbus-daemon">dbus-daemon</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -372,7 +336,7 @@ EOF</userinput></screen>
script. It would normally be called from a user's login script. It would normally be called from a user's login
scripts scripts
</para> </para>
<indexterm zone="dbus dbus-launch"> <indexterm zone="dbus-pass2 dbus-launch">
<primary sortas="b-dbus-launch">dbus-launch</primary> <primary sortas="b-dbus-launch">dbus-launch</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -385,7 +349,7 @@ EOF</userinput></screen>
is used to monitor messages going through a is used to monitor messages going through a
<application>D-Bus</application> message bus <application>D-Bus</application> message bus
</para> </para>
<indexterm zone="dbus dbus-monitor"> <indexterm zone="dbus-pass2 dbus-monitor">
<primary sortas="b-dbus-monitor">dbus-monitor</primary> <primary sortas="b-dbus-monitor">dbus-monitor</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -397,7 +361,7 @@ EOF</userinput></screen>
<para> <para>
starts a process as a new <application>D-Bus</application> session starts a process as a new <application>D-Bus</application> session
</para> </para>
<indexterm zone="dbus dbus-run-session"> <indexterm zone="dbus-pass2 dbus-run-session">
<primary sortas="b-dbus-run-session">dbus-run-session</primary> <primary sortas="b-dbus-run-session">dbus-run-session</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -410,7 +374,7 @@ EOF</userinput></screen>
is used to send a message to a <application>D-Bus</application> is used to send a message to a <application>D-Bus</application>
message bus message bus
</para> </para>
<indexterm zone="dbus dbus-send"> <indexterm zone="dbus-pass2 dbus-send">
<primary sortas="b-dbus-send">dbus-send</primary> <primary sortas="b-dbus-send">dbus-send</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -424,7 +388,7 @@ EOF</userinput></screen>
tool; it is a multi-purpose tool for debugging and profiling tool; it is a multi-purpose tool for debugging and profiling
<application>D-Bus</application> <application>D-Bus</application>
</para> </para>
<indexterm zone="dbus dbus-test-tool"> <indexterm zone="dbus-pass2 dbus-test-tool">
<primary sortas="b-dbus-test-tool">dbus-test-tool</primary> <primary sortas="b-dbus-test-tool">dbus-test-tool</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -440,7 +404,7 @@ EOF</userinput></screen>
<command>dbus-daemon --session</command> when it activates session <command>dbus-daemon --session</command> when it activates session
services without using systemd services without using systemd
</para> </para>
<indexterm zone="dbus dbus-update-activation-environment"> <indexterm zone="dbus-pass2 dbus-update-activation-environment">
<primary sortas="b-dbus-update-activation-environment"> <primary sortas="b-dbus-update-activation-environment">
dbus-update-activation-environment</primary> dbus-update-activation-environment</primary>
</indexterm> </indexterm>
@ -453,7 +417,7 @@ EOF</userinput></screen>
<para> <para>
is used to generate a universally unique ID is used to generate a universally unique ID
</para> </para>
<indexterm zone="dbus dbus-uuidgen"> <indexterm zone="dbus-pass2 dbus-uuidgen">
<primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary> <primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
</indexterm> </indexterm>
</listitem> </listitem>
@ -470,7 +434,7 @@ EOF</userinput></screen>
<command>dbus-daemon</command> is an application that uses this <command>dbus-daemon</command> is an application that uses this
library to implement a message bus daemon library to implement a message bus daemon
</para> </para>
<indexterm zone="dbus libdbus-1"> <indexterm zone="dbus-pass2 libdbus-1">
<primary sortas="c-libdbus-1">libdbus-1.so</primary> <primary sortas="c-libdbus-1">libdbus-1.so</primary>
</indexterm> </indexterm>
</listitem> </listitem>

View File

@ -46,8 +46,8 @@
<para role="recommended"> <para role="recommended">
<xref linkend="glib2"/> (required for Pango; GObject Introspection <xref linkend="glib2"/> (required for Pango; GObject Introspection
required for building GNOME), required for building GNOME),
<xref linkend="icu"/>, and <xref linkend="icu"/>,
<xref role="first" linkend="freetype2-pass1"/> <xref role="first" linkend="freetype2-pass1"/>, and
<xref linkend="mesonfiles"/> (for lib32) <xref linkend="mesonfiles"/> (for lib32)
</para> </para>

View File

@ -75,7 +75,7 @@
<bridgehead renderas="sect4">Recommended</bridgehead> <bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"> <para role="recommended">
<xref linkend='dbus'/>, <xref linkend='dbus-pass2'/>,
<xref role="runtime" linkend="elogind"/> (runtime; <xref role="runtime" linkend="elogind"/> (runtime;
<systemitem class='library'>libelogind</systemitem> also referred <systemitem class='library'>libelogind</systemitem> also referred
at build time but it's not really useful), at build time but it's not really useful),

View File

@ -16,6 +16,7 @@
<!-- SECURITY --> <!-- SECURITY -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/secdummy.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/secdummy.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/dbus-pass1.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/linux-pam.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/linux-pam.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/shadow.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/shadow.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/elogind.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="security/elogind.xml"/>
@ -76,7 +77,7 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/x/x7lib.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/x/x7lib.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/x/libxcvt.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/x/libxcvt.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/cmake.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/cmake.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/dbus.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/dbus-pass2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/libunwind.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/libunwind.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/nettle.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/nettle.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/gnutls.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dps/basicx/other/gnutls.xml"/>

View File

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 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 dbus-download-http "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.xz">
<!ENTITY dbus-download-ftp " ">
]>
<sect1 id="dbus-pass1" xreflabel="dbus-&dbus-version; - Pass 1">
<?dbhtml filename="dbus-pass1.html"?>
<title>dbus-&dbus-version; - Pass 1</title>
<indexterm zone="dbus-pass1">
<primary sortas="a-dbus-pass1">dbus-pass1</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to D-Bus</title>
<para>
<application>D-Bus</application> is a message bus system, a simple way
for applications to talk to one another.
<application>D-Bus</application> supplies both a system daemon (for
events such as <quote>new hardware device added</quote> or <quote>printer
queue changed</quote>) and a per-user-login-session daemon (for general
IPC needs among user applications). Also, the message bus is built on top
of a general one-to-one message passing framework, which can be used by
any two applications to communicate directly (without going through the
message bus daemon).
</para>
<para>
This is the first pass. A useful program, <command>dbus-launch</command>,
will be compiled later, but is not needed now. It depends on Xorg
libraries being installed beforehand.
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&dbus-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&dbus-download-ftp;"/>
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 role="installation">
<title>Installation of D-Bus - Pass 1</title>
<para>
Install <application>D-Bus</application> by running the following
commands (you may wish to review the output from <command>./configure
--help</command> first and add any desired parameters to the
<command>configure</command> command shown below):
</para>
<screen><userinput>./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--runstatedir=/run \
--disable-doxygen-docs \
--disable-xml-docs \
--disable-static \
--with-systemduserunitdir=no \
--with-systemdsystemunitdir=no \
--docdir=/usr/share/doc/dbus-&dbus-version; \
--with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<!-- FIXME: No longer needed with usr merge
<para>
The shared library needs to be moved to
<filename class="directory">/lib</filename>, and as a result the
<filename class="extension">.so</filename> file in
<filename class="directory">/usr/lib</filename> will need to be
recreated. Run the following command as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>mv -v /usr/lib/libdbus-1.so.* /lib &amp;&amp;
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
-->
<para>
If you are using a DESTDIR install,
<command>dbus-daemon-launch-helper</command> needs to be fixed
afterwards. Issue, as <systemitem class="username">root</systemitem>
user:
</para>
<screen role="root"><userinput>chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &amp;&amp;
chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></screen>
<para>
Generate the <application>D-Bus</application> UUID to avoid
warnings when compiling some packages with the following command as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>dbus-uuidgen --ensure</userinput></screen>
<para>
If using elogind, create a symlink to the
<filename>/var/lib/dbus/machine-id</filename> file:
</para>
<screen role="root"><userinput>ln -sfv /var/lib/dbus/machine-id /etc</userinput></screen>
</sect2>
<sect2>
<title>32-bit Installation of D-Bus</title>
<note>
<para>
The program <command>dbus-launch</command> will not need to have a
32-bit version, so this 32-bit compilation will be the first and only
needed pass unless you are upgrading D-Bus.
</para>
</note>
<para>
First clean the directory:
</para>
<screen><userinput>make distclean</userinput></screen>
<para>
Now install lib32-D-Bus by running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--sysconfdir=/etc \
--localstatedir=/var \
--runstatedir=/run \
--disable-doxygen-docs \
--disable-xml-docs \
--disable-static \
--with-systemduserunitdir=no \
--with-systemdsystemunitdir=no \
--with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
make</userinput></screen>
<para>
Now as the &root; user:
</para>
<screen role="root"><userinput>make DESTDIR=$PWD/DESTDIR install
cp -vR DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR
ldconfig</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--disable-doxygen-docs</parameter>: This switch disables
doxygen documentation build and install, if you have
<application>doxygen</application> installed. If
<application>doxygen</application> is installed, and you wish to build
them, remove this parameter.
</para>
<para>
<parameter>--disable-xml-docs</parameter>: This switch disables html
documentation build and install, if you have
<application>xmlto</application> installed. If
<application>xmlto</application> is installed, and you wish to build
them, remove this parameter.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
<parameter>--with-systemd{user,system}unitdir=no</parameter>: These
switches disable installation of systemd units on elogind based systems.
</para>
<para>
<parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>:
This parameter specifies the location of the system bus socket.
</para>
<para>
<parameter>--enable-tests</parameter>: Builds extra parts of the code to
support all tests. Do not use on a production build.
</para>
<para>
<option>--enable-embedded-tests</option>: Builds extra parts of the
code to support only unit tests. Do not use on a production build.
</para>
<para>
<parameter>--enable-asserts</parameter>: Enables debugging code to run
assertions for statements normally assumed to be true. This prevents a
warning that '<parameter>--enable-tests</parameter>' on its own is only
useful for profiling and might not give true results for all tests, but
adds its own NOTE that this should not be used in a production build.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<para>
See the full list of contents at <xref linkend="dbus-pass2"/>.
</para>
</sect2>
</sect1>

View File

@ -33,8 +33,6 @@
<filename class="directory">/run/systemd</filename> layout. <filename class="directory">/run/systemd</filename> layout.
</para> </para>
<bridgehead renderas="sect3">Package Information</bridgehead> <bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
@ -53,7 +51,7 @@
<bridgehead renderas="sect4">Recommended</bridgehead> <bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"> <para role="recommended">
<xref role="runtime" linkend="dbus"/> (runtime), <xref role="runtime" linkend="dbus-pass1"/> (runtime),
<xref linkend="linux-pam"/>, and <xref linkend="linux-pam"/>, and
<xref role="runtime" linkend="polkit"/> (runtime) <xref role="runtime" linkend="polkit"/> (runtime)
</para> </para>
@ -106,6 +104,43 @@ ln -sfvn elogind /usr/include/systemd</userinput></screen>
</sect2> </sect2>
<sect2 role="installation">
<title>32-bit Installation of elogind</title>
<para>
First clean the build directory:
</para>
<screen><userinput>rm -rf *</userinput></screen>
<para>
Install lib32-<application>elogind</application> by running the following
commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
meson setup .. \
--prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D cgroup-controller=elogind \
-D dev-kvm-mode=0660 \
-D dbuspolicydir=/etc/dbus-1/system.d &amp;&amp;
ninja</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>DESTDIR=$PWD/DESTDIR ninja install &amp;&amp;
cp -vR DESTDIR/usr/lib32/* /usr/lib32 &amp;&amp;
rm -rf DESTDIR &amp;&amp;
ln -sfv libelogind.pc /usr/lib32/pkgconfig/libsystemd.pc &amp;&amp;
ldconfig</userinput></screen>
</sect2>
<sect2 role="commands"> <sect2 role="commands">
<title>Command Explanations</title> <title>Command Explanations</title>
<!-- <!--
@ -229,12 +264,9 @@ password required pam_deny.so
EOF</userinput></screen> EOF</userinput></screen>
<note> <note>
<para>After completion of <application>elogind</application>, <para>Now continue on until you reach <xref linkend="dbus-pass2"/>,
you should check that it functions properly. First ensure that install it, and follow the configuration instructions on that page to see
<application>dbus</application> is running. It may be easiest if elogind is working properly.</para>
to do this by rebooting the system. After logging in again, run
the command <command>loginctl</command>. The result should indicate
that a SESSION and a SEAT have been created.</para>
</note> </note>
</sect3> </sect3>

View File

@ -33,8 +33,6 @@
users. users.
</para> </para>
<bridgehead renderas="sect3">Package Information</bridgehead> <bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
@ -198,6 +196,44 @@ chmod -v 4755 /usr/sbin/unix_chkpwd</userinput></screen>
</sect2> </sect2>
<sect2 role="installation">
<title>32-bit Installation of Linux PAM</title>
<para>
First clean the directory:
</para>
<screen><userinput>make distclean</userinput></screen>
<para>
Now install lib32-<application>Linux-PAM</application> by
running the following commands:
</para>
<screen><userinput>CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--host=i686-pc-linux-gnu \
--enable-securedir=/usr/lib/security &amp;&amp;
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem>
user:
</para>
<screen role="root"><userinput>make DESTDIR=$PWD/DESTDIR install &amp;&amp;
cp -vR DESTDIR/usr/lib32/* /usr/lib32 &amp;&amp;
cp -vR DESTDIR/usr/lib/* /usr/lib32 &amp;&amp;
rm -rf DESTDIR &amp;&amp;
ldconfig</userinput></screen>
</sect2>
<sect2 role="commands"> <sect2 role="commands">
<title>Command Explanations</title> <title>Command Explanations</title>

View File

@ -567,7 +567,7 @@ done</userinput></screen>
<para> <para>
A list of the installed files, along with their short descriptions can be A list of the installed files, along with their short descriptions can be
found at found at
<ulink url="&lfs-root;/chapter08/shadow.html#contents-shadow"/>. <ulink url="&lfs-website;/~thomas/multilib/chapter08/shadow.html#contents-shadow"/>.
</para> </para>
</sect2> </sect2>

View File

@ -29,7 +29,7 @@
<para> <para>
<xref linkend="alsa-plugins"/>, <xref linkend="alsa-plugins"/>,
<xref linkend="curl"/>, <xref linkend="curl"/>,
<xref linkend="dbus"/>, <xref linkend="dbus-pass2"/>,
Display server (<xref linkend="xorg-server"/> or Display server (<xref linkend="xorg-server"/> or
<xref linkend="wayland"/> w/ <xref linkend="xwayland"/>), <xref linkend="wayland"/> w/ <xref linkend="xwayland"/>),
<xref linkend="libglvnd"/> (32-bit is required for multilib), <xref linkend="libglvnd"/> (32-bit is required for multilib),

View File

@ -54,7 +54,7 @@
<para> <para>
Audio (<xref linkend="alsa-plugins"/> and/or Audio (<xref linkend="alsa-plugins"/> and/or
<xref linkend="pulseaudio"/>), <xref linkend="dbus"/>, <xref linkend="pulseaudio"/>), <xref linkend="dbus-pass2"/>,
Display server (<xref linkend="xorg-server"/> or Display server (<xref linkend="xorg-server"/> or
<xref linkend="wayland"/> w/ <xref linkend="xwayland"/>), <xref linkend="wayland"/> w/ <xref linkend="xwayland"/>),
<xref linkend="fontconfig"/>, <xref linkend="fontconfig"/>,