diff --git a/introduction/welcome/changelog.xml b/introduction/welcome/changelog.xml
index c569a0d2b8..e70cbc61b0 100644
--- a/introduction/welcome/changelog.xml
+++ b/introduction/welcome/changelog.xml
@@ -39,6 +39,15 @@
-->
+
+ October 20th, 2024
+
+
+ [Zeckmathederg] - Some stuff involving D-Bus and stuff.
+
+
+
+
October 19th, 2024
diff --git a/introduction/welcome/important.xml b/introduction/welcome/important.xml
index cbdf598f4f..5081d1f00a 100644
--- a/introduction/welcome/important.xml
+++ b/introduction/welcome/important.xml
@@ -66,7 +66,7 @@
OpenRC. Systemd will take more work and the process involves checking
and compare the instructions for each package.
There aren't many packages that require this process except ones that
- may need to be started as a service. is especially
+ may need to be started as a service. is especially
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
use more simplistic init systems like SysV for their LFS system, and including
diff --git a/multilib/mesonfiles.xml b/multilib/mesonfiles.xml
index 2718367f2f..01ea677c7d 100644
--- a/multilib/mesonfiles.xml
+++ b/multilib/mesonfiles.xml
@@ -29,7 +29,9 @@
llvm-config to use, etc. This is required for Mesa's
Nouveau and/or Swrast Vulkan drivers. It is also needed for Gstreamer
(not in the book), which is a recommended dependency of
- .
+ . 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.
diff --git a/shareddeps/audio/pulseaudio.xml b/shareddeps/audio/pulseaudio.xml
index e3b84bfdb5..4c33c7213c 100644
--- a/shareddeps/audio/pulseaudio.xml
+++ b/shareddeps/audio/pulseaudio.xml
@@ -56,7 +56,7 @@
Recommended,
- ,
+ or ,
,
Speex, and
diff --git a/shareddeps/dps/basicx/other/dbus.xml b/shareddeps/dps/basicx/other/dbus-pass2.xml
similarity index 82%
rename from shareddeps/dps/basicx/other/dbus.xml
rename to shareddeps/dps/basicx/other/dbus-pass2.xml
index 79d151a936..f4086e7b28 100644
--- a/shareddeps/dps/basicx/other/dbus.xml
+++ b/shareddeps/dps/basicx/other/dbus-pass2.xml
@@ -8,33 +8,25 @@
]>
-
-
+
+
- dbus-&dbus-version;
+ dbus-&dbus-version; - Pass 2
-
- D-Bus
+
+ D-Bus-Pass2
- Introduction to D-Bus
+ Introduction to D-Bus - Pass 2
-
- D-Bus is a message bus system, a simple way
- for applications to talk to one another.
- D-Bus supplies both a system daemon (for
- events such as new hardware device added or printer
- queue changed) 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).
+
+ D-Bus was already compiled before, but not a useful program,
+ dbus-launch. This pass will cover it, and some setup
+ required.
-
-
@@ -63,18 +55,7 @@
- Installation of D-Bus
-
+ Installation of D-Bus - Pass 2
Install D-Bus by running the following
@@ -83,9 +64,6 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
configure command shown below):
-
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -129,17 +107,6 @@ ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.sochown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &&
chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
-
- 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
- D-Bus, generate the
- D-Bus UUID to avoid warnings when compiling
- some packages with the following command as the
- root user:
-
-
-dbus-uuidgen --ensure
-
If using elogind, create a symlink to the
/var/lib/dbus/machine-id file:
@@ -213,15 +180,15 @@ chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper/etc/dbus-1/system.d/*
-
+ /etc/dbus-1/session.conf
-
+ /etc/dbus-1/system.conf
-
+ /etc/dbus-1/system.d/*
@@ -275,22 +242,19 @@ EOF
revision="sysv">blfs-bootscripts package.
-
- dbus
+
+ dbus-pass2make install-dbus
- If this is the first time to install
- D-Bus on the system and you are not
- operating in a chroot environment, you can immediately start
- dbus-daemon without rebooting the system:
+ Now would be a good idea to reboot and test to see if D-Bus,
+ elogind, etc. works, and you can login. Run the command
+ loginctl after ensuring D-Bus is running. The result
+ should indicate that a SESSION and a SEAT have been created.
-
- /etc/init.d/dbus start
-
Note that this boot script only starts the system-wide
D-Bus daemon. Each user requiring access to
@@ -346,7 +310,7 @@ EOF
is used to clean up leftover sockets in a directory
-
+ dbus-cleanup-sockets
@@ -358,7 +322,7 @@ EOF
is the D-Bus message bus daemon
-
+ dbus-daemon
@@ -372,7 +336,7 @@ EOF
script. It would normally be called from a user's login
scripts
-
+ dbus-launch
@@ -385,7 +349,7 @@ EOF
is used to monitor messages going through a
D-Bus message bus
-
+ dbus-monitor
@@ -397,7 +361,7 @@ EOF
starts a process as a new D-Bus session
-
+ dbus-run-session
@@ -410,7 +374,7 @@ EOF
is used to send a message to a D-Bus
message bus
-
+ dbus-send
@@ -424,7 +388,7 @@ EOF
tool; it is a multi-purpose tool for debugging and profiling
D-Bus
-
+ dbus-test-tool
@@ -440,7 +404,7 @@ EOF
dbus-daemon --session when it activates session
services without using systemd
-
+
dbus-update-activation-environment
@@ -453,7 +417,7 @@ EOF
is used to generate a universally unique ID
-
+ dbus-uuidgen
@@ -470,7 +434,7 @@ EOF
dbus-daemon is an application that uses this
library to implement a message bus daemon
-
+ libdbus-1.so
diff --git a/shareddeps/dps/basicx/other/harfbuzz.xml b/shareddeps/dps/basicx/other/harfbuzz.xml
index b33f7163a5..bec2081d58 100644
--- a/shareddeps/dps/basicx/other/harfbuzz.xml
+++ b/shareddeps/dps/basicx/other/harfbuzz.xml
@@ -46,8 +46,8 @@
(required for Pango; GObject Introspection
required for building GNOME),
- , and
-
+ ,
+ , and
(for lib32)
diff --git a/shareddeps/dps/x/xorg-server.xml b/shareddeps/dps/x/xorg-server.xml
index 1fa0ed3076..65dc22b66c 100644
--- a/shareddeps/dps/x/xorg-server.xml
+++ b/shareddeps/dps/x/xorg-server.xml
@@ -75,7 +75,7 @@
Recommended
- ,
+ ,
(runtime;
libelogind also referred
at build time but it's not really useful),
diff --git a/shareddeps/sdintro.xml b/shareddeps/sdintro.xml
index 1d1f871063..abf61b92ce 100644
--- a/shareddeps/sdintro.xml
+++ b/shareddeps/sdintro.xml
@@ -16,6 +16,7 @@
+
@@ -76,7 +77,7 @@
-
+
diff --git a/shareddeps/security/dbus-pass1.xml b/shareddeps/security/dbus-pass1.xml
new file mode 100644
index 0000000000..43c21ea1e5
--- /dev/null
+++ b/shareddeps/security/dbus-pass1.xml
@@ -0,0 +1,235 @@
+
+
+ %general-entities;
+
+
+
+]>
+
+
+
+
+ dbus-&dbus-version; - Pass 1
+
+
+ dbus-pass1
+
+
+
+ Introduction to D-Bus
+
+
+ D-Bus is a message bus system, a simple way
+ for applications to talk to one another.
+ D-Bus supplies both a system daemon (for
+ events such as new hardware device added or printer
+ queue changed) 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).
+
+
+
+ This is the first pass. A useful program, dbus-launch,
+ will be compiled later, but is not needed now. It depends on Xorg
+ libraries being installed beforehand.
+
+
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+
+
+
+ Installation of D-Bus - Pass 1
+
+
+ Install D-Bus by running the following
+ commands (you may wish to review the output from ./configure
+ --help first and add any desired parameters to the
+ configure command shown below):
+
+
+./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 &&
+make
+
+
+ Now, as the root user:
+
+
+make install
+
+
+
+
+ If you are using a DESTDIR install,
+ dbus-daemon-launch-helper needs to be fixed
+ afterwards. Issue, as root
+ user:
+
+
+chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &&
+chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper
+
+
+ Generate the D-Bus UUID to avoid
+ warnings when compiling some packages with the following command as the
+ root user:
+
+
+dbus-uuidgen --ensure
+
+
+ If using elogind, create a symlink to the
+ /var/lib/dbus/machine-id file:
+
+
+ln -sfv /var/lib/dbus/machine-id /etc
+
+
+
+
+ 32-bit Installation of D-Bus
+
+
+
+ The program dbus-launch 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.
+
+
+
+
+ First clean the directory:
+
+
+ make distclean
+
+
+ Now install lib32-D-Bus by running the following commands:
+
+
+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 &&
+make
+
+
+ Now as the &root; user:
+
+
+make DESTDIR=$PWD/DESTDIR install
+cp -vR DESTDIR/usr/lib32/* /usr/lib32
+rm -rf DESTDIR
+ldconfig
+
+
+
+
+ Command Explanations
+
+
+ --disable-doxygen-docs: This switch disables
+ doxygen documentation build and install, if you have
+ doxygen installed. If
+ doxygen is installed, and you wish to build
+ them, remove this parameter.
+
+
+
+ --disable-xml-docs: This switch disables html
+ documentation build and install, if you have
+ xmlto installed. If
+ xmlto is installed, and you wish to build
+ them, remove this parameter.
+
+
+
+
+
+ --with-systemd{user,system}unitdir=no: These
+ switches disable installation of systemd units on elogind based systems.
+
+
+
+ --with-system-socket=/run/dbus/system_bus_socket:
+ This parameter specifies the location of the system bus socket.
+
+
+
+ --enable-tests: Builds extra parts of the code to
+ support all tests. Do not use on a production build.
+
+
+
+ : Builds extra parts of the
+ code to support only unit tests. Do not use on a production build.
+
+
+
+ --enable-asserts: Enables debugging code to run
+ assertions for statements normally assumed to be true. This prevents a
+ warning that '--enable-tests' 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.
+
+
+
+
+
+ Contents
+
+
+ See the full list of contents at .
+
+
+
+
+
diff --git a/shareddeps/security/elogind.xml b/shareddeps/security/elogind.xml
index 25c924f5cc..9d253ff3db 100644
--- a/shareddeps/security/elogind.xml
+++ b/shareddeps/security/elogind.xml
@@ -33,8 +33,6 @@
/run/systemd layout.
-
-
Package Information
@@ -53,7 +51,7 @@
Recommended
- (runtime),
+ (runtime),
, and
(runtime)
@@ -106,6 +104,43 @@ ln -sfvn elogind /usr/include/systemd
+
+ 32-bit Installation of elogind
+
+
+ First clean the build directory:
+
+
+ rm -rf *
+
+
+ Install lib32-elogind by running the following
+ commands:
+
+
+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 &&
+ninja
+
+
+ Now, as the root user:
+
+
+DESTDIR=$PWD/DESTDIR ninja install &&
+cp -vR DESTDIR/usr/lib32/* /usr/lib32 &&
+rm -rf DESTDIR &&
+ln -sfv libelogind.pc /usr/lib32/pkgconfig/libsystemd.pc &&
+ldconfig
+
+
+
Command Explanations