diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml index e95a76585..e2d2526f8 100644 --- a/chapter06/createfiles.xml +++ b/chapter06/createfiles.xml @@ -63,6 +63,7 @@ ln -sv bash /bin/sh cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false +messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false nobody:x:99:99:Unprivileged User:/dev/null:/bin/false EOF @@ -90,6 +91,7 @@ utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: +messagebus:x:18: mail:x:34: nogroup:x:99: EOF diff --git a/chapter06/dbus.xml b/chapter06/dbus.xml index 2d74dff76..1583729f4 100644 --- a/chapter06/dbus.xml +++ b/chapter06/dbus.xml @@ -25,7 +25,7 @@ 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 + "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 @@ -46,22 +46,15 @@ Installation of D-Bus - The D-Bus system daemon (the message bus) needs to run as a non-priveleged user, so create a suitable group and user: - -groupadd -g 18 messagebus -useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \ - -u 18 -g messagebus -s /bin/false messagebus - Prepare D-Bus for compilation: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ - --docdir=/usr/share/doc/dbus-&dbus-version; \ --libexecdir=/usr/lib/dbus-1.0 \ + --docdir=/usr/share/doc/dbus-&dbus-version; \ --with-console-auth-dir=/run/console/ \ - --without-systemdsystemunitdir \ - --disable-systemd + --with-systemdsystemunitdir=/lib/systemd/system The meaning of the configure options: @@ -74,23 +67,6 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \ - - --without-systemdsystemunitdir - - This prevents installation of Systemd unit files as Systemd - has not been installed yet (due to a circular dependency; Systemd - requires D-Bus, but D-Bus can also use Systemd functionality). - - - - - --disable-systemd - - This disables Systemd support in D-Bus, again due to the - circular dependency between D-Bus and Systemd. - - - Compile the package: @@ -102,7 +78,8 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \ Install the package: -make install +make install +dbus-uuidgen --ensure @@ -112,11 +89,15 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \ Installed programs Installed libraries + Installed directories - dbus-cleanup-sockets, dbus-daemon, dbus-monitor, dbus-send, - dbus-uuidgen + dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, + dbus-send and dbus-uuidgen libdbus-1.{so,a} + /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, + /usr/share/dbus-1, /usr/share/doc/dbus-&dbus-version; and + /var/lib/dbus @@ -145,6 +126,17 @@ useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \ + + dbus-launch + + Starts dbus-daemon from a shell + script. + + dbus-launch + + + + dbus-monitor diff --git a/chapter06/findutils.xml b/chapter06/findutils.xml index 96f9a5133..00828af11 100644 --- a/chapter06/findutils.xml +++ b/chapter06/findutils.xml @@ -75,15 +75,6 @@ make install - Some of the scripts in the LFS-Bootscripts package depend on - find. As /usr - may not be available during the early stages of booting, this program - needs to be on the root partition. The updatedb - script also needs to be modified to correct an explicit path: - -mv -v /usr/bin/find /bin -sed -i 's/find:=${BINDIR}/find:=\/bin/' /usr/bin/updatedb - diff --git a/chapter06/intltool.xml b/chapter06/intltool.xml index 148a41de2..781bf5629 100644 --- a/chapter06/intltool.xml +++ b/chapter06/intltool.xml @@ -56,8 +56,8 @@ Install the package: make install -install -v -m644 -D doc/I18N-HOWTO \ - /usr/share/doc/intltool-&intltool-version;/I18N-HOWTO +install -v -Dm644 doc/I18N-HOWTO \ + /usr/share/doc/intltool-&intltool-version;/I18N-HOWTO @@ -66,13 +66,11 @@ install -v -m644 -D doc/I18N-HOWTO \ Installed program - Installed library Installed directories intltool-extract, intltool-merge, intltool-prepare, intltool-update, and intltoolize - None /usr/share/doc/intltool-&intltool-version; and /usr/share/intltool diff --git a/chapter06/kbd.xml b/chapter06/kbd.xml index 97adb6899..b16af7fa8 100644 --- a/chapter06/kbd.xml +++ b/chapter06/kbd.xml @@ -56,8 +56,7 @@ Prepare Kbd for compilation: -./configure --prefix=/usr --datadir=/lib/kbd \ - --disable-vlock +./configure --prefix=/usr --datadir=/lib/kbd --disable-vlock The meaning of the configure options: @@ -127,7 +126,7 @@ cp -R -v doc/* \ chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbdinfo, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to - psfxtable), psfstriptable (link to psfxtable), psfxtable, + psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, and unicode_stop /lib/kbd @@ -301,7 +300,7 @@ cp -R -v doc/* \ - + setfont diff --git a/chapter06/kmod.xml b/chapter06/kmod.xml index fb308d5a3..34fe61089 100644 --- a/chapter06/kmod.xml +++ b/chapter06/kmod.xml @@ -157,17 +157,6 @@ ln -sv kmod /bin/lsmod - - libkmod - - This library is used by other programs to load and unload kernel - modules - - libkmod - - - - lsmod @@ -210,6 +199,17 @@ ln -sv kmod /bin/lsmod + + libkmod + + This library is used by other programs to load and unload kernel + modules + + libkmod + + + + diff --git a/chapter06/sysvinit.xml b/chapter06/sysvinit.xml index 8b114e780..41b8cf252 100644 --- a/chapter06/sysvinit.xml +++ b/chapter06/sysvinit.xml @@ -41,15 +41,27 @@ Installation of Sysvinit - Compile the package: + Since LFS uses Systemd as init system, this package + is needed for few utils that are not present in other + packages. Compile the package: -make -C src +make -C src fstab-decode +make -C src killall5 +make -C src last This package does not come with a test suite. Install the package: -make -C src install +cp -v src/{fstab-decode,killall5} /sbin +ln -sv ../sbin/killall5 /bin/pidof +cp -v src/last /usr/bin +ln -sv last /usr/bin/lastb + + Install manual pages for the installed programs: + +cp -v man/{last,lastb}.1 /usr/share/man/man1 +cp -v man/{fstab-decode,killall5,pidof}.8 /usr/share/man/man8 diff --git a/chapter06/xz.xml b/chapter06/xz.xml index dd927d179..a67c8b327 100644 --- a/chapter06/xz.xml +++ b/chapter06/xz.xml @@ -46,7 +46,7 @@ Prepare Xz for compilation with: -./configure --prefix=/usr --libdir=/lib --docdir=/usr/share/doc/xz-&xz-version; +./configure --prefix=/usr --docdir=/usr/share/doc/xz-&xz-version; Compile the package: @@ -58,7 +58,15 @@ Install the package: -make pkgconfigdir=/usr/lib/pkgconfig install +make install + + The shared library needs to be moved to + /lib, and as a result the + .so file in + /usr/lib will need to be recreated: + +mv -v /usr/lib/liblzma.so.* /lib +ln -sfv ../../lib/liblzma.so.5.0.4 /usr/lib/liblzma.so