Pārlūkot izejas kodu

Merge changes from trunk to multilib

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11997 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Thomas Trepl 5 gadi atpakaļ
vecāks
revīzija
2bc921ed6c

+ 52 - 0
chapter01/changelog.xml

@@ -44,6 +44,58 @@
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     appropriate for the entry or if needed the entire day's listitem.
     -->
+    <listitem>
+      <para>2020-07-07</para>
+      <itemizedlist>
+        <listitem>
+          <para>[pierre] - Make libelf install in /lib, since it may be
+          needed by iproute2 before /usr is mounted (report by
+          <ulink url="http://lists.linuxfromscratch.org/pipermail/lfs-dev/2020-July/073903.html">
+          Roger</ulink>).</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2020-07-06</para>
+      <itemizedlist>
+        <listitem>
+          <para>[pierre] - Change chapter 6 ncurses so that it matches
+          what is done in chapter 8, and add explanations.</para>
+        </listitem>
+        <listitem>
+          <para>[renodr] - Update to libcap-2.38. Fixes
+          <ulink url="&lfs-ticket-root;4683">#4683</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[renodr] - Update to linux-5.7.7. Fixes
+          <ulink url="&lfs-ticket-root;4681">#4681</ulink>.</para>
+        </listitem>
+        <listitem revision="systemd">
+          <para>[renodr] - Update to dbus-1.12.20 (Security Update). Fixes
+          <ulink url="&lfs-ticket-root;4682">#4682</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2020-07-04</para>
+      <itemizedlist>
+        <listitem>
+          <para>[pierre] - Remove /tools and files containing
+          {i686,x86_64}-lfs in their name at the end of chapter 8.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Add --host= to libstdc++-pass2, so that host
+          specific headers are installed in a host specific directory.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Fix temporary Python so that static libraries
+          are not installed.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <itemizedlist>
       <para>2020-07-01</para>

+ 2 - 2
chapter01/whatsnew.xml

@@ -66,9 +66,9 @@
     <!--<listitem>
       <para>DejaGNU-&dejagnu-version;</para>
     </listitem>-->
-    <!--<listitem revision="systemd">
+    <listitem revision="systemd">
       <para>D-Bus-&dbus-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>Diffutils-&diffutils-version;</para>
     </listitem>-->

+ 26 - 2
chapter06/ncurses.xml

@@ -120,9 +120,33 @@ popd</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
     <para>Install the package:</para>
-<!-- TODO: check and document -->
+
 <screen><userinput remap="install">make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
-ln -s libncursesw.so $LFS/usr/lib/libncurses.so</userinput></screen>
+echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen>
+
+    <variablelist>
+      <title>The meaning of the install options:</title>
+
+      <varlistentry>
+        <term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term>
+        <listitem>
+          <para>We need to pass the path of the just built
+          <command>tic</command> able to run on the building machine, so that
+          the terminal database can be created without errors.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term><command>echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</command></term>
+        <listitem>
+          <para>The <filename>libncurses.so</filename> library is needed by
+          a few packages we will build soon. We create this small linker
+          script, as this is what is done in <xref
+          linkend="chapter-building-system"/>.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
 
     <para>Move the shared libraries to the
     <filename class="directory">/lib</filename> directory, where they are

+ 23 - 22
chapter07/libstdc++-pass2.xml

@@ -62,19 +62,21 @@ cd       build</userinput></screen>
 
     <para>Prepare libstdc++ for compilation:</para>
 
-<screen arch="default"><userinput remap="configure">../libstdc++-v3/configure           \
-    CXXFLAGS="-g -O2 -D_GNU_SOURCE" \
-    --prefix=/usr                   \
-    --disable-multilib              \
-    --disable-nls                   \
+<screen arch="default"><userinput remap="configure">
+../libstdc++-v3/configure            \
+    CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
+    --prefix=/usr                    \
+    --disable-multilib               \
+    --disable-nls                    \
+    --host=$(uname -m)-lfs-linux-gnu \
+    --disable-libstdcxx-pch</userinput></screen>
+<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure            \
+    CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
+    --prefix=/usr                    \
+    --enable-multilib                \
+    --disable-nls                    \
+    --host=$(uname -m)-lfs-linux-gnu \
     --disable-libstdcxx-pch</userinput></screen>
-<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../libstdc++-v3/configure           \
-    CXXFLAGS="-g -O2 -D_GNU_SOURCE" \
-    --prefix=/usr                   \
-    --enable-multilib               \
-    --disable-nls                   \
-    --disable-libstdcxx-pch         \
-    --host=x86_64-lfs-linux-gnu</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure options:</title>
@@ -87,6 +89,15 @@ cd       build</userinput></screen>
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><parameter>--host=$(uname -m)-lfs-linux-gnu</parameter></term>
+        <listitem>
+          <para>We have to mimic what would happen if this package were built
+          as part of a full compiler build. This switch would be passed to
+          configure by GCC's build machinery.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><parameter>--disable-libstdcxx-pch</parameter></term>
         <listitem>
@@ -105,16 +116,6 @@ cd       build</userinput></screen>
         </listitem>
       </varlistentry>
 
-      <varlistentry arch="ml_32,ml_x32,ml_all">
-        <term><parameter>--host=x86_64-pc-linux-gnu</parameter></term>
-        <listitem>
-          <para>Since up to now the cross-compile tools are used. This
-          switch is set to ensure that the headers used for multilib are
-          placed in correct locations where the final system can pick
-          them up.</para>
-        </listitem>
-      </varlistentry>
-
     </variablelist>
 
     <para>Compile libstdc++ by running:</para>

+ 10 - 1
chapter07/python.xml

@@ -52,11 +52,20 @@
 
     <para>Prepare Python for compilation:</para>
 
-<screen><userinput remap="configure">./configure --prefix=/usr --without-ensurepip</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr   \
+            --enable-shared \
+            --without-ensurepip</userinput></screen>
 
     <variablelist>
       <title>The meaning of the configure option:</title>
 
+      <varlistentry>
+        <term><parameter>--enable-shared</parameter></term>
+        <listitem>
+          <para>This switch prevents installation of static libraries.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><parameter>--without-ensurepip</parameter></term>
         <listitem>

+ 2 - 2
chapter08/libelf.xml

@@ -46,7 +46,7 @@
 
     <para>Prepare Libelf for compilation:</para>
 
-<screen><userinput remap="configure">./configure --prefix=/usr --disable-debuginfod</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --disable-debuginfod --libdir=/lib</userinput></screen>
 
     <para>Compile the package:</para>
 
@@ -62,7 +62,7 @@
 
 <screen><userinput remap="install">make -C libelf install
 install -vm644 config/libelf.pc /usr/lib/pkgconfig
-rm /usr/lib/libelf.a</userinput></screen>
+rm /lib/libelf.a</userinput></screen>
 
   </sect2>
 

+ 11 - 0
chapter08/revisedchroot.xml

@@ -70,6 +70,17 @@ find &usr-lib-mx32; -name \*.la -delete</userinput></screen>
    url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool
    Archive (.la) files"</ulink>.</para>
 
+   <para>The compiler built in <xref linkend="chapter-temporary-tools"/> and
+   <xref linkend="chapter-chroot-temporary-tools"/> is still partially
+   installed, and not needed anymore. Remove it with:</para>
+
+<screen><userinput>find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf</userinput></screen>
+
+   <para>The <filename class="directory">/tools</filename> directory can also
+   be removed to further gain some place:</para>
+
+<screen><userinput>rm -rf /tools</userinput></screen>
+
    <para>Finally, remove the temporary 'tester' user account created at the 
    beginning of the previous chapter.</para>
 

+ 3 - 3
general.ent

@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20200701">
+<!ENTITY version         "SVN-20200707">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20200701-systemd">
+<!ENTITY versiond        "20200707-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "July 1st, 2020">
+<!ENTITY releasedate     "July 7th, 2020">
 
 <!ENTITY copyrightdate   "1999-2020"><!-- jhalfs needs a literal dash, not &ndash; -->
 

+ 8 - 8
packages.ent

@@ -113,10 +113,10 @@
 <!ENTITY coreutils-fin-du "157 MB">
 <!ENTITY coreutils-fin-sbu "2.6 SBU">
 
-<!ENTITY dbus-version "1.12.18">
+<!ENTITY dbus-version "1.12.20">
 <!ENTITY dbus-size "2,048 KB">
 <!ENTITY dbus-url "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.gz">
-<!ENTITY dbus-md5 "4ca570c281be35d0b30ab83436712242">
+<!ENTITY dbus-md5 "dfe8a71f412e0b53be26ed4fbfdc91c4">
 <!ENTITY dbus-home "https://www.freedesktop.org/wiki/Software/dbus">
 <!ENTITY dbus-fin-du "18 MB">
 <!ENTITY dbus-fin-sbu "0.2 SBU">
@@ -391,10 +391,10 @@
 <!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB"> 
 <!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU">
 
-<!ENTITY libcap-version "2.36">
-<!ENTITY libcap-size "112 KB">
+<!ENTITY libcap-version "2.38">
+<!ENTITY libcap-size "116 KB">
 <!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz">
-<!ENTITY libcap-md5 "3d8cd4a87650cdee130691cb110c2ce2">
+<!ENTITY libcap-md5 "646cb6dde87a13f9ed0228db77b03fad">
 <!ENTITY libcap-home "https://sites.google.com/site/fullycapable/">
 <!ENTITY libcap-fin-du "11 MB">
 <!ENTITY libcap-fin-sbu "less than 0.1 SBU">
@@ -425,12 +425,12 @@
 
 <!ENTITY linux-major-version "5">
 <!ENTITY linux-minor-version "7">
-<!ENTITY linux-patch-version "6">
+<!ENTITY linux-patch-version "7">
 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
-<!ENTITY linux-size "110,070 KB">
+<!ENTITY linux-size "110,076 KB">
 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
-<!ENTITY linux-md5 "80eb1a79341d8a7d089fcf6113c1b421">
+<!ENTITY linux-md5 "11c4b191621d4ad02f56b0cca2fc6b57">
 <!ENTITY linux-home "https://www.kernel.org/">
 <!-- measured for 4.8.3 / gcc-6.2.0 on x86_64 : minimum is
  allnoconfig extended for a hopefully-bootable build on desktop machine,