From 8edca0a44669b9e41a0a69e58fdd9549bebfa650 Mon Sep 17 00:00:00 2001 From: Krejzi Date: Fri, 15 Feb 2013 19:26:30 +0000 Subject: [PATCH] Rework D-Bus instructions, move user creation to createfiles.xml. Remove libdir switch from Xz and move libs manually as done in Zlib instructions. Modify Sysvinit instructions for few programs we need. Don't move find in findutils, it's not needed by Systemd. git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10156 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter06/createfiles.xml | 2 ++ chapter06/dbus.xml | 52 +++++++++++++++++---------------------- chapter06/findutils.xml | 9 ------- chapter06/intltool.xml | 6 ++--- chapter06/kbd.xml | 9 +++---- chapter06/kmod.xml | 22 ++++++++--------- chapter06/sysvinit.xml | 18 +++++++++++--- chapter06/xz.xml | 12 +++++++-- 8 files changed, 66 insertions(+), 64 deletions(-) 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