Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/systemd.xml

    rc2ccad1 rdf9c52e  
    4040  <sect2 role="installation">
    4141    <title>Installation of systemd</title>
     42
     43    <para>
     44      Remove several inappropriate uses of the <literal>pure</literal>
     45      attribute that cause runtime issues when the package is built
     46      with gcc-13 or later:
     47    </para>
     48
     49<screen><userinput remap='pre'>sed '/bus_message_type_from_string/s/_pure_//' \
     50    -i src/libsystemd/sd-bus/bus-internal.h    &amp;&amp;
     51sed '/devt_hash_func/s/_pure_//'               \
     52    -i src/basic/hash-funcs.h                  &amp;&amp;
     53sed '/job_get_timeout/s/_pure_//'              \
     54    -i src/core/job.h</userinput></screen>
    4255
    4356    <para>Remove two unneeded groups,
     
    193206    <!-- Please make sure systemd man pages tarball has a common leading
    194207         component in the path.  -->
    195 <screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-version;.tar.xz \
    196     --no-same-owner --strip-components=1   \
    197     -C /usr/share/man</userinput></screen>
     208<screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz --strip-components=1 -C /usr/share/man</userinput></screen>
    198209
    199210    <para>Create the <filename>/etc/machine-id</filename> file needed by
     
    223234  </sect2>
    224235
     236  <!-- - - - - - - - - - -->
     237  <!-- Multilib - 32bit  -->
     238  <!-- - - - - - - - - - -->
     239 
     240  <sect2 arch="ml_32,ml_all" role="installation">
     241    <title>Installation of systemd - 32-bit</title>
     242
     243    <para>Clean previous build:</para>
     244
     245<screen><userinput remap="pre">rm -rf *</userinput></screen>
     246
     247    <para>Create a symlink to work around missing xsltproc:</para>
     248
     249<!-- screen><userinput remap="pre">ln -sf /tools/bin/true /usr/bin/xsltproc</userinput></screen -->
     250<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
     251
     252<!-- with cross-LFS we have util-linux in place:
     253    <para>Because we have not yet installed the final version of Util-Linux,
     254    create links to the libraries in the approprite location:</para>
     255
     256<screen><userinput remap="pre">for file in /tools/lib32/lib{blkid,mount,uuid}*; do
     257    ln -sf $file /usr/lib32/
     258done</userinput></screen>
     259-->
     260
     261    <para>Prepare systemd for compilation:</para>
     262
     263    <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
     264CC="gcc -m32 -march=i686"              \
     265CXX="g++ -m32 -march=i686"             \
     266LANG=en_US.UTF-8                       \
     267meson --prefix=/usr                    \
     268      --sysconfdir=/etc                \
     269      --localstatedir=/var             \
     270      --libdir=/usr/lib32              \
     271      -Drootlibdir=/usr/lib32          \
     272      -Dblkid=true                  \
     273      -Ddefault-dnssec=no           \
     274      -Dfirstboot=false             \
     275      -Dinstall-tests=false         \
     276      -Dldconfig=false              \
     277      -Dsysusers=false              \
     278      -Db_lto=false                 \
     279      -Drpmmacrosdir=no             \
     280      -Dhomed=false                 \
     281      -Duserdb=false                \
     282      -Dman=false                   \
     283      -Dmode=release                \
     284      ..</userinput></screen>
     285
     286    <para>Compile the package:</para>
     287
     288<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
     289
     290    <para>Install the package:</para>
     291
     292<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
     293cp -Rv DESTDIR/usr/lib32/* /usr/lib32
     294rm -rf DESTDIR
     295rm -f /usr/bin/xsltproc</userinput></screen>
     296
     297  </sect2><!-- m32 -->
     298
     299  <!-- - - - - - - - - - -->
     300  <!-- Multilib - x32bit -->
     301  <!-- - - - - - - - - - -->
     302 
     303  <sect2 arch="ml_x32,ml_all" role="installation">
     304    <title>Installation of systemd - x32-bit</title>
     305
     306    <para>Clean previous build:</para>
     307
     308<screen><userinput remap="pre">rm -rf *</userinput></screen>
     309
     310    <para>Create a symlink to work around missing xsltproc:</para>
     311
     312<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen>
     313<!--
     314    <para>Fix an issue on x32:</para>
     315
     316<screen><userinput remap="pre">sed '/log_debug/s@PRI_TIMEX@PRIi64@' -i src/timesync/timesyncd-manager.c
     317sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</userinput></screen>
     318-->
     319    <para>Prepare systemd for compilation:</para>
     320
     321<screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
     322CC="gcc -mx32"                          \
     323CXX="g++ -mx32"                         \
     324CFLAGS+=" -Wno-error=shift-overflow"    \
     325CXXFLAGS+=" -Wno-error=shift-overflow"  \
     326LANG=en_US.UTF-8                        \
     327meson --prefix=/usr                     \
     328      --sysconfdir=/etc                 \
     329      --localstatedir=/var              \
     330      --libdir=/usr/libx32              \
     331      -Drootlibdir=/usr/libx32          \
     332      -Dblkid=true                  \
     333      -Ddefault-dnssec=no           \
     334      -Dfirstboot=false             \
     335      -Dinstall-tests=false         \
     336      -Dldconfig=false              \
     337      -Dsysusers=false              \
     338      -Db_lto=false                 \
     339      -Drpmmacrosdir=no             \
     340      -Dhomed=false                 \
     341      -Duserdb=false                \
     342      -Dman=false                   \
     343      -Dmode=release                \
     344      ..</userinput></screen>
     345
     346    <para>Compile the package:</para>
     347
     348<screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
     349
     350    <para>Install the package:</para>
     351
     352<screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install
     353cp -Rv DESTDIR/usr/libx32/* /usr/libx32
     354rm -rf DESTDIR
     355rm -f /usr/bin/xsltproc</userinput></screen>
     356
     357  </sect2><!-- mx32 -->
     358
    225359  <sect2 id="contents-systemd" role="content">
    226360    <title>Contents of systemd</title>
     
    234368        <seg>busctl, coredumpctl, halt (symlink to systemctl),
    235369        hostnamectl, init, journalctl, kernel-install, localectl, loginctl,
    236         machinectl, mount.ddi (symlink to systemd-dissect), networkctl,
    237         oomctl, portablectl, poweroff (symlink to
     370        machinectl, networkctl, oomctl, portablectl, poweroff (symlink to
    238371        systemctl), reboot (symlink to systemctl), resolvconf (symlink to
    239372        resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown
    240373        (symlink to systemctl), systemctl, systemd-ac-power, systemd-analyze,
    241374        systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
    242         systemd-confext (symlink to systemd-sysext), systemd-creds,
    243         systemd-delta, systemd-detect-virt,
     375        systemd-creds, systemd-delta, systemd-detect-virt,
    244376        systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128,
    245377        systemd-inhibit, systemd-machine-id-setup,
Note: See TracChangeset for help on using the changeset viewer.