Browse Source

Merge changes from trunk to multilib

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@12130 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Thomas Trepl 4 years ago
parent
commit
77c88ed661

+ 2 - 1
chapter01/changelog.xml

@@ -60,7 +60,8 @@
         <listitem>
         <listitem>
           <para>[pierre] - Replace the relinked libctf (which may incorrectly
           <para>[pierre] - Replace the relinked libctf (which may incorrectly
           link against libz from the host distribution) with the one that
           link against libz from the host distribution) with the one that
-          was linked during "make" in binutils-pass2.</para>
+          was linked during "make" in binutils-pass2. Thanks to Xi Ruoyao
+          for the fix.</para>
         </listitem>
         </listitem>
         <listitem>
         <listitem>
           <para>[bdubbs] - Update to bc-3.2.6. Fixes
           <para>[bdubbs] - Update to bc-3.2.6. Fixes

+ 19 - 1
chapter06/file.xml

@@ -51,10 +51,28 @@
 
 
 <screen><userinput remap="pre">mkdir build
 <screen><userinput remap="pre">mkdir build
 pushd build
 pushd build
-  ../configure
+  ../configure --disable-bzlib      \
+               --disable-libseccomp \
+               --disable-xzlib      \
+               --disable-zlib
   make
   make
 popd</userinput></screen>
 popd</userinput></screen>
 
 
+    <variablelist>
+      <title>The meaning of the new configure option:</title>
+
+      <varlistentry>
+        <term><parameter>--disable-*</parameter></term>
+        <listitem>
+          <para>The configuration script attempts to use some packages from
+          the host distribution if the corresponding library files exist.
+          It may cause compilation failure if a library file exists, but
+          the corresponding header files do not.  These options prevent
+          using these unneeded capabilities from the host.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
     <para>Prepare File for compilation:</para>
     <para>Prepare File for compilation:</para>
 
 
 <screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
 <screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>

+ 5 - 2
chapter07/util-linux.xml

@@ -41,8 +41,11 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Util-linux</title>
     <title>Installation of Util-linux</title>
 
 
-    <para>First create a directory
-    to enable storage for the <command>hwclock</command> program:</para>
+    <para>The FHS recommends using the <filename
+    class="directory">/var/lib/hwclock</filename> directory instead of the
+    usual <filename class="directory">/etc</filename> directory as the
+    location for the <filename>adjtime</filename> file. Create this directory
+    with:</para>
 
 
 <screen><userinput remap="pre">mkdir -pv /var/lib/hwclock</userinput></screen>
 <screen><userinput remap="pre">mkdir -pv /var/lib/hwclock</userinput></screen>
 
 

+ 5 - 1
chapter08/binutils.xml

@@ -180,6 +180,10 @@ cd       build</userinput></screen>
 
 
 <screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
 <screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
 
 
+    <para>Remove useless static libraries:</para>
+
+<screen><userinput remap="install">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a</userinput></screen>
+
   </sect2>
   </sect2>
 
 
   <sect2 id="contents-binutils" role="content">
   <sect2 id="contents-binutils" role="content">
@@ -193,7 +197,7 @@ cd       build</userinput></screen>
       <seglistitem>
       <seglistitem>
         <seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, ld, ld.bfd, ld.gold, nm,
         <seg>addr2line, ar, as, c++filt, dwp, elfedit, gprof, ld, ld.bfd, ld.gold, nm,
         objcopy, objdump, ranlib, readelf, size, strings, and strip</seg>
         objcopy, objdump, ranlib, readelf, size, strings, and strip</seg>
-        <seg>libbfd.{a,so}, libctf.{a,so}, libctf-nobfd.{a,so}, and libopcodes.{a,so}</seg>
+        <seg>libbfd.so, libctf.so, libctf-nobfd.so, and libopcodes.so</seg>
         <seg>/usr/lib/ldscripts</seg>
         <seg>/usr/lib/ldscripts</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>

+ 5 - 1
chapter08/bzip2.xml

@@ -95,6 +95,10 @@ rm -v /usr/bin/{bunzip2,bzcat,bzip2}
 ln -sv bzip2 /bin/bunzip2
 ln -sv bzip2 /bin/bunzip2
 ln -sv bzip2 /bin/bzcat</userinput></screen>
 ln -sv bzip2 /bin/bzcat</userinput></screen>
 
 
+    <para>Remove an useless static library:</para>
+
+<screen><userinput remap="install">rm -fv /usr/lib/libbz2.a</userinput></screen>
+
   </sect2>
   </sect2>
 
 
   <!-- - - - - - - - - - -->
   <!-- - - - - - - - - - -->
@@ -163,7 +167,7 @@ install -Dm644 libbz2.a &usr-lib-mx32;/libbz2.a</userinput></screen>
         <seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp (link to
         <seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp (link to
         bzdiff), bzdiff, bzegrep (link to bzgrep), bzfgrep (link to bzgrep),
         bzdiff), bzdiff, bzegrep (link to bzgrep), bzfgrep (link to bzgrep),
         bzgrep, bzip2, bzip2recover, bzless (link to bzmore), and bzmore</seg>
         bzgrep, bzip2, bzip2recover, bzless (link to bzmore), and bzmore</seg>
-        <seg>libbz2.{a,so}</seg>
+        <seg>libbz2.so</seg>
         <seg>/usr/share/doc/bzip2-&bzip2-version;</seg>
         <seg>/usr/share/doc/bzip2-&bzip2-version;</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>

+ 3 - 3
chapter08/coreutils.xml

@@ -77,9 +77,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
       <varlistentry>
       <varlistentry>
         <term><command>autoreconf</command></term>
         <term><command>autoreconf</command></term>
         <listitem>
         <listitem>
-          <para>This command updates generated configuration files 
-          consistent with the latest version of automake.
-          </para>
+          <para>The patch for internationalization has modified the
+          building system of the package, so the configuration files have
+          to be regenerated.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 

+ 21 - 12
chapter08/dbus.xml

@@ -48,14 +48,16 @@
 
 
     <para>Prepare D-Bus for compilation:</para>
     <para>Prepare D-Bus for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/usr                       \
-            --sysconfdir=/etc                   \
-            --localstatedir=/var                \
-            --disable-static                    \
-            --disable-doxygen-docs              \
-            --disable-xml-docs                  \
+<screen><userinput remap="configure">./configure --prefix=/usr                        \
+            --sysconfdir=/etc                    \
+            --localstatedir=/var                 \
+            --disable-static                     \
+            --disable-doxygen-docs               \
+            --disable-xml-docs                   \
             --docdir=/usr/share/doc/dbus-&dbus-version; \
             --docdir=/usr/share/doc/dbus-&dbus-version; \
-            --with-console-auth-dir=/run/console</userinput></screen>
+            --with-console-auth-dir=/run/console \
+            --with-system-pid-file=/run/dbus/pid \
+            --with-system-socket=/run/dbus/system_bus_socket</userinput></screen>
 
 
     <variablelist>
     <variablelist>
       <title>The meaning of the configure options:</title>
       <title>The meaning of the configure options:</title>
@@ -68,6 +70,18 @@
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry>
+        <term>
+          <parameter>--with-system-pid-file=/run/dbus/pid</parameter> and
+          <parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>
+        </term>
+        <listitem>
+          <para>These set the location of the PID file and the system bus socket
+          to be in <filename class="directory">/run</filename>, instead of
+          deprecated <filename class="directory">/var/run</filename>.</para>
+        </listitem>
+      </varlistentry>
+
     </variablelist>
     </variablelist>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
@@ -96,11 +110,6 @@ ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</useri
 
 
 <screen><userinput remap="install">ln -sfv /etc/machine-id /var/lib/dbus</userinput></screen>
 <screen><userinput remap="install">ln -sfv /etc/machine-id /var/lib/dbus</userinput></screen>
 
 
-    <para>Move the socket file to /run instead of the deprecated
-    /var/run:</para>
-
- <screen><userinput remap="install">sed -i 's:/var/run:/run:' /lib/systemd/system/dbus.socket</userinput></screen>
-
   </sect2>
   </sect2>
 
 
   <sect2 id="contents-dbus" role="content">
   <sect2 id="contents-dbus" role="content">

+ 2 - 3
chapter08/e2fsprogs.xml

@@ -122,10 +122,9 @@ cd       build</userinput></screen>
 
 
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
-    <para>Make the installed static libraries writable so debugging symbols can
-    be removed later:</para>
+    <para>Remove useless static libraries:</para>
 
 
-<screen><userinput remap="install">chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>
+<screen><userinput remap="install">rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>
 
 
     <para>This package installs a gzipped
     <para>This package installs a gzipped
     <filename class="extension">.info</filename> file but doesn't update the
     <filename class="extension">.info</filename> file but doesn't update the

+ 3 - 2
chapter08/flex.xml

@@ -53,8 +53,9 @@
 
 
     <para>Prepare Flex for compilation:</para>
     <para>Prepare Flex for compilation:</para>
 
 
-<!-- <screen><userinput remap="configure">HELP2MAN=/tools/bin/true \ -->
-<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/flex-&flex-version;</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr \
+            --docdir=/usr/share/doc/flex-&flex-version; \
+            --disable-static</userinput></screen>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 

+ 7 - 0
chapter08/libtool.xml

@@ -68,6 +68,13 @@
 
 
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
+    <!-- dev: - -disable-static works but causes additional test failures
+              so we manually remove the static library -->
+
+    <para>Remove an useless static library:</para>
+
+<screen><userinput remap="install">rm -fv /usr/lib/libltdl.a</userinput></screen>
+
   </sect2>
   </sect2>
 
 
   <!-- - - - - - - - - - -->
   <!-- - - - - - - - - - -->

+ 4 - 5
chapter08/ncurses.xml

@@ -41,10 +41,6 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Ncurses</title>
     <title>Installation of Ncurses</title>
 
 
-    <para>Don't install a static library that is not handled by configure:</para>
-
-<screen><userinput remap="pre">sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in</userinput></screen>
-
     <para>Prepare Ncurses for compilation:</para>
     <para>Prepare Ncurses for compilation:</para>
 
 
 <screen><userinput remap="configure">./configure --prefix=/usr           \
 <screen><userinput remap="configure">./configure --prefix=/usr           \
@@ -133,6 +129,10 @@ done</userinput></screen>
 echo "INPUT(-lncursesw)" &gt; /usr/lib/libcursesw.so
 echo "INPUT(-lncursesw)" &gt; /usr/lib/libcursesw.so
 ln -sfv libncurses.so      /usr/lib/libcurses.so</userinput></screen>
 ln -sfv libncurses.so      /usr/lib/libcurses.so</userinput></screen>
 
 
+    <para>Remove a static library that is not handled by configure:</para>
+
+<screen><userinput remap="install">rm -fv /usr/lib/libncurses++w.a</userinput></screen>
+
     <para>If desired, install the Ncurses documentation:</para>
     <para>If desired, install the Ncurses documentation:</para>
 
 
 <screen><userinput remap="install">mkdir -v       /usr/share/doc/ncurses-&ncurses-version;
 <screen><userinput remap="install">mkdir -v       /usr/share/doc/ncurses-&ncurses-version;
@@ -278,7 +278,6 @@ rm -rf DESTDIR</userinput></screen>
            libformw.so, 
            libformw.so, 
            libmenuw.so, 
            libmenuw.so, 
            libncursesw.so,
            libncursesw.so,
-           libncurses++w.a,
            libpanelw.so, and their non-wide-character counterparts without "w"
            libpanelw.so, and their non-wide-character counterparts without "w"
               in the library names.</seg>
               in the library names.</seg>
         <seg>
         <seg>

+ 1 - 17
chapter08/python.xml

@@ -94,23 +94,7 @@
 
 
     <para>Install the package:</para>
     <para>Install the package:</para>
 
 
-<screen><userinput remap="install">make install
-chmod -v 755 /usr/lib/libpython&python-minor;.so
-chmod -v 755 /usr/lib/libpython3.so
-ln -sfv pip&python-minor; /usr/bin/pip3</userinput></screen>
-
-    <variablelist>
-      <title>The meaning of the install commands:</title>
-<!-- ======  Change 8m if Python minor version changes ======= -->
-    <varlistentry>
-      <term><command>chmod -v 755 /usr/lib/libpython{&python-minor;,3}.so</command></term>
-      <listitem>
-        <para>Fix permissions for libraries to be consistent with other
-        libraries.</para>
-      </listitem>
-    </varlistentry>
-
-    </variablelist>
+<screen><userinput remap="install">make install</userinput></screen>
 
 
     <para>If desired, install the preformatted documentation:</para>
     <para>If desired, install the preformatted documentation:</para>
 
 

+ 0 - 19
chapter08/revisedchroot.xml

@@ -36,25 +36,6 @@ chroot "$LFS" /usr/bin/env -i          \
   linkend="ch-tools-bindmount"/> and <xref
   linkend="ch-tools-bindmount"/> and <xref
   linkend="ch-tools-kernfsmount"/>.</para>
   linkend="ch-tools-kernfsmount"/>.</para>
 
 
-  <para>There were several static libraries that were not suppressed earlier
-  in the chapter in order to satisfy the regression tests in several packages. These 
-  libraries are from binutils, bzip2, e2fsprogs, flex, libtool, and zlib.  If desired,
-  remove them now:</para>
-
-<screen><userinput>rm -f /usr/lib/lib{bfd,opcodes}.a
-rm -f /usr/lib/libctf{,-nobfd}.a
-rm -f /usr/lib/libbz2.a
-rm -f /usr/lib/lib{com_err,e2p,ext2fs,ss}.a
-rm -f /usr/lib/libltdl.a
-rm -f /usr/lib/libfl.a
-rm -f /usr/lib/libz.a</userinput><userinput arch="ml_32,ml_all">
-rm -f &usr-lib-m32;/libbz2.a
-rm -f &usr-lib-m32;/libltdl.a
-rm -f &usr-lib-m32;/libz.a</userinput><userinput arch="ml_x32,ml_all">
-rm -f &usr-lib-mx32;/libbz2.a
-rm -f &usr-lib-mx32;/libltdl.a
-rm -f &usr-lib-mx32;/libz.a</userinput></screen>
-
   <para>There are also several files installed in the /usr/lib and /usr/libexec
   <para>There are also several files installed in the /usr/lib and /usr/libexec
   directories with a file name extension of .la. These are "libtool archive"
   directories with a file name extension of .la. These are "libtool archive"
   files. As already said, they are only useful when linking with static
   files. As already said, they are only useful when linking with static

+ 8 - 0
chapter08/systemd.xml

@@ -212,6 +212,10 @@ meson --prefix=/usr                 \
 
 
 <screen><userinput remap="install">rm -f /usr/bin/xsltproc</userinput></screen>
 <screen><userinput remap="install">rm -f /usr/bin/xsltproc</userinput></screen>
 
 
+    <para>Remove an useless directory:</para>
+
+<screen><userinput remap="install">rm -rf /usr/lib/pam.d</userinput></screen>
+
     <para>Create the <filename>/etc/machine-id</filename> file needed by
     <para>Create the <filename>/etc/machine-id</filename> file needed by
     <command>systemd-journald</command>:</para>
     <command>systemd-journald</command>:</para>
 
 
@@ -228,10 +232,14 @@ meson --prefix=/usr                 \
  
  
 <screen><userinput remap="adjust">systemctl disable systemd-time-wait-sync.service</userinput></screen>
 <screen><userinput remap="adjust">systemctl disable systemd-time-wait-sync.service</userinput></screen>
 
 
+<!-- dev: 50-pid-max.conf is not removed in BLFS, so I commented the following out.
+          If it causes any trouble, we can add this back and also copy it into BLFS -->
+<!--
     <para>Prevent systemd from resetting the maximum PID value which causes
     <para>Prevent systemd from resetting the maximum PID value which causes
     some problems with packages and units in BLFS:</para>
     some problems with packages and units in BLFS:</para>
     
     
 <screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen>
 <screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen>
+-->
 
 
   </sect2>
   </sect2>
 
 

+ 0 - 8
chapter08/util-linux.xml

@@ -42,14 +42,6 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Util-linux</title>
     <title>Installation of Util-linux</title>
 
 
-    <para>The FHS recommends using the <filename
-    class="directory">/var/lib/hwclock</filename> directory instead of the
-    usual <filename class="directory">/etc</filename> directory as the
-    location for the <filename>adjtime</filename> file. Create this directory
-    with:</para>
-
-<screen><userinput remap="pre">mkdir -pv /var/lib/hwclock</userinput></screen>
-
     <para>Prepare Util-linux for compilation:</para>
     <para>Prepare Util-linux for compilation:</para>
 
 
 <screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
 <screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \

+ 5 - 1
chapter08/zlib.xml

@@ -65,6 +65,10 @@
 <screen><userinput remap="install">mv -v /usr/lib/libz.so.* /lib
 <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>
 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>
+
   </sect2>
   </sect2>
 
 
   <!-- - - - - - - - - - -->
   <!-- - - - - - - - - - -->
@@ -130,7 +134,7 @@ rm -rf DESTDIR</userinput></screen>
       <segtitle>Installed libraries</segtitle>
       <segtitle>Installed libraries</segtitle>
 
 
       <seglistitem>
       <seglistitem>
-        <seg>libz.{a,so}</seg>
+        <seg>libz.so</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>