Changeset 73aedd1d for chapter06/coreutils.xml
- Timestamp:
- 11/01/2003 10:31:50 PM (21 years ago)
- 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
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/coreutils.xml
r0b400add r73aedd1d 8 8 &aa-coreutils-shortdesc; 9 9 &aa-coreutils-dep; 10 &c6-coreutils-inst; 10 11 <sect2><title> </title><para> </para></sect2> 12 13 <sect2> 14 <title>Installation of Coreutils</title> 15 16 <para>Normally the functionality of <userinput>uname</userinput> is somewhat 17 broken, in that the <userinput>-p</userinput> switch always returns "unknown". 18 The 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 24 provided 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 37 Chapter 5 because it needed <emphasis>root</emphasis> privilege to do so. We're 38 going to need it in a few moments for the test suite. Therefore we work around 39 the 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 44 checks to ensure it built correctly. However, this particular test suite 45 makes some assumptions with regards to the presence of non-root users and 46 groups that don't apply this early into the LFS build. We therefore create 47 a dummy system user and two dummy groups to allow the tests to run 48 properly. 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 50 suite. Create two dummy groups and a dummy user name:</para> 51 52 <screen><userinput>echo "dummy1:x:1000" >> /etc/group 53 echo "dummy2:x:1001:dummy" >> /etc/group 54 echo "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> 61 user:</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 76 mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin 77 mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin 78 mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin 79 mv /usr/bin/{touch,true,uname,vdir} /bin 80 mv /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/[ 85 ln -s ../../bin/install /usr/bin</userinput></screen> 86 87 </sect2> 11 88 12 89 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.