Merge Xi's changes into trunk

Update to meson-0.58.0
Update to systemd-248
Update to gcc-11.1.0
Update to linux-5.12.1
Update to iproute2-5.12.0
Update to Python-3.9.5
Make /bin, /sbin, and /lib symlinks to their counterparts in /usr.
Thanks again for a significant portion of this work goes to Xi, I only
really merged it and made a couple of modifications for my updates. To
LFS 11.x we go!
This commit is contained in:
Douglas R. Reno 2021-05-11 23:24:11 -05:00
parent 0f7d4cb8a7
commit d7a942197e
59 changed files with 249 additions and 405 deletions

View File

@ -42,6 +42,44 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2021-05-12</para>
<itemizedlist>
<listitem>
<para>[renodr] - Moved LFS to a merged-/usr configuration. Thanks
goes to Xi Ruoyao for doing almost all of the work. Fixes
<ulink url="&lfs-ticket-root;4848">#4848</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Update to gcc-11.1.0. Fixes
<ulink url="&lfs-ticket-root;4847">#4847</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Fix a FTBFS when building glibc-2.30 with
gcc-11.1.0.</para>
</listitem>
<listitem revision="systemd">
<para>[renodr] - Update to systemd-248. Fixes
<ulink url="&lfs-ticket-root;4841">#4841</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Update to iproute2-5.12.0. Fixes
<ulink url="&lfs-ticket-root;4852">#4852</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Update to Python-3.9.5. Fixes
<ulink url="&lfs-ticket-root;4854">#4854</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Update to meson-0.58.0. Fixes
<ulink url="&lfs-ticket-root;4853">#4853</ulink>.</para>
</listitem>
<listitem>
<para>[renodr] - Update to linux-5.12.2. Fixes
<ulink url="&lfs-ticket-root;4840">#4840</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2021-04-28</para>

View File

@ -96,9 +96,9 @@
<!--<listitem>
<para>Gawk-&gawk-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>GCC-&gcc-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>GDBM-&gdbm-version;</para>
</listitem>-->
@ -228,9 +228,9 @@
<listitem revision="sysv">
<para>Sysklogd-&sysklogd-version;</para>
</listitem>
<!--<listitem revision="systemd">
<listitem revision="systemd">
<para>Systemd-&systemd-version;</para>
</listitem>-->
</listitem>
<listitem revision="sysv">
<para>SysVinit-&sysvinit-version;</para>
</listitem>

View File

@ -141,10 +141,22 @@
builds. The size is generally fairly large and depends on available disk
space.</para></listitem>
<listitem><para>/usr &ndash; A separate /usr partition is generally used
if providing a server for a thin client or diskless workstation. It is
normally not needed for LFS. A size of ten gigabytes will handle most
installations.</para></listitem>
<listitem><para>/usr &ndash; In LFS,
<filename class="directory">/bin</filename>,
<filename class="directory">/lib</filename>, and
<filename class="directory">/sbin</filename> are symlinks to their
counterpart in <filename class="directory">/usr</filename>.
So <filename class="directory">/usr</filename> contains all binaries
needed for the system to run. For LFS a separate partition for
<filename class="directory">/usr</filename> is normally not needed.
If you need it anyway, you should make a partition large enough to
fit all programs and libraries in the system. The root partition can be
very small (maybe just one gigabyte) in this configuration, so it's
suitable for a thin client or diskless workstation (where
<filename class="directory">/usr</filename> is mounted from a remote
server). However you should take care that an initramfs (not covered by
LFS) will be needed to boot a system with separate
<filename class="directory">/usr</filename> partition.</para></listitem>
<listitem><para>/opt &ndash; This directory is most useful for
BLFS where multiple installations of large packages like Gnome or KDE can

View File

@ -27,12 +27,12 @@ mount -v -t ext4 /dev/<replaceable>&lt;xxx&gt;</replaceable> $LFS</userinput></s
<para>If using multiple partitions for LFS (e.g., one for <filename
class="directory">/</filename> and another for <filename
class="directory">/usr</filename>), mount them using:</para>
class="directory">/home</filename>), mount them using:</para>
<screen role="nodump"><userinput>mkdir -pv $LFS
mount -v -t ext4 /dev/<replaceable>&lt;xxx&gt;</replaceable> $LFS
mkdir -v $LFS/usr
mount -v -t ext4 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/usr</userinput></screen>
mkdir -v $LFS/home
mount -v -t ext4 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/home</userinput></screen>
<para>Replace <replaceable>&lt;xxx&gt;</replaceable> and
<replaceable>&lt;yyy&gt;</replaceable> with the appropriate partition

View File

@ -80,7 +80,7 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
all directories under <filename class="directory">$LFS</filename> by making
<systemitem class="username">lfs</systemitem> the directory owner:</para>
<screen><userinput>chown -v lfs $LFS/{usr,lib,var,etc,bin,sbin,tools}
<screen><userinput>chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools}
case $(uname -m) in
x86_64) chown -v lfs $LFS/lib64 ;;
esac</userinput></screen>

View File

@ -20,11 +20,25 @@
<para>Create the required directory layout by running the following as
<systemitem class="username">root</systemitem>:</para>
<screen><userinput>mkdir -pv $LFS/{bin,etc,lib,sbin,usr,var}
<screen><userinput>mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}
for i in bin lib sbin; do
ln -sv usr/$i $LFS/$i
done
case $(uname -m) in
x86_64) mkdir -pv $LFS/lib64 ;;
esac</userinput></screen>
<note>
<para>
The above command is correct. The <command>ln</command> command has
a few syntactic versions, so be sure to check
<command>info coreutils ln</command> and <filename>ln(1)</filename>
before reporting what you may think is an error.
</para>
</note>
<para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled
with a cross-compiler (more details in section <xref
linkend="ch-tools-toolchaintechnotes"/>). In order to separate this

View File

@ -55,15 +55,6 @@
;;
esac</userinput></screen>
<note>
<para>
The above command is correct. The <command>ln</command> command has
a few syntactic versions, so be sure to check
<command>info coreutils ln</command> and <filename>ln(1)</filename>
before reporting what you may think is an error.
</para>
</note>
<para>Some of the Glibc programs use the non-FHS compliant
<filename class="directory">/var/db</filename> directory to store their
runtime data. Apply the following patch to make such programs store their
@ -71,6 +62,10 @@ esac</userinput></screen>
<screen><userinput remap="pre">patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch</userinput></screen>
<para>Fix a build issue with gcc-11.1:</para>
<screen><userinput remap="pre">sed 's/amx_/amx-/' -i sysdeps/x86/tst-cpu-features-supports.c</userinput></screen>
<para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para>
@ -85,10 +80,7 @@ cd build</userinput></screen>
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
libc_cv_slibdir=/lib</userinput></screen>
<!--
libc_cv_forced_unwind=yes \
libc_cv_c_cleanup=yes</userinput></screen> -->
libc_cv_slibdir=/usr/lib</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -122,9 +114,9 @@ cd build</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>libc_cv_slibdir=/lib</parameter></term>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem>
<para>This ensures that the library is installed in /lib instead
<para>This ensures that the library is installed in /usr/lib instead
of the default /lib64 on 64 bit machines.</para>
</listitem>
</varlistentry>

View File

@ -74,10 +74,6 @@
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
<para>Move the executable to where it is expected:</para>
<screen><userinput remap="install">mv $LFS/usr/bin/bash $LFS/bin/bash</userinput></screen>
<para>Make a link for the programs that use <command>sh</command> for
a shell:</para>

View File

@ -83,11 +83,7 @@
not necessary in this temporary environment, we must do so because some
programs harcode executable locations:</para>
<screen><userinput remap="install">mv -v $LFS/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} $LFS/bin
mv -v $LFS/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} $LFS/bin
mv -v $LFS/usr/bin/{rmdir,stty,sync,true,uname} $LFS/bin
mv -v $LFS/usr/bin/{head,nice,sleep,touch} $LFS/bin
mv -v $LFS/usr/bin/chroot $LFS/usr/sbin
<screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin
mkdir -pv $LFS/usr/share/man/man8
mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8
sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8</userinput></screen>

View File

@ -90,12 +90,6 @@ popd</userinput></screen>
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
<para>Move a shared library into its final location in the LFS system,
and recreate the symlink for it:</para>
<screen><userinput remap="install">mv -v $LFS/usr/lib/libmagic.so.* $LFS/lib
ln -sfv ../../lib/$(readlink /usr/lib/libmagic.so) $LFS/usr/lib/libmagic.so</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -57,11 +57,6 @@
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
<para>Move the executable to its final expected location:</para>
<screen><userinput remap="install">mv -v $LFS/usr/bin/find $LFS/bin
sed -i 's|find:=${BINDIR}|find:=/bin|' $LFS/usr/bin/updatedb</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -46,8 +46,7 @@
<para>Prepare Grep for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--bindir=/bin</userinput></screen>
--host=$LFS_TGT</userinput></screen>
<para>Compile the package:</para>

View File

@ -55,10 +55,6 @@
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
<para>Move the executable to its final expected location:</para>
<screen><userinput remap="install">mv -v $LFS/usr/bin/gzip $LFS/bin</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -148,18 +148,6 @@ echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen>
</variablelist>
<para>Move the shared libraries to the
<filename class="directory">/lib</filename> directory, where they are
expected to reside:</para>
<screen><userinput remap="install">mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib</userinput></screen>
<para>Because the libraries have been moved, one symlink points to
a non-existent file. Recreate it:</para>
<screen><userinput remap="install">ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -46,8 +46,7 @@
<para>Prepare Sed for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--bindir=/bin</userinput></screen>
--host=$LFS_TGT</userinput></screen>
<para>Compile the package:</para>

View File

@ -47,8 +47,7 @@
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(build-aux/config.guess) \
--bindir=/bin</userinput></screen>
--build=$(build-aux/config.guess)</userinput></screen>
<para>Compile the package:</para>

View File

@ -59,12 +59,6 @@
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
<para>Make sure that all essential files are in the correct directory:</para>
<screen><userinput remap="install">mv -v $LFS/usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} $LFS/bin
mv -v $LFS/usr/lib/liblzma.so.* $LFS/lib
ln -svf ../../lib/$(readlink $LFS/usr/lib/liblzma.so) $LFS/usr/lib/liblzma.so</userinput></screen>
</sect2>
<sect2 role="content">

View File

@ -22,7 +22,7 @@
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
PATH=/usr/bin:/usr/sbin \
/bin/bash --login +h</userinput></screen>
<para>The <parameter>-i</parameter> option given to the <command>env</command>

View File

@ -83,6 +83,7 @@ systemd-resolve:x:77:77:systemd Resolver:/:/bin/false
systemd-timesync:x:78:78:systemd Time Synchronization:/:/bin/false
systemd-coredump:x:79:79:systemd Core Dumper:/:/bin/false
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/bin/false
systemd-oomd:x:81:81:systemd Out Of Memory Daemon:/:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false</literal>
EOF</userinput></screen>
@ -152,6 +153,7 @@ systemd-resolve:x:77:
systemd-timesync:x:78:
systemd-coredump:x:79:
uuidd:x:80:
systemd-oomd:x:81:81:
wheel:x:97:
nogroup:x:99:
users:x:999:</literal>

View File

@ -27,7 +27,8 @@
<screen><userinput>mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}{include,src}
mkdir -pv /usr/local/{bin,lib,sbin}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}

View File

@ -52,6 +52,7 @@
<para>Prepare Util-linux for compilation:</para>
<screen><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/lib \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
@ -78,6 +79,16 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--libdir=/usr/lib</parameter></term>
<listitem>
<para>This switch ensures the
<filename class="extension">.so</filename> symlinks targeting
the shared library file in the same directory
(<filename class="directory">/usr/lib</filename>) directly.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-*</parameter></term>
<listitem>

View File

@ -44,15 +44,8 @@
<para>Prepare Acl for compilation:</para>
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
--bindir=/bin \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--libexecdir=/usr/lib \
--docdir=/usr/share/doc/acl-&acl-version;</userinput></screen>
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--libexecdir=/usr/lib \
--docdir=/usr/share/doc/acl-&acl-version;</userinput></screen>
<para>Compile the package:</para>
@ -69,14 +62,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<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:</para>
<screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>
</sect2>
<sect2 id="contents-acl" role="content">

View File

@ -102,7 +102,7 @@ SEARCH_DIR("/lib")</computeroutput></screen>
<para os="n">The output of the last command should be:</para>
<screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
<screen os="o"><computeroutput>attempt to open /usr/lib/libc.so.6 succeeded</computeroutput></screen>
<para os="p">Make sure GCC is using the correct dynamic linker:</para>
@ -111,7 +111,7 @@ SEARCH_DIR("/lib")</computeroutput></screen>
<para os="r">The output of the last command should be (allowing for
platform-specific differences in dynamic linker name):</para>
<screen os="s"><computeroutput>found ld-linux-x86-64.so.2 at /lib/ld-linux-x86-64.so.2</computeroutput></screen>
<screen os="s"><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
<para os="t">If the output does not appear as shown above or is not received
at all, then something is seriously wrong. Investigate and retrace the

View File

@ -43,13 +43,7 @@
<para>Prepare Attr for compilation:</para>
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
--bindir=/bin \
--disable-static \
--sysconfdir=/etc \
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--sysconfdir=/etc \
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
@ -68,14 +62,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<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:</para>
<screen><userinput remap="install">mv -v /usr/lib/libattr.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so</userinput></screen>
</sect2>
<sect2 id="contents-attr" role="content">

View File

@ -84,11 +84,9 @@
PATH=$PATH make tests &lt; $(tty)
EOF</userinput></screen>
<para>Install the package and move the main executable to
<filename class='directory'>/bin</filename>:</para>
<para>Install the package:</para>
<screen><userinput remap="install">make install
mv -vf /usr/bin/bash /bin</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen>
<para>Run the newly compiled <command>bash</command> program (replacing the one that is
currently being executed):</para>

View File

@ -84,16 +84,14 @@ make clean</userinput></screen>
<screen><userinput remap="install">make PREFIX=/usr install</userinput></screen>
<para>Install the shared <command>bzip2</command> binary into the
<filename class="directory">/bin</filename> directory, make
some necessary symbolic links, and clean up:</para>
<para>Install the shared library:</para>
<screen><userinput remap="install">cp -av libbz2.so.* /usr/lib
ln -sv libbz2.so.&bzip2-version; /usr/lib/libbz2.so</userinput></screen>
<screen><userinput remap="install">cp -v bzip2-shared /bin/bzip2
cp -av libbz2.so* /lib
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
rm -v /usr/bin/{bunzip2,bzcat,bzip2}
ln -sv bzip2 /bin/bunzip2
ln -sv bzip2 /bin/bzcat</userinput></screen>
<para>Install the shared <command>bzip2</command> binary into the
<filename class="directory">/bin</filename> directory:</para>
<screen><userinput remap="install">cp -v bzip2-shared /bin/bzip2</userinput></screen>
<para>Remove an useless static library:</para>

View File

@ -142,22 +142,10 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<para>Move programs to the locations specified by the FHS:</para>
<screen><userinput remap="install">mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
mv -v /usr/bin/chroot /usr/sbin
<screen><userinput remap="install">mv -v /usr/bin/chroot /usr/sbin
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
<para revision="sysv">Some of the scripts in the LFS-Bootscripts package
depend on <command>head</command>, <command>nice</command>,
<command>sleep</command>, and <command>touch</command>. As <filename
class="directory">/usr</filename> may not be available during the early and
late stages of booting, those binaries need to be on the root partition to
maintain FHS compliance:</para>
<screen><userinput remap="install">mv -v /usr/bin/{head,nice,sleep,touch} /bin</userinput></screen>
</sect2>
<sect2 id="contents-coreutils" role="content">

View File

@ -97,14 +97,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<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:</para>
<screen><userinput remap="install">mv -v /usr/lib/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
<para>Create a symlink so that D-Bus and systemd can use the same
<filename>machine-id</filename> file:</para>

View File

@ -53,8 +53,6 @@ cd build</userinput></screen>
<para>Prepare e2fsprogs for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
--bindir=/bin \
--with-root-prefix="" \
--enable-elf-shlibs \
--disable-libblkid \
--disable-libuuid \
@ -64,21 +62,6 @@ cd build</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<term><parameter>--with-root-prefix=""</parameter> and
<parameter>--bindir=/bin</parameter></term>
<listitem>
<para>Certain programs (such as the <command>e2fsck</command>
program) are considered essential programs. When, for example,
<filename class="directory">/usr</filename> is not mounted, these
programs still need to be available. They belong in directories
like <filename class="directory">/lib</filename> and <filename
class="directory">/sbin</filename>. If this option is not passed
to configure, the programs are installed into the
<filename class="directory">/usr</filename> directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-elf-shlibs</parameter></term>
<listitem>

View File

@ -53,13 +53,7 @@
<para>Prepare Eudev for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--bindir=/sbin \
--sbindir=/sbin \
--libdir=/usr/lib \
--sysconfdir=/etc \
--libexecdir=/lib \
--with-rootprefix= \
--with-rootlibdir=/lib \
--enable-manpages \
--disable-static</userinput></screen>
@ -70,7 +64,7 @@
<para>Create some directories now that are needed for tests, but
will also be used as a part of installation:</para>
<screen><userinput remap="test">mkdir -pv /lib/udev/rules.d
<screen><userinput remap="test">mkdir -pv /usr/lib/udev/rules.d
mkdir -pv /etc/udev/rules.d</userinput></screen>
<para>To test the results, issue:</para>
@ -103,7 +97,7 @@ make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
<para>Information about hardware devices is maintained in the
<filename class="directory">/etc/udev/hwdb.d</filename> and
<filename class="directory">/lib/udev/hwdb.d</filename> directories.
<filename class="directory">/usr/lib/udev/hwdb.d</filename> directories.
<application>Eudev</application> needs that information to be compiled
into a binary database <filename>/etc/udev/hwdb.bin</filename>. Create the
initial database:</para>
@ -124,13 +118,13 @@ make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
<segtitle>Installed directories</segtitle>
<seglistitem>
<seg><!-- These are in /lib/udev and not to be called by the user:
<seg><!-- These are in /usr/lib/udev and not to be called by the user:
accelerometer, ata_id, cdrom_id, collect, mtd_probe,
scsi_id, v4l_id,--> udevadm and udevd</seg>
<seg>libudev.so</seg>
<seg>/etc/udev, /lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg>
<seg>/etc/udev, /usr/lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg>
</seglistitem>
</segmentedlist>

View File

@ -57,16 +57,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<para><command>/bin/more</command> from util-linux will link to
<filename class="libraryfile">libmagic.so</filename>, so the shared
library should 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:</para>
<screen><userinput remap="install">mv -v /usr/lib/libmagic.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libmagic.so) /usr/lib/libmagic.so</userinput></screen>
</sect2>

View File

@ -74,20 +74,6 @@ su tester -c "PATH=$PATH make check"</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen>
<para revision="sysv">Some of the scripts in the LFS-Bootscripts package
depend on <command>find</command>. As <filename
class="directory">/usr</filename> may not be available during the early
stages of booting, this program needs to be on the root partition. The
<command>updatedb</command> script also needs to be modified to correct an
explicit path:</para>
<para revision="systemd"> Some packages in BLFS and beyond expect the
<command>find</command> program in <filename
class="directory">/bin</filename>, so make sure it's placed there:</para>
<screen><userinput remap="install">mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb</userinput></screen>
</sect2>
<sect2 id="contents-findutils" role="content">

View File

@ -124,9 +124,12 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para>Six tests related to get_time are known to fail. These are
apparently related to the en_HK locale.</para>
<para>Additionally the following tests related to the following files
<para>Additionally, the test constexpr-52830 is known to fail.</para>
<!--<para>Additionally the following tests related to the following files
are known to fail with glibc-2.33: asan_test.C, co-ret-17-void-ret-coro.C,
pr95519-05-gro.C, pr80166.c.</para>
-->
<!-- don't fail anymore after the move of iana-etc and /etc/hosts
<para>Two tests named lookup.cc and reverse.cc in experimental/net
@ -164,7 +167,7 @@ rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/</useri
url="https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s09.html">FHS</ulink>
for "historical" reasons.</para>
<screen><userinput remap="install">ln -sv ../usr/bin/cpp /lib</userinput></screen>
<screen><userinput remap="install">ln -svr /usr/bin/cpp /lib</userinput></screen>
<!-- already done earlier
<para>Many packages use the name <command>cc</command> to call the C
compiler. To satisfy those packages, create a symlink:</para>

View File

@ -55,6 +55,10 @@
<screen><userinput remap="pre">sed -e '402a\ *result = local->data.services[database_index];' \
-i nss/nss_database.c</userinput></screen>
<para>Fix a build issue with gcc-11.1:</para>
<screen><userinput remap="pre">sed 's/amx_/amx-/' -i sysdeps/x86/tst-cpu-features-supports.c</userinput></screen>
<para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para>
@ -68,7 +72,7 @@ cd build</userinput></screen>
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--with-headers=/usr/include \
libc_cv_slibdir=/lib</userinput></screen>
libc_cv_slibdir=/usr/lib</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -109,7 +113,7 @@ cd build</userinput></screen>
</varlistentry>
<varlistentry>
<term><parameter>libc_cv_slibdir=/lib</parameter></term>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem>
<para>This variable sets the correct library for all
systems. We do not want lib64 to be used.</para>
@ -221,7 +225,7 @@ mkdir -pv /var/cache/nscd</userinput></screen>
<command>nscd</command>:</para>
<screen revision="systemd"><userinput remap="install">install -v -Dm644 ../nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf
install -v -Dm644 ../nscd/nscd.service /lib/systemd/system/nscd.service</userinput></screen>
install -v -Dm644 ../nscd/nscd.service /usr/lib/systemd/system/nscd.service</userinput></screen>
<para>Next, install the locales that can make the system respond in a
different language. None of the locales are required, but if some of them

View File

@ -42,7 +42,7 @@
<para>Prepare Grep for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para>

View File

@ -57,10 +57,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<para>Move a program that needs to be on the root filesystem:</para>
<screen><userinput remap="install">mv -v /usr/bin/gzip /bin</userinput></screen>
</sect2>
<sect2 id="contents-gzip" role="content">

View File

@ -114,11 +114,9 @@
<screen><userinput remap="install">make install</userinput></screen>
<para>Move some programs so they are available if <filename
class='directory'>/usr</filename> is not accessible:</para>
<para>Move a program to the proper location:</para>
<screen><userinput remap="install">mv -v /usr/bin/{hostname,ping,ping6,traceroute} /bin
mv -v /usr/bin/ifconfig /sbin</userinput></screen>
<screen><userinput remap="install">mv -v /{,s}bin/ifconfig</userinput></screen>
</sect2>

View File

@ -44,9 +44,7 @@
<para>Prepare Kmod for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--bindir=/bin \
--sysconfdir=/etc \
--with-rootlibdir=/lib \
--with-xz \
--with-zstd \
--with-zlib</userinput></screen>
@ -61,14 +59,6 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--with-rootlibdir=/lib</parameter></term>
<listitem>
<para>This option ensures different library related files are placed
in the correct directories.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>

View File

@ -69,15 +69,13 @@
<screen><userinput remap="test">make test</userinput></screen>
<para>Install the package and make sure the essential libraries are in
the correct directory:</para>
<para>Install the package:</para>
<screen><userinput remap="install">make prefix=/usr lib=lib install
for libname in cap psx; do
mv -v /usr/lib/lib${libname}.so.* /lib
ln -sfv ../../lib/lib${libname}.so.2 /usr/lib/lib${libname}.so
chmod -v 755 /lib/lib${libname}.so.&libcap-version;
done</userinput></screen>
<screen><userinput remap="install">make prefix=/usr lib=lib install</userinput></screen>
<para>Adjust the permission of the shared libraries:</para>
<screen><userinput remap="install">chmod -v 755 /usr/lib/lib{cap,psx}.so.&libcap-version;</userinput></screen>
</sect2>

View File

@ -48,8 +48,7 @@
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-debuginfod \
--enable-libdebuginfod=dummy \
--libdir=/lib</userinput></screen>
--enable-libdebuginfod=dummy</userinput></screen>
<para>Compile the package:</para>
@ -65,7 +64,7 @@
<screen><userinput remap="install">make -C libelf install
install -vm644 config/libelf.pc /usr/lib/pkgconfig
rm /lib/libelf.a</userinput></screen>
rm /usr/lib/libelf.a</userinput></screen>
</sect2>

View File

@ -43,9 +43,7 @@
<para>Prepare Man-DB for compilation:</para>
<screen revision="systemd"><userinput remap="configure">sed -i '/find/s@/usr@@' init/systemd/man-db.service.in
./configure --prefix=/usr \
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
--docdir=/usr/share/doc/man-db-&man-db-version; \
--sysconfdir=/etc \
--disable-setuid \
@ -68,15 +66,6 @@
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry revision="systemd">
<term><command>sed -i '/find/s@/usr@@' init/systemd/man-db.service.in</command></term>
<listitem>
<para>This changes a harcoded path to the <command>find</command>
utility, which we install in
<filename class="directory">/bin</filename>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-setuid</parameter></term>
<listitem>

View File

@ -100,17 +100,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<para>Move the shared libraries to the
<filename class="directory">/lib</filename> directory, where they are
expected to reside:</para>
<screen><userinput remap="install">mv -v /usr/lib/libncursesw.so.6* /lib</userinput></screen>
<para>Because the libraries have been moved, one symlink points to
a non-existent file. Recreate it:</para>
<screen><userinput remap="install">ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so</userinput></screen>
<para>Many applications still expect the linker to be able to find
non-wide-character Ncurses libraries. Trick such applications into linking with
wide-character libraries by means of symlinks and linker scripts:</para>

View File

@ -51,15 +51,11 @@
<para>Prepare procps-ng for compilation:</para>
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
--exec-prefix= \
--libdir=/usr/lib \
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
--disable-static \
--disable-kill</userinput></screen>
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
--exec-prefix= \
--libdir=/usr/lib \
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
--disable-static \
--disable-kill \
@ -102,12 +98,6 @@ make check</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen>
<para>Finally, move essential libraries to a location that can be found
if <filename class="directory">/usr</filename> is not mounted.</para>
<screen><userinput remap="install">mv -v /usr/lib/libprocps.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libprocps.so) /usr/lib/libprocps.so</userinput></screen>
</sect2>
<sect2 id="contents-procps" role="content">

View File

@ -55,12 +55,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<para>Finally, move the <command>killall</command> and <command>fuser</command>
programs to the location specified by the FHS:</para>
<screen><userinput remap="install">mv -v /usr/bin/fuser /bin
mv -v /usr/bin/killall /bin</userinput></screen>
</sect2>
<sect2 id="contents-psmisc" role="content">

View File

@ -94,13 +94,6 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" install</userinput></screen>
<para>Now move the dynamic libraries to a more appropriate location
and fix up symbolic links:</para>
<screen><userinput remap="install">mv -v /usr/lib/lib{readline,history}.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so</userinput></screen>
<para>If desired, install the documentation:</para>
<screen><userinput remap="install">install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-&readline-version;</userinput></screen>

View File

@ -23,7 +23,7 @@
chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
PATH=/usr/bin:/usr/sbin \
/bin/bash --login</userinput></screen>
<para>Here the <parameter>+h</parameter> option is not used anymore, since

View File

@ -42,7 +42,7 @@
<para>Prepare Sed for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
<para>Compile the package and generate the HTML documentation:</para>

View File

@ -65,10 +65,23 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
allows passwords longer than 8 characters. It is also necessary to change
the obsolete <filename class="directory">/var/spool/mail</filename> location
for user mailboxes that Shadow uses by default to the <filename
class="directory">/var/mail</filename> location used currently:</para>
class="directory">/var/mail</filename> location used currently. And,
get rid of <filename class="directory">/bin</filename> and
<filename class="directory">/sbin</filename> from <envar>PATH</envar>,
since they are simply symlinks to their counterpart in
<filename class="directory">/usr</filename>.</para>
<note>
<para>If <filename class="directory">/bin</filename> and/or
<filename class="directory">/sbin</filename> are prefereed to be
left over in <envar>PATH</envar> for some reason, modify
<envar>PATH</envar> in <filename>.bashrc</filename> after LFS is
built.</para>
</note>
<screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
-e 's:/var/spool/mail:/var/mail:' \
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
-i etc/login.defs</userinput></screen>
<note>
@ -118,17 +131,6 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
<para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen>
<!--
<para>Move a misplaced program to its proper location:</para>
<screen><userinput remap="install">mv -v /usr/bin/passwd /bin</userinput></screen>
-->
<!-- <para>Move Shadow's libraries to more appropriate locations:</para>
<screen><userinput remap="install">mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen> -->
</sect2>

View File

@ -33,17 +33,8 @@
<!-- also of interest are libgfortan, libgo, libgomp, and libobjc from GCC -->
<!--<screen><userinput>save_lib="ld-2.25.so libc-2.25.so libpthread-2.25.so libthread_db-1.0.so"-->
<screen><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so"
cd /lib
for LIB in $save_lib; do
objcopy --only-keep-debug $LIB $LIB.dbg
strip --strip-unneeded $LIB
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
done
save_usrlib="libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
<screen><userinput>save_usrlib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so
libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
libitm.so.&libitm-version; libatomic.so.&libatomic-version;" <!-- libcilkrts.so.&libcilkrts-version;-->
cd /usr/lib
@ -54,7 +45,7 @@ for LIB in $save_usrlib; do
objcopy --add-gnu-debuglink=$LIB.dbg $LIB
done
unset LIB save_lib save_usrlib</userinput></screen>
unset LIB save_usrlib</userinput></screen>
<!-- <para>Before performing the stripping, take special care to ensure that
none of the binaries that are about to be stripped are running:</para>
@ -67,10 +58,10 @@ unset LIB save_lib save_usrlib</userinput></screen>
<screen><userinput>find /usr/lib -type f -name \*.a \
-exec strip --strip-debug {} ';'
find /lib /usr/lib -type f -name \*.so* ! -name \*dbg \
find /usr/lib -type f -name \*.so* ! -name \*dbg \
-exec strip --strip-unneeded {} ';'
find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
find /usr/{bin,sbin,libexec} -type f \
-exec strip --strip-all {} ';'</userinput></screen>
<para>A large number of files will be reported as having their file

View File

@ -47,14 +47,13 @@
-->
<!-- For linux-5.11's API headers changing the rfkill_event structure -->
<para>First, apply a patch to fix some regressions and fix functionality
with future versions of the kernel:</para>
<para>First, apply a patch to fix some build issues:</para>
<screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-3.patch</userinput></screen>
<screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-1.patch</userinput></screen>
<para>Remove tests that cannot be built in chroot:</para>
<screen><userinput remap="pre">sed '181,$ d' -i src/resolve/meson.build</userinput></screen>
<screen><userinput remap="pre">sed '177,$ d' -i src/resolve/meson.build</userinput></screen>
<para>Remove an unneeded group,
<systemitem class="groupname">render</systemitem>, from the default udev
@ -76,15 +75,8 @@ meson --prefix=/usr \
-Ddefault-dnssec=no \
-Dfirstboot=false \
-Dinstall-tests=false \
-Dkmod-path=/bin/kmod \
-Dldconfig=false \
-Dmount-path=/bin/mount \
-Drootprefix= \
-Drootlibdir=/lib \
-Dsplit-usr=true \
-Dsulogin-path=/sbin/sulogin \
-Dsysusers=false \
-Dumount-path=/bin/umount \
-Db_lto=false \
-Drpmmacrosdir=no \
-Dhomed=false \
@ -97,14 +89,6 @@ meson --prefix=/usr \
<variablelist>
<title>The meaning of the meson options:</title>
<varlistentry>
<term><parameter>-D*-path=*</parameter></term>
<listitem>
<para>These switches provide the location of binaries needed by
systemd at runtime that have not yet been installed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Ddefault-dnssec=no</parameter></term>
<listitem>
@ -139,24 +123,6 @@ meson --prefix=/usr \
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Droot*</parameter></term>
<listitem>
<para>These switches ensure that core programs and
shared libraries are installed in subdirectories
of the root partition.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dsplit-usr=true</parameter></term>
<listitem>
<para>This switch ensures that systemd will work on
systems where /bin, /lib and /sbin directories are not
symlinks to their /usr counterparts.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dsysusers=false</parameter></term>
<listitem>
@ -257,26 +223,27 @@ meson --prefix=/usr \
<seglistitem>
<seg>bootctl, busctl, coredumpctl, halt (symlink to systemctl),
hostnamectl, init, journalctl, kernel-install, localectl, loginctl,
machinectl, networkctl, portablectl, poweroff (symlink to
machinectl, networkctl, oomctl, portablectl, poweroff (symlink to
systemctl), reboot (symlink to systemctl), resolvconf (symlink to
resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown
(symlink to systemctl), systemctl, systemd-analyze,
systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape,
systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup,
systemd-cryptenroll, systemd-delta, systemd-detect-virt,
systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128,
systemd-inhibit, systemd-machine-id-setup,
systemd-mount, systemd-notify, systemd-nspawn, systemd-path,
systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run,
systemd-socket-activate, systemd-stdio-bridge, systemd-tmpfiles,
systemd-tty-ask-password-agent, systemd-umount (symlink to
systemd-mount), telinit (symlink to systemctl), timedatectl, and
udevadm</seg>
systemd-socket-activate, systemd-stdio-bridge, systemd-sysext,
systemd-tmpfiles, systemd-tty-ask-password-agent,
systemd-umount (symlink to systemd-mount),
telinit (symlink to systemctl), timedatectl, and udevadm</seg>
<seg>libnss_myhostname.so.2, libnss_mymachines.so.2,
libnss_resolve.so.2, libnss_systemd.so.2,
libsystemd.so, libsystemd-shared-&systemd-version;.so (in /lib/systemd),
libsystemd.so, libsystemd-shared-&systemd-version;.so (in /usr/lib/systemd),
and libudev.so</seg>
<seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,
/etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,
/etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,
/etc/xdg/systemd, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd,
/usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel,
/usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd,
/usr/lib/tmpfiles.d,
@ -423,6 +390,16 @@ meson --prefix=/usr \
</listitem>
</varlistentry>
<varlistentry id="oomctl">
<term><command>oomctl</command></term>
<listitem>
<para>Controls the systemd Out Of Memory daemon</para>
<indexterm zone="ch-system-systemd oomctl">
<primary sortas="b-oomctl">oomctl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="portablectl">
<term><command>portablectl</command></term>
<listitem>
@ -568,6 +545,17 @@ meson --prefix=/usr \
</listitem>
</varlistentry>
<varlistentry id="systemd-cryptenroll">
<term><command>systemd-cryptenroll</command></term>
<listitem>
<para>Is used to enroll or remove a system from full disk encryption,
as well as set and query private keys and recovery keys</para>
<indexterm zone="ch-system-systemd systemd-cryptenroll">
<primary sortas="b-systemd-cryptenroll">systemd-cryptenroll</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-delta">
<term><command>systemd-delta</command></term>
<listitem>
@ -743,6 +731,17 @@ meson --prefix=/usr \
</listitem>
</varlistentry>
<varlistentry id="systemd-sysext">
<term><command>systemd-sysext</command></term>
<listitem>
<para>Creates, deletes, and manages system extensions through the
systemd-sysextd daemon</para>
<indexterm zone="ch-system-systemd systemd-sysext">
<primary sortas="b-systemd-sysext">systemd-sysext</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-tmpfiles">
<term><command>systemd-tmpfiles</command></term>
<listitem>

View File

@ -46,8 +46,7 @@
<para>Prepare Tar for compilation:</para>
<screen><userinput remap="configure">FORCE_UNSAFE_CONFIGURE=1 \
./configure --prefix=/usr \
--bindir=/bin</userinput></screen>
./configure --prefix=/usr</userinput></screen>
<variablelist>
<title>The meaning of the configure option:</title>

View File

@ -45,6 +45,7 @@
<para>Prepare Util-linux for compilation:</para>
<screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/lib \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \
@ -60,6 +61,7 @@
runstatedir=/run</userinput></screen>
<screen revision="systemd"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
--libdir=/usr/lib \
--docdir=/usr/share/doc/util-linux-&util-linux-version; \
--disable-chfn-chsh \
--disable-login \

View File

@ -58,13 +58,9 @@
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package and make sure that all essential files are in the
correct directory:</para>
<para>Install the package:</para>
<screen><userinput remap="install">make install
mv -v /usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} /bin
mv -v /usr/lib/liblzma.so.* /lib
ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so</userinput></screen>
<screen><userinput remap="install">make install</userinput></screen>
</sect2>

View File

@ -57,14 +57,6 @@
<screen><userinput remap="install">make install</userinput></screen>
<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:</para>
<screen><userinput remap="install">mv -v /usr/lib/libz.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so</userinput></screen>
<para>Remove an useless static library:</para>
<screen><userinput remap="install">rm -fv /usr/lib/libz.a</userinput></screen>

View File

@ -54,14 +54,8 @@
<screen><userinput remap="install">make prefix=/usr install</userinput></screen>
<para>Remove the static library and move the shared library to
<filename class="directory">/lib</filename>. Also, the
<filename class="extension">.so</filename> file in
<filename class="directory">/usr/lib</filename> will need to be recreated:</para>
<screen><userinput remap="install">rm -v /usr/lib/libzstd.a
mv -v /usr/lib/libzstd.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libzstd.so) /usr/lib/libzstd.so</userinput></screen>
<para>Remove the static library:</para>
<screen><userinput remap="install">rm -v /usr/lib/libzstd.a</userinput></screen>
</sect2>

View File

@ -48,7 +48,7 @@
rules. A script has been included that generates the initial rules.
Generate these rules by running:</para>
<screen role="install"><userinput>bash /lib/udev/init-net-rules.sh</userinput></screen>
<screen role="install"><userinput>bash /usr/lib/udev/init-net-rules.sh</userinput></screen>
<para> Now, inspect the
<filename>/etc/udev/rules.d/70-persistent-net.rules</filename> file, to

View File

@ -108,7 +108,7 @@
<para>A short time later, the kernel will send a uevent to <command>
udevd</command>. Based on the rules specified in the files within the
<filename class="directory">/etc/udev/rules.d</filename>, <filename
class="directory">/lib/udev/rules.d</filename>, and <filename
class="directory">/usr/lib/udev/rules.d</filename>, and <filename
class="directory">/run/udev/rules.d</filename> directories, <command>
udevd</command> will create additional symlinks to the device node, or
change its permissions, owner, or group, or modify the internal
@ -285,7 +285,7 @@
driver does not export its data to
<systemitem class="filesystem">sysfs</systemitem>. This is most common
with third party drivers from outside the kernel tree. Create a static
device node in <filename>/lib/udev/devices</filename> with the
device node in <filename>/usr/lib/udev/devices</filename> with the
appropriate major/minor numbers (see the file
<filename>devices.txt</filename> inside the kernel documentation or the
documentation provided by the third party driver vendor). The static

View File

@ -217,10 +217,10 @@
<!ENTITY gawk-fin-du "45 MB">
<!ENTITY gawk-fin-sbu "0.4 SBU">
<!ENTITY gcc-version "10.2.0">
<!ENTITY gcc-size "73,247 KB">
<!ENTITY gcc-version "11.1.0">
<!ENTITY gcc-size "77,032 KB">
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz">
<!ENTITY gcc-md5 "e9fd9b1789155ad09bcf3ae747596b50">
<!ENTITY gcc-md5 "77f6252be0861ab918042acf42bc10ff">
<!ENTITY gcc-home "https://gcc.gnu.org/">
<!ENTITY gcc-tmpp1-du "3.7 GB">
<!ENTITY gcc-tmpp1-sbu "11 SBU">
@ -344,10 +344,10 @@
<!ENTITY intltool-fin-du "1.5 MB">
<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
<!ENTITY iproute2-version "5.11.0">
<!ENTITY iproute2-size "803 KB">
<!ENTITY iproute2-version "5.12.0">
<!ENTITY iproute2-size "820 KB">
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
<!ENTITY iproute2-md5 "a3c6b09590c0bd120f0ab0b6e36187a8">
<!ENTITY iproute2-md5 "bbebacdabd4628ff86453ef4771a242a">
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
<!ENTITY iproute2-fin-du "15 MB">
<!ENTITY iproute2-fin-sbu "0.2 SBU">
@ -417,13 +417,13 @@
<!ENTITY libtool-fin-sbu "1.6 SBU">
<!ENTITY linux-major-version "5">
<!ENTITY linux-minor-version "11">
<!ENTITY linux-patch-version "16">
<!ENTITY linux-minor-version "12">
<!ENTITY linux-patch-version "2">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "114,893 KB">
<!ENTITY linux-size "115,344 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "c7536df1e1e3d03621092d732c8a5b6e">
<!ENTITY linux-md5 "1119082b017840a4d57e1a51c4bfc07b">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 5.8.3 / gcc-10.2.0 on x86_64 : minimum is
allnoconfig extended for a hopefully-bootable build on desktop machine,
@ -473,10 +473,10 @@
<!ENTITY man-pages-fin-du "4.7 MB">
<!ENTITY man-pages-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "0.57.2">
<!ENTITY meson-size "1,811 KB">
<!ENTITY meson-version "0.58.0">
<!ENTITY meson-size "1,844 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "4a07b6d42d7a46a6b6e9604fae7da9aa">
<!ENTITY meson-md5 "18ac55e3d6a5acb17b5737eb2a15bb5b">
<!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "37 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -574,19 +574,19 @@
<!-- If python minor version changes, updates in python and
meson pages will be needed: python3.6 and python3.6m -->
<!ENTITY python-version "3.9.4">
<!ENTITY python-version "3.9.5">
<!ENTITY python-minor "3.9">
<!ENTITY python-size "18,458 KB">
<!ENTITY python-size "18,612 KB">
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
<!ENTITY python-md5 "2a3dba5fc75b695c45cf1806156e1a97">
<!ENTITY python-md5 "71f7ada6bec9cdbf4538adc326120cfd">
<!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "374 MB">
<!ENTITY python-tmp-sbu "0.9 SBU">
<!ENTITY python-fin-du "294 MB">
<!ENTITY python-fin-sbu "2.8 SBU">
<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
<!ENTITY python-docs-md5 "a225c583da4533c5bf98ba3555f50c7b">
<!ENTITY python-docs-size "6,672 KB">
<!ENTITY python-docs-md5 "c594916b00cbb9796fa001dd2764ab0f">
<!ENTITY python-docs-size "6,680 KB">
<!ENTITY readline-version "8.1">
<!ENTITY readline-size "2,924 KB">
@ -622,20 +622,20 @@
<!ENTITY sysklogd-fin-du "0.6 MB">
<!ENTITY sysklogd-fin-sbu "less than 0.1 SBU">
<!ENTITY systemd-version "247">
<!ENTITY systemd-version "248">
<!--<!ENTITY systemd-stable "6b4878d">-->
<!-- The above entity is used whenever we move to a stable backport branch. In the event of a critical problem or kernel
change that is incompatible, we will switch to the backport branch until the next stable release. -->
<!ENTITY systemd-size "9,656 KB">
<!ENTITY systemd-size "10,068 KB">
<!ENTITY systemd-url "&github;/systemd/systemd/archive/v&systemd-version;/systemd-&systemd-version;.tar.gz">
<!--<!ENTITY systemd-url "&anduin-sources;/systemd-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-md5 "b0d6e603b814908acc69db29bbfb023c">
<!ENTITY systemd-md5 "00131adf0e98c1fd8a7fde4eb47f10c8">
<!ENTITY systemd-home "https://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-man-version "247-2">
<!ENTITY systemd-man-size "612 KB">
<!ENTITY systemd-man-version "248">
<!ENTITY systemd-man-size "584 KB">
<!--<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz">
<!ENTITY systemd-man-md5 "7d8a53105b7a205f2863e360d9a23f95">
<!ENTITY systemd-man-md5 "82cc641742df67128df8b6a55fbcbabc">
<!ENTITY systemd-fin-du "264 MB">
<!ENTITY systemd-fin-sbu "1.8 SBU">

View File

@ -67,6 +67,6 @@
<!ENTITY sysvinit-consolidated-patch-md5 "4900322141d493e74020c9cf437b2cdc">
<!ENTITY sysvinit-consolidated-patch-size "2.4 KB">
<!ENTITY systemd-upstream-fixes-patch "systemd-&systemd-version;-upstream_fixes-3.patch">
<!ENTITY systemd-upstream-fixes-patch-md5 "949768da539ddfa2bf6e936b81ed96df">
<!ENTITY systemd-upstream-fixes-patch-size "16 KB">
<!ENTITY systemd-upstream-fixes-patch "systemd-&systemd-version;-upstream_fixes-1.patch">
<!ENTITY systemd-upstream-fixes-patch-md5 "6819d49562ac48b551d15d2dd0123055">
<!ENTITY systemd-upstream-fixes-patch-size "8 KB">