Avoid having /bin in lfs' PATH if the build distro has merged

/bin and /usr/bin

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross-chap5@11837 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Pierre Labastie 2020-05-06 13:02:47 +00:00
parent 69a8b2b7e4
commit b454589fa6

View File

@ -43,7 +43,9 @@ umask 022
LFS=/mnt/lfs LFS=/mnt/lfs
LC_ALL=POSIX LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=$LFS/tools/bin:/bin:/usr/bin PATH=/usr/bin
if [ ! -l /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
export LFS LC_ALL LFS_TGT PATH</literal> export LFS LC_ALL LFS_TGT PATH</literal>
EOF</userinput></screen> EOF</userinput></screen>
@ -108,14 +110,36 @@ EOF</userinput></screen>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><parameter>PATH=$LFS/tools/bin:/bin:/usr/bin</parameter></term> <term><parameter>PATH=/usr/bin</parameter></term>
<listitem>
<para>Many modern linux distributions have merged <filename
class="directory">/bin</filename> and <filename
class="directory">/usr/bin</filename>. When this is the case, the standard
<envar>PATH</envar> variable needs just to be set to <filename
class="directory">/usr/bin/</filename> for the <xref
linkend="chapter-temporary-tools"/> environment. When this is not the
case, the following line adds <filename class="directory">/bin</filename>
to the path.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>if [ ! -l /bin ]; then PATH=/bin:$PATH; fi</parameter></term>
<listitem>
<para>If <filename class="directory">/bin</filename> is not a symbolic
link, then it has to be added to the <envar>PATH</envar> variable.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>PATH=$LFS/tools/bin:$PATH</parameter></term>
<listitem> <listitem>
<para>By putting <filename class="directory">$LFS/tools/bin</filename> ahead of the <para>By putting <filename class="directory">$LFS/tools/bin</filename> ahead of the
standard <envar>PATH</envar>, all the programs installed in <xref standard <envar>PATH</envar>, the cross-compiler installed at the beginning
linkend="chapter-temporary-tools"/> are picked up by the shell immediately after of <xref linkend="chapter-temporary-tools"/> is picked up by the shell
their installation. This, combined with turning off hashing, limits the risk immediately after its installation. This, combined with turning off hashing,
that old programs are used from the host when the same programs are available in limits the risk that the compiler from the host be used instead of the
the Chapter 5 environment.</para> cross-compiler.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>