Ignore:
Timestamp:
11/01/2003 10:31:50 PM (21 years ago)
Author:
Alex Gronenwoud <alex@…>
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, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v5_0, v5_1, v5_1_1, 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:
49f4dd5
Parents:
0b400add
Message:

Merging caption and installation sections for all packages in chapters 5 and 6.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter06/coreutils.xml

    r0b400add r73aedd1d  
    88&aa-coreutils-shortdesc;
    99&aa-coreutils-dep;
    10 &c6-coreutils-inst;
     10
     11<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
     12
     13<sect2>
     14<title>Installation of Coreutils</title>
     15
     16<para>Normally the functionality of <userinput>uname</userinput> is somewhat
     17broken, in that the <userinput>-p</userinput> switch always returns "unknown".
     18The following patch fixes this behaviour for Intel architectures:</para>
     19
     20<screen><userinput>patch -Np1 -i ../&coreutils-uname-patch;</userinput></screen>
     21
     22<para>We do not want Coreutils to install its version of the
     23<userinput>hostname</userinput> program, because it is inferior to the version
     24provided by Net-tools. Prevent its installation by applying a patch:</para>
     25
     26<screen><userinput>patch -Np1 -i ../&coreutils-hostname-patch;</userinput></screen>
     27
     28<para>Now prepare Coreutils for compilation:</para>
     29
     30<screen><userinput>./configure --prefix=/usr</userinput></screen>
     31
     32<para>Compile the package:</para>
     33
     34<screen><userinput>make</userinput></screen>
     35
     36<para>The <userinput>su</userinput> program from Coreutils wasn't installed in
     37Chapter 5 because it needed <emphasis>root</emphasis> privilege to do so. We're
     38going to need it in a few moments for the test suite. Therefore we work around
     39the problem by installing it now:</para>
     40
     41<screen><userinput>make install-root</userinput></screen>
     42
     43<para>This package has a test suite available which can perform a number of
     44checks to ensure it built correctly. However, this particular test suite
     45makes some assumptions with regards to the presence of non-root users and
     46groups that don't apply this early into the LFS build. We therefore create
     47a dummy system user and two dummy groups to allow the tests to run
     48properly. Should you choose not to run the test suite, skip down to
     49"Install the package".  The following commands will prepare us for the test
     50suite. Create two dummy groups and a dummy user name:</para>
     51
     52<screen><userinput>echo "dummy1:x:1000" >> /etc/group
     53echo "dummy2:x:1001:dummy" >> /etc/group
     54echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd</userinput></screen>
     55
     56<para>Some tests are meant to run as <emphasis>root</emphasis>:</para>
     57
     58<screen><userinput>make check-root</userinput></screen>
     59
     60<para>The remainder of the tests are run as the <emphasis>dummy</emphasis>
     61user:</para>
     62
     63<screen><userinput>su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
     64
     65<para>Remove the dummy groups and user name:</para>
     66
     67<screen><userinput>sed -i.bak '/dummy/d' /etc/passwd /etc/group</userinput></screen>
     68
     69<para>Install the package:</para>
     70
     71<screen><userinput>make install</userinput></screen>
     72
     73<para>And move some programs to their proper locations:</para>
     74
     75<screen><userinput>mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
     76mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin
     77mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin
     78mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin
     79mv /usr/bin/{touch,true,uname,vdir} /bin
     80mv /usr/bin/chroot /usr/sbin</userinput></screen>
     81
     82<para>Finally, create a few necessary symlinks:</para>
     83
     84<screen><userinput>ln -s test /bin/[
     85ln -s ../../bin/install /usr/bin</userinput></screen>
     86
     87</sect2>
    1188
    1289</sect1>
Note: See TracChangeset for help on using the changeset viewer.