Changeset effe07a


Ignore:
Timestamp:
04/19/2020 02:45:08 PM (4 years ago)
Author:
Pierre Labastie <pieere@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
0b403eb3
Parents:
924667e
Message:

Fix circular deps between util-linux and eudev/systemd:

  • build util-linux in chapter 5 for both books
  • move eudev before util-linux in chapter 6
  • make utils-linux libs and headers accessible to /usr in "Creating essential ..."
  • not related, but forgotten at previous commit: make also libfl flex library accessible to /usr

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11817 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    r924667e reffe07a  
    4747      <itemizedlist>
    4848        <listitem>
     49          <para>[pierre] - Build util-linux in chapter 5 for both books.
     50          link util-linux libraries and headers from /usr to /tools.
     51          Copy util-linux pkg-config files from /tools to /usr, changing
     52          any occurence of /tools to /usr. Also move eudev before util-linux.
     53          Fixes <ulink url="&lfs-ticket-root;4637">#4637</ulink>,
     54          <ulink url="&lfs-ticket-root;4638">#4638</ulink>, and
     55          <ulink url="&lfs-ticket-root;4642">#4642</ulink>.</para>
     56        </listitem>
     57        <listitem>
    4958          <para>[pierre] - Reinstate flex in chapter 5, so that ar and ranlib
    5059          (binutils) link against libfl. This allows to run tests for bison,
  • chapter05/util-linux.xml

    r924667e reffe07a  
    66]>
    77
    8 <sect1 id="ch-tools-util-linux" role="wrap" revision="systemd">
     8<sect1 id="ch-tools-util-linux" role="wrap">
    99  <?dbhtml filename="util-linux.html"?>
    1010
  • chapter06/chapter06.xml

    r924667e reffe07a  
    8989  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
    9090
     91  <!-- sysv only -->
     92  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
     93
    9194  <!-- Both sysv on systemd builds -->
    9295  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
    9396  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
    94 
    95   <!-- sysv only -->
    96   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="eudev.xml"/>
    9797
    9898  <!-- Both sysv and systemd builds -->
  • chapter06/createfiles.xml

    r924667e reffe07a  
    4444ln -sv /tools/lib/libgcc_s.so{,.1}                  /usr/lib
    4545ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
    46 
    47 ln -sv bash /bin/sh</userinput></screen>
    48 
    49 <!--for lib in blkid lzma mount uuid
     46ln -sv /tools/lib/libfl.so*                         /usr/lib
     47
     48ln -sv bash /bin/sh
     49
     50for lib in blkid mount uuid fdisk
    5051do
    5152    ln -sv /tools/lib/lib$lib.so* /usr/lib
    52 done-->
    53 <!--ln -svf /tools/include/blkid    /usr/include
    54 ln -svf /tools/include/libmount /usr/include
    55 ln -svf /tools/include/uuid     /usr/include-->
    56 <!--for pc in blkid mount uuid
     53    sed 's|/tools|/usr|' /tools/lib/pkgconfig/${lib}.pc \
     54        &gt; /usr/lib/pkgconfig/${lib}.pc
     55done
     56for incdir in blkid libmount uuid libfdisk
    5757do
    58     sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
    59         > /usr/lib/pkgconfig/${pc}.pc
    60 done-->
     58    ln -svf /tools/include/$incdir    /usr/include
     59done</userinput></screen>
     60
    6161  <variablelist>
    6262    <title>The purpose of each link:</title>
     
    165165      </listitem>
    166166    </varlistentry>
    167 <!--
    168     <varlistentry>
    169       <term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
    170       <listitem>
    171         <para>This prevents a <filename class="directory">/tools</filename>
    172         reference that would otherwise be in
    173         <filename>/usr/lib/libstdc++.la</filename> after GCC is installed.</para>
    174       </listitem>
    175     </varlistentry>
    176 -->
    177     <!--<varlistentry revision="systemd">-->
    178 <!--    <varlistentry>
    179       <term><parameter><filename>/usr/lib/lib{blkid,lzma,mount,uuid}.{a,la,so*}</filename></parameter></term>
    180       <listitem>
    181         <para>These links prevent utilities from acquiring an
    182         unnecessary reference to the
    183         <filename class="directory">/tools</filename> directory.</para>
    184       </listitem>
    185     </varlistentry>-->
    186167
    187168    <varlistentry>
     
    189170      <listitem>
    190171        <para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
     172      </listitem>
     173    </varlistentry>
     174
     175    <varlistentry>
     176      <term>
     177        <parameter><filename>/usr/lib/libfl.so*</filename></parameter>
     178      </term>
     179      <listitem>
     180        <para>This link allows binutils to find the flex library, and to
     181        build enhanced versions of ar and ranlib.</para>
     182      </listitem>
     183    </varlistentry>
     184
     185    <varlistentry>
     186      <term>
     187        <parameter>
     188          <filename>/usr/lib/lib{blkid,fdisk,mount,uuid}.so*</filename>,
     189          <filename>/usr/include/{blkid,libfdisk,libmount,uuid}</filename>,
     190          <filename>/usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc</filename>
     191        </parameter>
     192      </term>
     193      <listitem>
     194        <para>These links and files allow
     195        <phrase revision="sysv">eudev</phrase>
     196        <phrase revision="systemd">systemd</phrase> to find the
     197        util-linux libraries installed in chapter 5, without creating
     198        wrong references to /tools. The uuid library is also needed for
     199        building a python module.</para>
    191200      </listitem>
    192201    </varlistentry>
  • chapter06/eudev.xml

    r924667e reffe07a  
    5050<screen><userinput remap="pre">sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c</userinput></screen>
    5151-->
    52 <!--
    53     <para>First, add a workaround to prevent the /tools directory from being
    54     hard coded into Eudev binary files library locations:</para>
    5552
    56 <screen><userinput remap="pre">cat &gt; config.cache &lt;&lt; "EOF"
    57 HAVE_BLKID=1
    58 BLKID_LIBS="-lblkid"
    59 BLKID_CFLAGS="-I/tools/include"
    60 EOF</userinput></screen>
    61 -->
    62 <para>Prepare Eudev for compilation:</para>
     53    <para>Prepare Eudev for compilation:</para>
    6354
    6455<screen><userinput remap="configure">./configure --prefix=/usr           \
     
    7263            --enable-manpages       \
    7364            --disable-static</userinput></screen>
    74 <!--           - -config-cache</userinput></screen> -->
    7565
    76 <para>Compile the package:</para>
     66    <para>Compile the package:</para>
    7767
    7868<screen><userinput remap="make">make</userinput></screen>
    79 <!--
    80 <screen><userinput remap="make">LIBRARY_PATH=/tools/lib make</userinput></screen>
    8169
    82 <note><para>The LIBRARY_PATH variable here and the LD_LIBRARY_PATH variable
    83 below are needed to allow the use of libraries that were installed in /tools,
    84 but have not yet been installed in the main system.  LIBRARY_PATH is
    85 used to find libraries during the linking process.  LD_LIBRARY_PATH is
    86 used to find libraries during program execution.</para></note>
    87 -->
    88 <para>Create some directories now that are needed for tests, but
    89 will also be used as a part of installation:</para>
     70    <para>Create some directories now that are needed for tests, but
     71    will also be used as a part of installation:</para>
    9072
    9173<screen><userinput remap="test">mkdir -pv /lib/udev/rules.d
    9274mkdir -pv /etc/udev/rules.d</userinput></screen>
    9375
    94 <para>To test the results, issue:</para>
     76    <para>To test the results, issue:</para>
    9577
    9678<screen><userinput remap="test">make check</userinput></screen>
    97 <!--<screen><userinput remap="test">make LD_LIBRARY_PATH=/tools/lib check</userinput></screen>-->
    9879
    9980    <para>Install the package:</para>
    10081
    10182<screen><userinput remap="install">make install</userinput></screen>
    102 <!--<screen><userinput remap="install">make LD_LIBRARY_PATH=/tools/lib install</userinput></screen>-->
    10383
    10484    <para>Install some custom rules and support files useful in an LFS
     
    129109    initial database:</para>
    130110
    131 <!--<screen><userinput>LD_LIBRARY_PATH=/tools/lib udevadm hwdb - -update</userinput></screen>-->
    132111<screen><userinput>udevadm hwdb --update</userinput></screen>
    133112
  • chapter06/systemd.xml

    r924667e reffe07a  
    5151<screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen>
    5252
    53     <para>Because we have not yet installed the final version of Util-Linux,
    54     create links to the libraries in the appropriate location:</para>
    55 
    56 <screen><userinput remap="pre">for file in /tools/lib/lib{blkid,mount,uuid}.so*; do
    57     ln -sf $file /usr/lib/
    58 done</userinput></screen>
    59 
    6053    <para>Set up the man pages:</para>
    6154
     
    7770cd       build
    7871
    79 PKG_CONFIG_PATH="/usr/lib/pkgconfig:/tools/lib/pkgconfig" \
    8072LANG=en_US.UTF-8                   \
    8173meson --prefix=/usr                \
     
    235227<screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen>
    236228
    237     <para>Cleanup symbolic links to Util-Linux libraries:</para>
    238 
    239 <screen><userinput remap="adjust">rm -fv /usr/lib/lib{blkid,uuid,mount}.so*</userinput></screen>
    240229    <!--
    241230    <para>Prevent systemd from creating <filename>/run/nologin</filename>
  • chapter06/util-linux.xml

    r924667e reffe07a  
    6161    -i tests/ts/ipcs/limits2</userinput></screen>
    6262-->
    63 <!-- those symlinks are not created anymore
    64     <para revision="systemd">Remove the earlier created symlinks:</para>
    65 
    66 <screen revision="systemd"><userinput remap="pre">rm -vf /usr/include/{blkid,libmount,uuid}</userinput></screen>
    67 -->
     63
     64    <para>Remove the earlier created symlinks and files:</para>
     65
     66<screen><userinput remap="pre">rm -vf /usr/include/{blkid,libfdisk,libmount,uuid}
     67rm -vf /usr/lib/{blkid,fdisk,mount,uuid}.so*
     68rm -vf /usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc</userinput></screen>
     69
    6870    <para>Prepare Util-linux for compilation:</para>
    6971
Note: See TracChangeset for help on using the changeset viewer.