Changeset 81ed05f


Ignore:
Timestamp:
09/24/2017 07:04:44 AM (7 years ago)
Author:
DJ Lucas <dj@…>
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, 8.2, 8.3, 8.4, 9.0, 9.1, 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:
7886729e
Parents:
f682fb5f
Message:

Use upstream systemd tarball with meson build system and supply only prebuilt man pages.

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

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • chapter01/changelog.xml

    rf682fb5f r81ed05f  
    4343    appropriate for the entry or if needed the entire day's listitem.
    4444-->
     45    <listitem revision="systemd">
     46      <para>2017-09-24</para>
     47      <itemizedlist>
     48        <listitem>
     49          <para>[dj] - Use upstream systemd tarball with meson build system and
     50          supply only prebuilt man pages.</para>
     51        </listitem>
     52      </itemizedlist>
     53    </listitem>
     54
    4555    <listitem>
    4656      <para>2017-09-23</para>
  • chapter03/packages.xml

    rf682fb5f r81ed05f  
    635635        <para>Download: <ulink url="&systemd-url;"/></para>
    636636        <para>MD5 sum: <literal>&systemd-md5;</literal></para>
     637      </listitem>
     638    </varlistentry>
     639
     640    <varlistentry revision="systemd">
     641      <term>Systemd Man Pages(&systemd-version;) - <token>&systemd-man-size;</token>:</term>
     642      <listitem>
     643        <para>Home page: <ulink url="&systemd-home;"/></para>
     644        <para>Download: <ulink url="&systemd-man-url;"/></para>
     645        <para>MD5 sum: <literal>&systemd-man-md5;</literal></para>
    637646
    638647        <note>
    639648          <para>The Linux From Scratch systemd team generates its own tarball
    640           of the systemd source. This is done in order to generate the manual
    641           pages and documentation, as well as prevent unnecessary files from
    642           the <application>systemd</application> git repo from being installed
    643           on the system. Please use the version generated by the Linux From
    644           Scratch team.</para>
     649          of the man pages using the systemd source. This is done in order to
     650          avoid unnecessary dependencies.</para>
    645651        </note>
    646 
    647       </listitem>
    648     </varlistentry>
     652      </listitem>
     653    </varlistentry>
     654
    649655
    650656    <varlistentry revision="sysv">
  • chapter06/createfiles.xml

    rf682fb5f r81ed05f  
    4848
    4949<screen revision="systemd"><userinput>ln -sv /tools/bin/{bash,cat,dd,echo,ln,pwd,rm,stty} /bin
    50 ln -sv /tools/bin/{install,perl} /usr/bin
     50ln -sv /tools/bin/{env,install,perl} /usr/bin
    5151ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
    5252ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
  • chapter06/systemd.xml

    rf682fb5f r81ed05f  
    4141    <title>Installation of systemd</title>
    4242
    43     <para>Create a file to allow systemd to build when using Util-Linux
    44     built in Chapter 5, to disable LTO by default, and to build without
    45     xlstproc:</para>
    46 
    47 <screen><userinput remap="pre">cat &gt; config.cache &lt;&lt; "EOF"
    48 <literal>KILL=/bin/kill
    49 MOUNT_PATH=/bin/mount
    50 UMOUNT_PATH=/bin/umount
    51 HAVE_BLKID=1
    52 BLKID_LIBS="-lblkid"
    53 BLKID_CFLAGS="-I/tools/include/blkid"
    54 HAVE_LIBMOUNT=1
    55 MOUNT_LIBS="-lmount"
    56 MOUNT_CFLAGS="-I/tools/include/libmount"
    57 cc_cv_CFLAGS__flto=no
    58 SULOGIN="/sbin/sulogin"
    59 GPERF_LEN_TYPE=size_t
    60 XSLTPROC="/usr/bin/xsltproc"</literal>
    61 EOF</userinput></screen>
    62 
    63     <para>LTO is disabled by default because it causes
    64     <command>systemd</command> and other auxiliary programs to link to
    65     <filename class="libraryfile">libgcc_s.so</filename>, slows the build down
    66     and makes the compiled code larger.</para>
     43    <para>Create a symlink to work around missing xsltproc:</para>
     44
     45<screen><userinput remap="pre">ln -s /tools/bin/true /usr/bin/xsltproc</userinput></screen>
    6746
    6847    <para>Prepare systemd for compilation:</para>
    6948
    70 <screen><userinput remap="configure">./configure --prefix=/usr            \
    71             --sysconfdir=/etc        \
    72             --localstatedir=/var     \
    73             --config-cache           \
    74             --with-rootprefix=       \
    75             --with-rootlibdir=/lib   \
    76             --enable-split-usr       \
    77             --disable-firstboot      \
    78             --disable-ldconfig       \
    79             --disable-sysusers       \
    80             --without-python         \
    81             --with-default-dnssec=no \
    82             --docdir=/usr/share/doc/systemd-&systemd-version;</userinput></screen>
     49<screen><userinput remap="configure">PKG_CONFIG_PATH=/usr/lib/pkgconfig:/tools/lib/pkgconfig \
     50LANG=en_US.UTF-8                          \
     51    meson --prefix /usr                   \
     52          --sysconfdir /etc               \
     53          --localstatedir /var            \
     54          -Dblkid=true                    \
     55          -Dbuildtype=release             \
     56          -Ddefault-dnssec=no             \
     57          -Dfirstboot=false               \
     58          -Dkill-path=/bin/kill           \
     59          -Dkmod-path=/bin/kmod           \
     60          -Dldconfig=false                \
     61          -Dmount-path=/bin/mount         \
     62          -Drootprefix=                   \
     63          -Drootlibdir=/lib               \
     64          -Dsplit-usr=true                \
     65          -Dsulogin-path=/sbin/sulogin    \
     66          -Dsysusers=false                \
     67          -Dumount-path=/bin/umount       \
     68          -Db_lto=false                   \
     69          -Dc_link_args="-lblkid -lmount" \
     70          -Dc_args="-I/tools/include/blkid -I/tools/include/libmount" \
     71          $PWD build</userinput></screen>
    8372
    8473    <variablelist>
    85       <title>The meaning of the configure options:</title>
    86 
    87       <varlistentry>
    88         <term><parameter>--config-cache</parameter></term>
    89         <listitem>
    90           <para>This switch tells the build system to use
    91           the <filename>config.cache</filename> file which
    92           was created earlier.</para>
    93         </listitem>
    94       </varlistentry>
    95 
    96       <varlistentry>
    97         <term><parameter>--with-root*</parameter></term>
    98         <listitem>
    99           <para>These switches ensure that core programs and
    100           shared libraries are installed in the subdirectories
    101           of the root partition.</para>
    102         </listitem>
    103       </varlistentry>
    104 
    105       <varlistentry>
    106         <term><parameter>--enable-split-usr</parameter></term>
    107         <listitem>
    108           <para>This switch ensures that systemd will work on
    109           systems where /bin, /lib and /sbin directories are not
    110           symlinks to their /usr counterparts.</para>
    111         </listitem>
    112       </varlistentry>
    113 
    114       <varlistentry>
    115         <term><parameter>--without-python</parameter></term>
    116         <listitem>
    117           <para>This switch prevents <command>configure</command>
    118           from trying to use Python which isn't built
    119           in LFS.</para>
    120         </listitem>
    121       </varlistentry>
    122 
    123       <varlistentry>
    124         <term><parameter>--disable-firstboot</parameter></term>
     74      <title>The meaning of the meson options:</title>
     75
     76      <varlistentry>
     77        <term><parameter>-D*-path=*</parameter></term>
     78        <listitem>
     79          <para>These switches provide location of binaries needed by
     80          systemd at runtime that have not yet been installed, or who's
     81          pkgconfig files are currently only in
     82          <filename>/tools/lib/pkgconfig</filename>.</para>
     83        </listitem>
     84      </varlistentry>
     85
     86      <varlistentry>
     87        <term><parameter>-Ddefault-dnssec=no</parameter></term>
     88        <listitem>
     89          <para>This switch turns off the experimental DNSSEC support.</para>
     90        </listitem>
     91      </varlistentry>
     92
     93      <varlistentry>
     94        <term><parameter>-Dfirstboot=false</parameter></term>
    12595        <listitem>
    12696          <para>This switch prevents installation of systemd
     
    132102
    133103      <varlistentry>
    134         <term><parameter>--disable-ldconfig</parameter></term>
     104        <term><parameter>-Dldconfig=no</parameter></term>
    135105        <listitem>
    136106          <para>This switch prevents installation of a systemd
     
    143113
    144114      <varlistentry>
    145         <term><parameter>--disable-sysusers</parameter></term>
     115        <term><parameter>-Droot*</parameter></term>
     116        <listitem>
     117          <para>These switches ensure that core programs and
     118          shared libraries are installed in the subdirectories
     119          of the root partition.</para>
     120        </listitem>
     121      </varlistentry>
     122
     123      <varlistentry>
     124        <term><parameter>-Dsplit-usr=true</parameter></term>
     125        <listitem>
     126          <para>This switch ensures that systemd will work on
     127          systems where /bin, /lib and /sbin directories are not
     128          symlinks to their /usr counterparts.</para>
     129        </listitem>
     130      </varlistentry>
     131
     132      <varlistentry>
     133        <term><parameter>-Dsysusers=false</parameter></term>
    146134        <listitem>
    147135          <para>This switch prevents installation of systemd
     
    154142
    155143      <varlistentry>
    156         <term><parameter>--with-default-dnssec=no</parameter></term>
    157         <listitem>
    158           <para>This switch turns off the experimental DNSSEC support.</para>
     144        <term><parameter>-Dc_link_args="-lblkid -lmount"</parameter></term>
     145        <listitem>
     146          <para>This switch manually adds libblkid and libmount to the
     147          linker flags as they only exist in <filename>/tools/lib</filename>
     148          until <application>Util-Linux</application> is installed later in
     149          this chapter.</para>
     150        </listitem>
     151      </varlistentry>
     152
     153      <varlistentry>
     154        <term><parameter>-Dc_args="-I/tools/include/blkid -I/tools/include/libmount"</parameter></term>
     155        <listitem>
     156          <para>This switch manually adds the include paths for libblkid and
     157          libmount to the CFLAGS variable as the packages are not yet installed
     158          in the final system.</para>
    159159        </listitem>
    160160      </varlistentry>
     
    164164    <para>Compile the package:</para>
    165165
    166 <screen><userinput remap="make">make</userinput></screen>
    167 
    168     <para>This package has a test suite, but it can only be run after the
    169     package has been reinstalled in BLFS.</para>
    170 
     166<screen><userinput remap="make">tar -xf ../systemd-man-pages-&systemd-version;.tar.xz
     167cd build
     168LANG=en_US.UTF-8 ninja</userinput></screen>
     169<!--
     170    <para>To test the package, execute the following command:</para>
     171
     172<screen><userinput remap="test">LANG=en_US.UTF-8 ninja test</userinput></screen>
     173-->
    171174    <para>Install the package:</para>
    172175
    173 <screen><userinput remap="install">make install</userinput></screen>
    174 
    175 <!-- These get installed into /lib now by default.
    176     <para>Move the NSS libraries to <filename class="directory">/lib</filename>:</para>
    177 
    178 <screen><userinput remap="install">mv -v /usr/lib/libnss_{myhostname,mymachines,resolve}.so.2 /lib</userinput></screen>
    179 -->
     176<screen><userinput remap="install">LANG=en_US.UTF-8 ninja install</userinput></screen>
    180177
    181178    <para>Remove an unnecessary directory:</para>
     
    190187done
    191188ln -sfv ../lib/systemd/systemd /sbin/init</userinput></screen>
     189
     190    <para>Remove our earlier created symlink for xsltproc:</para>
     191
     192<screen><userinput remap="install">rm -f /usr/bin/xsltproc</userinput></screen>
    192193
    193194    <para>Create the <filename>/etc/machine-id</filename> file needed by
  • general.ent

    rf682fb5f r81ed05f  
    1 <!ENTITY version         "SVN-20170923">
     1<!ENTITY version         "SVN-20170924">
    22<!ENTITY short-version   "svn">  <!-- Used below in &blfs-book;
    33                                      Change to x.y for release but not -rc releases -->
    44<!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
    55
    6 <!ENTITY versiond        "20170923-systemd">
     6<!ENTITY versiond        "20170924-systemd">
    77<!ENTITY short-versiond  "systemd">
    88<!ENTITY generic-versiond "systemd">
    99
    10 <!ENTITY releasedate     "September 23, 2017">
     10<!ENTITY releasedate     "September 24, 2017">
    1111
    1212<!ENTITY copyrightdate   "1999-2017"><!-- jhalfs needs a literal dash, not &ndash; -->
  • packages.ent

    rf682fb5f r81ed05f  
    594594<!ENTITY sysklogd-ch6-sbu "less than 0.1 SBU">
    595595
    596 <!ENTITY systemd-version "234">
    597 <!ENTITY systemd-size    "4,116 KB">
    598 <!ENTITY systemd-url     "http://anduin.linuxfromscratch.org/LFS/systemd-&systemd-version;-lfs.tar.xz">
    599 <!ENTITY systemd-md5     "be1338f2775713dc33da74ac0146e37b">
    600 <!ENTITY systemd-home    "http://www.freedesktop.org/wiki/Software/systemd/">
    601 <!ENTITY systemd-ch6-du  "442 MB">
    602 <!ENTITY systemd-ch6-sbu "7.1 SBU">
     596<!ENTITY systemd-version  "234">
     597<!ENTITY systemd-size     "4,688 KB">
     598<!ENTITY systemd-url      "https://github.com/systemd/systemd/archive/v234/systemd-234.tar.gz">
     599<!ENTITY systemd-md5      "2d8f6ebded3462ac0d1a6275e54db561">
     600<!ENTITY systemd-home     "http://www.freedesktop.org/wiki/Software/systemd/">
     601<!ENTITY systemd-man-size "356 KB">
     602<!ENTITY systemd-man-url  "http://anduin.linuxfromscratch.org/LFS/systemd-man-pages-&systemd-version;.tar.xz">
     603<!ENTITY systemd-man-md5  "c52e13fa137b5f0e3900881d3cdccb9a">
     604<!ENTITY systemd-ch6-du   "255 MB">
     605<!ENTITY systemd-ch6-sbu  "0.6 SBU">
    603606
    604607<!ENTITY sysvinit-version "2.88dsf">
Note: See TracChangeset for help on using the changeset viewer.