| Newsgroups |
gmane.linux.lfs.automated |
| Message-ID |
<[email protected]> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch trunk
in repository jhalfs.
commit 16cef03acf8061c3e001e432476ab82f1f4a1b6b
Author: Pierre Labastie <[email protected]>
AuthorDate: Mon Feb 28 13:38:06 2022 +0100
Remove legacy: First run of CLFS removal
---
CLFS/clfs.xsl | 441 ------------
CLFS/master.sh | 1264 -----------------------------------
CLFS2/clfs2.xsl | 149 -----
CLFS2/master.sh | 536 ---------------
CLFS3/clfs3.xsl | 154 -----
CLFS3/master.sh | 586 ----------------
custom/examples_CLFS-E/950-dropbear | 46 --
custom/examples_CLFS-E/960-iptables | 39 --
jhalfs | 3 -
9 files changed, 3218 deletions(-)
diff --git a/CLFS/clfs.xsl b/CLFS/clfs.xsl
deleted file mode 100644
index fa43014..0000000
--- a/CLFS/clfs.xsl
+++ /dev/null
@@ -1,441 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
- <!ENTITY % general-entities SYSTEM "FAKEDIR/general.ent">
- %general-entities;
-]>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:exsl="http://exslt.org/common"
- extension-element-prefixes="exsl"
- version="1.0">
-
-<!-- XSLT stylesheet to create shell scripts from CLFS books. -->
-
- <!-- Build method used -->
- <xsl:param name="method" select="chroot"/>
-
- <!-- Run test suites?
- 0 = none
- 1 = only Glibc, GCC and Binutils testsuites
- 2 = all testsuites
- 3 = alias to 2
- -->
- <xsl:param name="testsuite" select="1"/>
-
- <!-- Bomb on test suites failures?
- n = no, I want to build the full system and review the logs
- y = yes, bomb at the first test suite failure to can review the build dir
- -->
- <xsl:param name="bomb-testsuite" select="n"/>
-
- <!-- Time zone -->
- <xsl:param name="timezone" select="GMT"/>
-
- <!-- Page size -->
- <xsl:param name="page" select="letter"/>
-
- <!-- Locale settings -->
- <xsl:param name="lang" select="C"/>
-
- <!-- Sparc64 processor type -->
- <xsl:param name="sparc" select="none"/>
-
- <!-- x86 32 bit target triplet -->
- <xsl:param name="x86" select="i686-pc-linux-gnu"/>
-
- <!-- mips target triplet -->
- <xsl:param name="mips" select="mips-unknown-linux-gnu"/>
-
- <xsl:template match="/">
- <xsl:apply-templates select="//sect1"/>
- </xsl:template>
-
- <xsl:template match="sect1">
- <xsl:choose>
- <xsl:when test="../@id='chapter-partitioning' or
- ../@id='chapter-getting-materials'"/>
- <xsl:when test="../@id='chapter-testsuite-tools' and $testsuite='0'"/>
- <xsl:when test="../@id='chapter-boot' and $method='chroot'"/>
- <xsl:when test="../@id='chapter-chroot' and $method='boot'"/>
- <xsl:otherwise>
- <xsl:if test="count(descendant::screen/userinput) > 0 and
- count(descendant::screen/userinput) >
- count(descendant::screen[@role='nodump'])">
- <!-- The dirs names -->
- <xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-dir-value" select="substring-after($pi-dir,'dir=')"/>
- <xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/>
- <xsl:variable name="dirname" select="substring-before(substring($pi-dir-value,2),$quote-dir)"/>
- <!-- The file names -->
- <xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/>
- <xsl:variable name="filename" select="substring-before(substring($pi-file-value,2),'.html')"/>
- <!-- The build order -->
- <xsl:variable name="position" select="position()"/>
- <xsl:variable name="order">
- <xsl:choose>
- <xsl:when test="string-length($position) = 1">
- <xsl:text>00</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:when test="string-length($position) = 2">
- <xsl:text>0</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$position"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Creating dirs and files -->
- <exsl:document href="{$dirname}/{$order}-{$filename}" method="text">
- <xsl:choose>
- <xsl:when test="@id='ch-chroot-changingowner' or
- @id='ch-chroot-creatingdirs' or
- @id='ch-chroot-createfiles' or
- @id='ch-system-stripping'">
- <xsl:text>#!/tools/bin/bash
set +h
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>#!/bin/bash
set +h
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="not(@id='ch-system-stripping')">
- <xsl:text>set -e</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- <xsl:if test="sect2[@role='installation'] and
- not(@id='ch-system-multiarch-wrapper')">
- <xsl:text>cd $PKGDIR
</xsl:text>
- </xsl:if>
- <xsl:apply-templates select=".//para/userinput | .//screen"/>
- <xsl:if test="not(@id='ch-chroot-chroot')">
- <xsl:text>echo -e "\n\nTotalseconds: $SECONDS\n"
</xsl:text>
- </xsl:if>
- <xsl:text>exit</xsl:text>
- </exsl:document>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="screen">
- <xsl:if test="child::* = userinput and not(@role = 'nodump')">
- <xsl:apply-templates select="userinput" mode="screen"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="para/userinput">
- <xsl:if test="(contains(string(),'test') or
- contains(string(),'check')) and
- not($testsuite = '2' or $testsuite = '3')">
- <xsl:text># </xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="$bomb-testsuite = 'n'">
- <xsl:value-of select="substring-before(string(),'make')"/>
- <xsl:text>make -k</xsl:text>
- <xsl:value-of select="substring-after(string(),'make')"/>
- <xsl:text> >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:text> >> $TEST_LOG 2>&1</xsl:text>
- <xsl:if test="contains(string(),' -k ')">
- <xsl:text> || true</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="userinput" mode="screen">
- <xsl:choose>
- <!-- Estandarized package formats -->
- <xsl:when test="contains(string(),'tar.gz')">
- <xsl:value-of select="substring-before(string(),'tar.gz')"/>
- <xsl:text>tar.*</xsl:text>
- <xsl:value-of select="substring-after(string(),'tar.gz')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Setting $LANG for /etc/profile -->
- <xsl:when test="ancestor::sect1[@id='ch-scripts-profile'] and
- contains(string(),'export LANG=')">
- <xsl:value-of select="substring-before(string(),'export LANG=')"/>
- <xsl:text>export LANG=</xsl:text>
- <xsl:value-of select="$lang"/>
- <xsl:value-of select="substring-after(string(),'charmap]')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Compile the keymap into the kernel has been disabled for 1.0 -->
- <xsl:when test="contains(string(),'defkeymap')"/>
- <!-- Copying the kernel config file -->
- <xsl:when test="string() = 'make mrproper'">
- <xsl:text>make mrproper
</xsl:text>
- <xsl:if test="ancestor::sect1[@id='ch-boot-kernel']">
- <xsl:text>cp -v ../bootkernel-config .config
</xsl:text>
- </xsl:if>
- <xsl:if test="ancestor::sect1[@id='ch-bootable-kernel']">
- <xsl:text>cp -v ../kernel-config .config
</xsl:text>
- </xsl:if>
- </xsl:when>
- <!-- No interactive commands are needed if the .config file is the proper one -->
- <xsl:when test="contains(string(),'menuconfig')"/>
-<!-- test instructions -->
- <xsl:when test="@remap = 'test'">
- <xsl:if test="not(ancestor::note[@os='a00'] and $method='chroot')">
- <!-- Avoid executing the note before perl tests while in 'chroot' -->
- <xsl:if test="
- $testsuite = '0' or
- $testsuite = '1' and
- not(ancestor::sect1[@id='ch-system-gcc']) and
- not(ancestor::sect1[contains(@id,'ch-system-eglibc')]) and
- not(ancestor::sect1[contains(@id,'ch-system-glibc')]) and
- not(ancestor::sect1[contains(@id,'ch-system-gmp')]) and
- not(ancestor::sect1[contains(@id,'ch-system-mpfr')]) and
- not(ancestor::sect1[contains(@id,'ch-system-mpc')]) and
- not(ancestor::sect1[contains(@id,'ch-system-ppl')]) and
- not(ancestor::sect1[contains(@id,'ch-system-isl')]) and
- not(ancestor::sect1[contains(@id,'ch-system-cloog')]) and
- not(ancestor::sect1[contains(@id,'ch-system-cloog-ppl')]) and
- not(ancestor::sect1[@id='ch-system-binutils'])">
- <xsl:text># </xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="$bomb-testsuite = 'n'">
- <xsl:choose>
- <!-- special case for (e)glibc -->
- <xsl:when test="contains(string(), 'glibc-check-log')">
- <xsl:value-of
- select="substring-before(string(),'2>&1')"/>
- <xsl:text>>> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <!-- special case for procps-ng -->
- <xsl:when test="contains(string(), 'pushd')">
- <xsl:text>{ </xsl:text>
- <xsl:apply-templates/>
- <xsl:text>; } >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:when test="contains(string(), 'make -k')">
- <xsl:apply-templates/>
- <xsl:text> >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:when test="contains(string(), 'make')">
- <xsl:value-of select="substring-before(string(),'make')"/>
- <xsl:text>make -k</xsl:text>
- <xsl:value-of select="substring-after(string(),'make')"/>
- <xsl:text> >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:if test="not(contains(string(), '>>'))">
- <xsl:text> >> $TEST_LOG 2>&1</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <!-- bomb-testsuite != 'n'-->
- <xsl:choose>
- <!-- special case for (e)glibc -->
- <xsl:when test="contains(string(), 'glibc-check-log')">
- <xsl:value-of
- select="substring-before(string(),'2>&1')"/>
- <xsl:text>>> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <!-- special case for gmp -->
- <xsl:when test="contains(string(), 'tee gmp-check-log')">
- <xsl:text>(</xsl:text>
- <xsl:apply-templates/>
- <xsl:text>>> $TEST_LOG 2>&1 && exit $PIPESTATUS)
</xsl:text>
- </xsl:when>
- <!-- special case for procps-ng -->
- <xsl:when test="contains(string(), 'pushd')">
- <xsl:text>{ </xsl:text>
- <xsl:apply-templates/>
- <xsl:text>; } >> $TEST_LOG 2>&1
</xsl:text>
- </xsl:when>
- <xsl:when test="contains(string(), 'make -k')">
- <xsl:apply-templates/>
- <xsl:text> >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:if test="not(contains(string(), '>>'))">
- <xsl:text> >> $TEST_LOG 2>&1</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if><!-- avoid executing note before perl tests -->
- </xsl:when>
-<!-- End of test instructions -->
-
- <!-- Fixing toolchain test suites run XXX more to fix -->
- <xsl:when test="contains(string(),'glibc-check-log')">
- <xsl:choose>
- <xsl:when test="$testsuite != '0'">
- <xsl:value-of select="substring-before(string(),'2>')"/>
- <xsl:choose>
- <xsl:when test="$bomb-testsuite = 'n'">
- <xsl:text>>> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>>> $TEST_LOG 2>&1</xsl:text>
- <xsl:if test="contains(string(),' -k ')">
- <xsl:text> || true</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="string() = 'make check' or
- contains(string(), 'make -k check')">
- <xsl:choose>
- <xsl:when test="$testsuite != '0'">
- <xsl:choose>
- <xsl:when test="$bomb-testsuite = 'n'">
- <xsl:text>make -k check >> $TEST_LOG 2>&1 || true
</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:text> >> $TEST_LOG 2>&1</xsl:text>
- <xsl:if test="contains(string(),' -k ')">
- <xsl:text> || true</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(string(),'test_summary') or
- contains(string(),'expect -c')">
- <xsl:choose>
- <xsl:when test="$testsuite != '0'">
- <xsl:apply-templates/>
- <xsl:text> >> $TEST_LOG
</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <!-- Don't stop on strip run -->
- <xsl:when test="contains(string(),'strip ')">
- <xsl:apply-templates/>
- <xsl:text> || true
</xsl:text>
- </xsl:when>
- <!-- Add -j1 to make install commands -->
- <xsl:when test="contains(string(),'make ') and
- contains(string(),'install')">
- <xsl:value-of select="substring-before(string(),'make ')"/>
- <xsl:text>make -j1 </xsl:text>
- <xsl:value-of select="substring-after(string(),'make ')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- The rest of commands -->
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="replaceable">
- <xsl:choose>
- <xsl:when test="ancestor::sect1[@id='ch-system-glibc']">
- <xsl:value-of select="$timezone"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-system-eglibc']">
- <xsl:value-of select="$timezone"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-system-groff']">
- <xsl:value-of select="$page"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-flags']">
- <xsl:choose>
- <xsl:when test="contains(string(),'BUILD32')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-m32 -mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-m32 -mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(string(),'BUILD64')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-m64 -mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-m64 -mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(string(),'GCCTARGET')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-final-preps-variables']">
- <xsl:choose>
- <xsl:when test="contains(string(),'target triplet')">
- <xsl:value-of select="$x86"/>
- </xsl:when>
- <xsl:when test="contains(string(),'mips')">
- <xsl:value-of select="$mips"/>
- </xsl:when>
- <xsl:when test="contains(string(),'BUILD32')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-m32 -mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-m32 -mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(string(),'BUILD64')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-m64 -mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-m64 -mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(string(),'GCCTARGET')">
- <xsl:choose>
- <xsl:when test="$sparc = '1' or $sparc = '2'">
- <xsl:text>-mcpu=ultrasparc -mtune=ultrasparc</xsl:text>
- </xsl:when>
- <xsl:when test="$sparc = '3'">
- <xsl:text>-mcpu=ultrasparc3 -mtune=ultrasparc3</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>**EDITME</xsl:text>
- <xsl:apply-templates/>
- <xsl:text>EDITME**</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/CLFS/master.sh b/CLFS/master.sh
deleted file mode 100644
index 5914ae1..0000000
--- a/CLFS/master.sh
+++ /dev/null
@@ -1,1264 +0,0 @@
-#!/bin/bash
-
-orphan_scripts="" # 2 scripts do not fit BOOT_Makefiles LUSER environment
-
-
-#--------------------------------------#
-host_prep_Makefiles() { #
-#--------------------------------------#
- local CLFS_HOST
-
- echo "${tab_}${GREEN}Processing... ${L_arrow}host prep files ( SETUP ) ${R_arrow}"
-
- # defined here, only for ease of reading
- CLFS_HOST="$(echo $MACHTYPE | sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"
-(
-cat << EOF
-023-creatingtoolsdir:
- @\$(call echo_message, Building)
- @install -dv \$(MOUNT_PT)/tools && \\
- rm -f /tools && \\
- ln -s \$(MOUNT_PT)/tools /
- @\$(call housekeeping)
-
-024-creatingcrossdir: 023-creatingtoolsdir
- @\$(call echo_message, Building)
- @install -dv \$(MOUNT_PT)/cross-tools && \\
- rm -f /cross-tools && \\
- ln -s \$(MOUNT_PT)/cross-tools /
- @\$(call housekeeping)
-
-025-addinguser: 024-creatingcrossdir
- @\$(call echo_message, Building)
- @if [ ! -d \$(LUSER_HOME) ]; then \\
- groupadd \$(LGROUP); \\
- useradd -s /bin/bash -g \$(LGROUP) -d \$(LUSER_HOME) \$(LUSER); \\
- mkdir -pv \$(LUSER_HOME); \\
- chown -v \$(LUSER):\$(LGROUP) \$(LUSER_HOME); \\
- else \\
- touch luser-exist; \\
- fi
- @chown -v \$(LUSER) \$(MOUNT_PT)/tools && \\
- chown -v \$(LUSER) \$(MOUNT_PT)/cross-tools && \\
- chmod -R a+wt \$(MOUNT_PT)/\$(SCRIPT_ROOT) && \\
- chmod a+wt \$(SRCSDIR)
- @\$(call housekeeping)
-
-026-settingenvironment: 025-addinguser
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc -a ! -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv \$(LUSER_HOME)/.bashrc \$(LUSER_HOME)/.bashrc.XXX; \\
- fi
- @if [ -f \$(LUSER_HOME)/.bash_profile -a ! -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile \$(LUSER_HOME)/.bash_profile.XXX; \\
- fi;
- @echo "set +h" > \$(LUSER_HOME)/.bashrc && \\
- echo "umask 022" >> \$(LUSER_HOME)/.bashrc && \\
- echo "CLFS=\$(MOUNT_PT)" >> \$(LUSER_HOME)/.bashrc && \\
- echo "LC_ALL=POSIX" >> \$(LUSER_HOME)/.bashrc && \\
- echo "PATH=/cross-tools/bin:/bin:/usr/bin" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS LC_ALL PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CXXFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset PKG_CONFIG_PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
-EOF
-) >> $MKFILE.tmp
-if ! [ -e final-preps/*variables ]; then
- (
- cat << EOF
- echo "export CLFS_HOST=\"${CLFS_HOST}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_TARGET=\"${TARGET}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_TARGET32=\"${TARGET32}\"" >> \$(LUSER_HOME)/.bashrc && \\
-EOF
- ) >> $MKFILE.tmp
-fi
-(
-cat << EOF
- echo "source $JHALFSDIR/envars" >> \$(LUSER_HOME)/.bashrc
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bashrc && \\
- chmod a+wt \$(MOUNT_PT) && \\
- if [ -d \$(MOUNT_PT)/var ]; then \\
- chown -R \$(LUSER) \$(MOUNT_PT)/var; \\
- fi && \\
- touch envars && \\
- chown \$(LUSER):\$(LGROUP) envars
- @\$(call housekeeping)
-EOF
-) >> $MKFILE.tmp
- host_prep=" 023-creatingtoolsdir 024-creatingcrossdir 026-settingenvironment"
-
-}
-
-#--------------------------------------#
-final_preps_Makefiles() {
-#--------------------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}variables ( LUSER ) ${R_arrow}"
- for file in final-preps/* ; do
- this_script=`basename $file`
- case $this_script in
- *variables )
- ;;
- *) continue; ;;
- esac
- # Set the dependency for the first target.
- if [ -z $PREV ] ; then PREV=026-settingenvironment ; fi
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- final_preps="$final_preps $this_script"
-
- # No need to grab the package name
-
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_RunAsUser "${file}"
- wrt_touch
- PREV=$this_script
- done # for file in ....
-}
-
-#--------------------------------------#
-cross_tools_Makefiles() { #
-#--------------------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}cross tools ( LUSER ) ${R_arrow}"
-
- for file in cross-tools/* ; do
- # Keep the script file name
- this_script=`basename $file`
- #
- # Skip this script...
- case $this_script in
- *cflags* | *variables* ) # work done in host_prep_Makefiles
- continue; ;;
- *) ;;
- esac
- #
- # Set the dependency for the first target.
- if [ -z $PREV ] ; then PREV=026-settingenvironment ; fi
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- cross_tools="$cross_tools $this_script"
-
- # Grab the name of the target (minus the -headers or -cross in the case of gcc
- # and binutils in chapter 5)
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's@-static@@' \
- -e 's@-final@@' \
- -e 's@-64@@' \
- -e 's@-n32@@' \
- -e 's@-pass1@@'`
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_wrt_unpack "$pkg_tarball"
- [[ "$pkg_tarball" != "" ]] && [[ "$OPTIMIZE" = 3 ]] && wrt_makeflags "${name}"
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in ....
-}
-
-#--------------------------------------#
-temptools_Makefiles() { #
-#--------------------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}temp system ( LUSER ) ${R_arrow}"
-
- for file in temp-system/* ; do
- # Keep the script file name
- this_script=`basename $file`
- #
- # Deal with any odd scripts..
- case $this_script in
- *choose) # The choose script will fail if you cannot enter the new environment
- # If the 'boot' build method was chosen don't run the script
- [[ $METHOD = "boot" ]] && continue; ;;
- *) ;;
- esac
-
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- temptools="$temptools $this_script"
-
- #
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
- #
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- # Insert instructions for unpacking the package and to set the PKGDIR variable.
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_wrt_unpack "$pkg_tarball"
- [[ "$pkg_tarball" != "" ]] && [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
- done # for file in ....
-}
-
-
-#--------------------------------------#
-chroot_Makefiles() { #
-#--------------------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}tmptools CHROOT ( CHROOT ) ${R_arrow}"
-
- for file in chroot/* ; do
- # Keep the script file name
- this_script=`basename $file`
- #
- # Skipping scripts is done now and not included in the build tree.
- case $this_script in
- *chroot*) continue ;;
- esac
-
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- case "${this_script}" in
- *kernfs) orphan_scripts="${orphan_scripts} ${this_script}" ;;
- *) chroottools="$chroottools $this_script" ;;
- esac
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- # This is very ugly:: util-linux is in /chroot but must be run under LUSER
- # Same for e2fsprogs (in CLFS 1.1.0)
- # .. Customized makefile entry
- case "${this_script}" in
- *util-linux)
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- LUSER_wrt_RunAsUser "${file}"
- LUSER_RemoveBuildDirs "${name}"
- wrt_touch
- temptools="$temptools $this_script"
- continue ;;
- *util-linux-ng)
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- LUSER_wrt_RunAsUser "${file}"
- LUSER_RemoveBuildDirs "${name}"
- wrt_touch
- temptools="$temptools $this_script"
- continue ;;
- *util-linux-libs)
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- LUSER_wrt_RunAsUser "${file}"
- LUSER_RemoveBuildDirs "${name}"
- wrt_touch
- temptools="$temptools $this_script"
- continue ;;
- *e2fsprogs)
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- LUSER_wrt_RunAsUser "${file}"
- LUSER_RemoveBuildDirs "${name}"
- wrt_touch
- temptools="$temptools $this_script"
- continue ;;
- *e2fsprogs-libs)
- LUSER_wrt_target "${this_script}" "$PREV"
- LUSER_wrt_unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- LUSER_wrt_RunAsUser "${file}"
- LUSER_RemoveBuildDirs "${name}"
- wrt_touch
- temptools="$temptools $this_script"
- continue ;;
- esac
-
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- # Insert instructions for unpacking the package and changing directories
- #
- if [ "$pkg_tarball" != "" ] ; then
- CHROOT_Unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- # Select a script execution method
- case $this_script in
- *kernfs) wrt_RunAsRoot "${file}" ;;
- *) CHROOT_wrt_RunAsRoot "${file}" ;;
- esac
- #
- # Housekeeping...remove the build directory(ies), except if the package build fails.
- [[ "$pkg_tarball" != "" ]] && CHROOT_wrt_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in...
-}
-
-
-#--------------------------------------#
-boot_Makefiles() { #
-#--------------------------------------#
-
- echo "${tab_}${GREEN}Processing... ${L_arrow}tmptools BOOT ( LUSER ) ${R_arrow}"
- #
- # Create a target bootable partition containing a compile environment. Later
- # on we boot into this environment and contine the build.
- #
- for file in boot/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # A little housekeeping on the scripts
- case $this_script in
- *grub | *aboot | *colo | *silo | *arcload | *lilo | *introduction ) continue ;;
- *how-to-view*) continue ;;
- *whatnext*) continue ;;
- *fstab) [[ -z "${FSTAB}" ]] ||
- [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] ||
- cp ${FSTAB} $BUILDDIR/sources/fstab ;;
- *kernel) # if there is no kernel config file do not build the kernel
- [[ -z $BOOT_CONFIG ]] && continue
- # Copy the config file to /sources with a standardized name
- [[ ${BOOT_CONFIG} == $BUILDDIR/sources/bootkernel-config ]] ||
- cp $BOOT_CONFIG $BUILDDIR/sources/bootkernel-config
- ;;
- esac
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile). Those names differ depending
- # on the version of the book. What makes the difference between those
- # versions is the presence of "how-to-view" in the boot chapter.
- if [ -f boot/*how-to-view ]; then
- case "${this_script}" in
- *changingowner)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *creatingdirs)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *createfiles)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *devices)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *flags)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *fstab)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *pwdgroup)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *settingenvironment)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *)
- boottools="$boottools $this_script"
- ;;
- esac
- else
- case "${this_script}" in
- *changingowner)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *devices)
- orphan_scripts="${orphan_scripts} ${this_script}"
- ;;
- *)
- boottools="$boottools $this_script"
- ;;
- esac
- fi
- #
- # Grab the name of the target, strip id number and misc words.
- case $this_script in
- *kernel) name=linux ;;
- *bootscripts) name="bootscripts-cross-lfs" ;;
- *boot-scripts) name="boot-scripts-cross-lfs" ;;
- *udev-rules) name="udev-cross-lfs" ;;
- *grub-build) name=grub ;;
- *-aboot-build) name=aboot ;;
- *yaboot-build) name=yaboot ;;
- *colo-build) name=colo ;;
- *silo-build) name=silo ;;
- *arcload-build) name=arcload ;;
- *lilo-build) name=lilo ;;
- *) name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' -e 's@-build@@' ` ;;
- esac
- # Identify the unique version naming scheme for the clfs bootscripts..(bad boys)
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- # Insert instructions for unpacking the package and changing directories
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_wrt_unpack "$pkg_tarball"
- [[ "$pkg_tarball" != "" ]] && [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- #
- # Select a script execution method
- if [ -f boot/*how-to-view ]; then
- case $this_script in
- # The following 8 scripts are defined in the /boot directory but need
- # to be run as a root user. Set them up here but run them in another
- # phase
- *changingowner) wrt_RunAsRoot "${file}" ;;
- *creatingdirs) wrt_RunAsRoot "${file}" ;;
- *createfiles) wrt_RunAsRoot "${file}" ;;
- *devices) wrt_RunAsRoot "${file}" ;;
- *flags) wrt_RunAsRoot "${file}" ;;
- *fstab)
- if [[ -n "$FSTAB" ]]; then
- LUSER_wrt_CopyFstab
- else
- wrt_RunAsRoot "${file}"
- fi
- ;;
- *pwdgroup) wrt_RunAsRoot "${file}" ;;
- *settingenvironment) wrt_RunAsRoot "${file}" ;;
- *) LUSER_wrt_RunAsUser "${file}" ;;
- esac
- else
- case $this_script in
- # The following 2 scripts are defined in the /boot directory but need
- # to be run as a root user. Set them up here but run them in another
- # phase
- *changingowner) wrt_RunAsRoot "${file}" ;;
- *devices) wrt_RunAsRoot "${file}" ;;
- *fstab)
- if [[ -n "${FSTAB}" ]]; then
- LUSER_wrt_CopyFstab
- else
- LUSER_wrt_RunAsUser "${file}"
- fi
- ;;
- *) LUSER_wrt_RunAsUser "${file}" ;;
- esac
- fi
- #
- # Housekeeping...remove any build directory(ies) except if the package build fails.
- [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done
-}
-
-
-#--------------------------------------#
-testsuite_tools_Makefiles() { #
-#--------------------------------------#
-
- if [[ "${METHOD}" = "chroot" ]]; then
- echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) testsuite tools ( CHROOT ) ${R_arrow}"
- else
- echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) testsuite tools ( ROOT ) ${R_arrow}"
- PREV=""
- fi
-
- for file in testsuite-tools/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- testsuitetools="$testsuitetools $this_script"
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'\
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
- #
- CHROOT_Unpack "$pkg_tarball"
- [[ "$OPTIMIZE" -ge "2" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- #
- CHROOT_wrt_RunAsRoot "${file}"
- #
- CHROOT_wrt_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done
-}
-
-
-#--------------------------------------#
-final_system_Makefiles() { #
-#--------------------------------------#
- # Set envars and scripts for iteration targets
- if [[ -z "$1" ]] ; then
- local N=""
- # In boot method the makesys phase was initiated in testsuite_tools_makefile
- [[ "${METHOD}" = "boot" ]] && [[ "$TEST" = 0 ]] && PREV=""
- else
- local N=-build_$1
- local basicsystem=""
- mkdir final-system$N
- cp final-system/* final-system$N
- for script in final-system$N/* ; do
- # Overwrite existing symlinks, files, and dirs
- sed -e 's/ln -sv/&f/g' \
- -e 's/mv -v/&f/g' \
- -e 's/mkdir -v/&p/g' -i ${script}
- # Rename the scripts
- mv ${script} ${script}$N
- done
- # Remove Bzip2 binaries before make install (CLFS-1.0 compatibility)
- sed -e 's@make install@rm -vf /usr/bin/bz*\n&@' -i final-system$N/*-bzip2$N
- # Delete *old Readline libraries just after make install
- sed -e 's@make install@&\nrm -v /lib/lib{history,readline}*old@' -i final-system$N/*-readline$N
- fi
-
- if [[ "${METHOD}" = "chroot" ]]; then
- echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) final system$N ( CHROOT ) ${R_arrow}"
- else
- echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) final system$N ( ROOT ) ${R_arrow}"
- fi
-
- for file in final-system$N/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # Test if the stripping phase must be skipped.
- # Skip also temp-perl for iterative runs
- case $this_script in
- *stripping*) [[ "$STRIP" = "n" ]] && continue ;;
- *temp-perl*) [[ -n "$N" ]] && continue ;;
- esac
-
- # Grab the name of the target, strip id number, XXX-script.
- # name1 is partially stripped and should be used for logging files.
- # name is completely stripped and is used for grabbing
- # the package name.
- name1=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's,'$N',,'`
- name=`echo $name1 | sed -e 's@temp-@@' \
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
-
- # Find the version of the command files, if it corresponds with the building of
- # a specific package. We need this here to can skip scripts not needed for
- # iterations rebuilds
- pkg_tarball=$(get_package_tarball_name $name)
-
- if [[ "$pkg_tarball" = "" ]] && [[ -n "$N" ]] ; then
- case "${this_script}" in
- *stripping*) ;;
- *) continue ;;
- esac
- fi
-
- # Append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- basicsystem="$basicsystem ${this_script}"
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
-
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- # Touch timestamp file if installed files logs will be created.
- # But only for the firt build when running iterative builds.
- if [ "${INSTALL_LOG}" = "y" ] && [ "x${N}" = "x" ] ; then
- CHROOT_wrt_TouchTimestamp
- fi
- CHROOT_Unpack "$pkg_tarball"
- # If the testsuites must be run, initialize the log file
- case $name in
- binutils | gcc | glibc | eglibc | gmp | mpfr | mpc | isl | cloog )
- [[ "$TEST" != "0" ]] && CHROOT_wrt_test_log "${this_script}"
- ;;
- * )
- [[ "$TEST" = "2" ]] || [[ "$TEST" = "3" ]] && CHROOT_wrt_test_log "${this_script}"
- ;;
- esac
- # If using optimizations, write the instructions
- [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- CHROOT_wrt_RunAsRoot "${file}"
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- CHROOT_wrt_RemoveBuildDirs "$name"
- if [ "${INSTALL_LOG}" = "y" ] && [ "x${N}" = "x" ] ; then
- CHROOT_wrt_LogNewFiles "$name1"
- fi
- fi
- #
- # Include a touch of the target name so make can check
- # if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=${this_script}
- # Set system_build envar for iteration targets
- system_build=$basicsystem
- done # for file in final-system/* ...
-}
-
-#--------------------------------------#
-bootscripts_Makefiles() { #
-#--------------------------------------#
-
-# New versions of the book do not have bootscripts anymore
-# (use systemd configuration files)
-# Define a variable to be used for the right script directory to parse
- if [ -d bootscripts ]; then
- config="bootscripts"
- else
- config="system-config"
- fi
-
- if [[ "${METHOD}" = "chroot" ]]; then
- echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) $config ( CHROOT ) ${R_arrow}"
- else
- echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) $config ( ROOT ) ${R_arrow}"
- fi
-
- for file in $config/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- case $this_script in
- *udev) continue ;; # This is not a script but a comment, we want udev-rules
- *console*) continue ;; # Use the files that came with the bootscripts
-# fstab is now here (for 3.x.y)
- *fstab) [[ -z "${FSTAB}" ]] ||
- [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] ||
- cp ${FSTAB} $BUILDDIR/sources/fstab ;;
- *) ;;
- esac
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- bootscripttools="$bootscripttools $this_script"
-
- # Grab the name of the target, strip id number, XXX-script.
- # name1 is partially stripped and should be used for logging files.
- # name is completely stripped and is used for grabbing
- # the package name.
- name1=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
- name=`echo $name1 | sed -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
- case $name in
- *bootscripts*) name=bootscripts-cross-lfs ;;
- *udev-rules) name=udev-cross-lfs ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- #
- if [ "$pkg_tarball" != "" ] ; then
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_TouchTimestamp
- fi
- CHROOT_Unpack "$pkg_tarball"
- fi
- #
- case $this_script in
- *fstab*) if [[ -n "$FSTAB" ]]; then
- CHROOT_wrt_CopyFstab
- else
- CHROOT_wrt_RunAsRoot "${file}"
- fi
- ;;
- *) CHROOT_wrt_RunAsRoot "${file}"
- ;;
- esac
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- CHROOT_wrt_RemoveBuildDirs "$name"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_LogNewFiles "$name1"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in bootscripts/* ...
-}
-
-#--------------------------------------#
-network_Makefiles() { #
-#--------------------------------------#
-
- if [[ "${METHOD}" = "chroot" ]]; then
- echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) network ( CHROOT ) ${R_arrow}"
- else
- echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) network ( ROOT ) ${R_arrow}"
- fi
-
- for file in network/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- case $this_script in
- *choose) continue ;; # This is not a script but a commentary.
- *dhcp) continue ;; # Assume static networking.
- *dhcpcd) continue ;; # Assume static networking.
- *) ;;
- esac
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- networktools="$networktools $this_script"
-
- # Grab the name of the target, strip id number, XXX-script
- # name1 is partially stripped and should be used for logging files.
- # name is completely stripped and is used for grabbing
- # the package name.
- name1=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
- name=`echo $name1 | sed -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
- case $name in
- network-scripts) name=clfs-network-scripts ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- #
- if [ "$pkg_tarball" != "" ] ; then
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_TouchTimestamp
- fi
- CHROOT_Unpack "$pkg_tarball"
- fi
- #
- CHROOT_wrt_RunAsRoot "${file}"
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- CHROOT_wrt_RemoveBuildDirs "$name"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_LogNewFiles "$name1"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in network/* ...
-}
-
-#--------------------------------------#
-bootable_Makefiles() { #
-#--------------------------------------#
-
- if [[ "${METHOD}" = "chroot" ]]; then
- echo "${tab_}${GREEN}Processing... ${L_arrow}(chroot) make bootable ( CHROOT ) ${R_arrow}"
- else
- echo "${tab_}${GREEN}Processing... ${L_arrow}(boot) make bootable ( ROOT ) ${R_arrow}"
- fi
-
-
- for file in bootable/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # A little housekeeping on the scripts
- case $this_script in
- *grub | *aboot | *colo | *silo | *arcload | *lilo | *reboot* ) continue ;;
- *fstab) [[ -z "${FSTAB}" ]] ||
- [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] ||
- cp ${FSTAB} $BUILDDIR/sources/fstab ;;
- *kernel) # if there is no kernel config file do not build the kernel
- [[ -z $CONFIG ]] && continue
- # Copy the config file to /sources with a standardized name
- [[ $CONFIG == $BUILDDIR/sources/kernel-config ]] ||
- cp $CONFIG $BUILDDIR/sources/kernel-config
- ;;
- esac
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- bootabletools="$bootabletools $this_script"
- #
- # Grab the name of the target, strip id number and misc words.
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' -e 's@-build@@' `
- case $this_script in
- *kernel*) name=linux
- ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- CHROOT_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- # Insert instructions for unpacking the package and changing directories
- #
- if [ "$pkg_tarball" != "" ] ; then
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_TouchTimestamp
- fi
- CHROOT_Unpack "$pkg_tarball"
- fi
- #
- # Select a script execution method
- case $this_script in
- *fstab*) if [[ -n "$FSTAB" ]]; then
- CHROOT_wrt_CopyFstab
- else
- CHROOT_wrt_RunAsRoot "${file}"
- fi
- ;;
- *) CHROOT_wrt_RunAsRoot "${file}"
- ;;
- esac
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- CHROOT_wrt_RemoveBuildDirs "$name"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- CHROOT_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done
-
-}
-
-
-#--------------------------------------#
-build_Makefile() { # Construct a Makefile from the book scripts
-#--------------------------------------#
-
- echo "...Creating Makefile... ${BOLD}START${OFF}"
-
- cd $JHALFSDIR/${PROGNAME}-commands
- # Start with clean files
- >$MKFILE
- >$MKFILE.tmp
-
- method_cmds=${METHOD}_Makefiles
-
- host_prep_Makefiles # mk_SETUP (SETUP) $host_prep
- final_preps_Makefiles # mk_F_PREPS (LUSER) $final_preps
- cross_tools_Makefiles # mk_CROSS (LUSER) $cross_tools
- temptools_Makefiles # mk_TEMP (LUSER) $temptools
- $method_cmds # mk_SYSTOOLS (CHROOT) $chroottools/$boottools
- if [[ ! $TEST = "0" ]]; then
- testsuite_tools_Makefiles # mk_SYSTOOLS (CHROOT) $testsuitetools
- fi
- final_system_Makefiles # mk_FINAL (CHROOT) $basicsystem
- # Add the iterations targets, if needed
- [[ "$COMPARE" = "y" ]] && wrt_compare_targets
- bootscripts_Makefiles # mk_BOOTSCRIPT (CHROOT) $bootscripttools
- if [ -d network ]; then
- network_Makefiles # If present, process network setup.
- fi
- bootable_Makefiles # mk_BOOTABLE (CHROOT) $bootabletools
-
- # Add the CUSTOM_TOOLS targets, if needed
- [[ "$CUSTOM_TOOLS" = "y" ]] && wrt_CustomTools_target
-
- # Add a header, some variables and include the function file
- # to the top of the real Makefile.
- wrt_Makefile_header
-
- # Add chroot commands
- if [ "$METHOD" = "chroot" ] ; then
- CHROOT_LOC="`whereis -b chroot | cut -d " " -f2`"
- chroot=`cat chroot/???-chroot | \
- sed -e "s@chroot@$CHROOT_LOC@" \
- -e '/#!\/bin\/bash/d' \
- -e '/^export/d' \
- -e '/^logout/d' \
- -e 's@ \\\@ @g' | \
- tr -d '\n' | \
- sed -e 's/ */ /g' \
- -e 's|\\$|&&|g' \
- -e 's|exit||g' \
- -e 's|$| -c|' \
- -e 's|"$${CLFS}"|$(MOUNT_PT)|'\
- -e 's|set -e||' \
- -e 's|set +h||'`
- echo -e "CHROOT1= $chroot\n" >> $MKFILE
- fi
-
-################## CHROOT ####################
-
-if [[ "${METHOD}" = "chroot" ]]; then
-(
-cat << EOF
-
-all: ck_UID mk_SETUP mk_F_PREPS mk_SUDO mk_SYSTOOLS create-sbu_du-report mk_CUSTOM_TOOLS mk_BLFS_TOOL
- @sudo make do-housekeeping
- @echo "$VERSION - jhalfs build" > clfs-release && \\
- sudo mv clfs-release \$(MOUNT_PT)/etc && \\
- sudo chown root:root \$(MOUNT_PT)/etc/clfs-release
- @\$(call echo_finished,$VERSION)
-
-ck_UID:
- @if [ \`id -u\` = "0" ]; then \\
- echo "+--------------------------------------------------+"; \\
- echo "|You cannot run this makefile from the root account|"; \\
- echo "+--------------------------------------------------+"; \\
- exit 1; \\
- fi
-
-#---------------AS ROOT
-mk_SETUP:
- @\$(call echo_SU_request)
- @sudo make BREAKPOINT=\$(BREAKPOINT) SETUP
- @touch \$@
-
-#---------------AS LUSER
-mk_F_PREPS: mk_SETUP
- @\$(call echo_PHASE,Final Preparations Cross and Temporary Tools)
- @( \$(SU_LUSER) "make -C \$(MOUNT_PT)/\$(SCRIPT_ROOT) BREAKPOINT=\$(BREAKPOINT) AS_LUSER" )
- @sudo make restore-luser-env
- @touch \$@
-
-mk_SUDO: mk_F_PREPS
- @sudo make BREAKPOINT=\$(BREAKPOINT) SUDO
- @touch \$@
-
-#---------------CHROOT JAIL
-mk_SYSTOOLS: mk_SUDO
- @\$(call echo_CHROOT_request)
- @\$(call echo_PHASE, CHROOT JAIL )
- @( sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) PREP_CHROOT_JAIL")
- @( sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) CHROOT_JAIL")
- @touch \$@
-
-mk_BLFS_TOOL: create-sbu_du-report
- @if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building BLFS_TOOL); \\
- (sudo \$(CHROOT1) "make -C $BLFS_ROOT/work"); \\
- fi;
- @touch \$@
-
-mk_CUSTOM_TOOLS: mk_BLFS_TOOL
- @if [ "\$(ADD_CUSTOM_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building CUSTOM_TOOLS); \\
- sudo mkdir -p ${BUILDDIR}${TRACKING_DIR}; \\
- (sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) CUSTOM_TOOLS"); \\
- fi;
- @touch \$@
-
-SETUP: $host_prep
-AS_LUSER: $final_preps $cross_tools $temptools
-SUDO: $orphan_scripts
-PREP_CHROOT_JAIL: SHELL=/tools/bin/bash
-PREP_CHROOT_JAIL: ${chroottools}
-CHROOT_JAIL: SHELL=/tools/bin/bash
-CHROOT_JAIL: $testsuitetools $basicsystem $bootscripttools $bootabletools
-CUSTOM_TOOLS: $custom_list
-
-
-create-sbu_du-report: mk_SYSTOOLS
- @\$(call echo_message, Building)
- @if [ "\$(ADD_REPORT)" = "y" ]; then \\
- ./create-sbu_du-report.sh logs $VERSION $(date --iso-8601); \\
- \$(call echo_report,$VERSION-SBU_DU-$(date --iso-8601).report); \\
- fi;
- @touch \$@
-
-do-housekeeping:
- @-umount \$(MOUNT_PT)/sys
- @-umount \$(MOUNT_PT)/proc
- @-if mountpoint -q \$(MOUNT_PT)/run; then \\
- umount \$(MOUNT_PT)/run; \\
- elif [ -h \$(MOUNT_PT)/dev/shm ]; then \\
- link=\$\$(readlink \$(MOUNT_PT)/dev/shm); \\
- umount \$(MOUNT_PT)/\$\$link; \\
- unset link; \\
- else \\
- umount \$(MOUNT_PT)/dev/shm; \\
- fi
- @-umount \$(MOUNT_PT)/dev/pts
- @-umount \$(MOUNT_PT)/dev
- @-rm /tools /cross-tools
- @-if [ ! -f luser-exist ]; then \\
- userdel \$(LUSER); \\
- rm -rf \$(LUSER_HOME); \\
- fi;
-EOF
-) >> $MKFILE
-
-fi
-
-################### BOOT #####################
-
-if [[ "${METHOD}" = "boot" ]]; then
-(
-cat << EOF
-
-all: ck_UID mk_SETUP mk_F_PREPS mk_SUDO
- @sudo make restore-luser-env
- @sudo make do-housekeeping
- @\$(call echo_boot_finished,$VERSION)
-
-makesys: mk_FINAL mk_CUSTOM_TOOLS mk_BLFS_TOOL
- @echo "$VERSION - jhalfs build" > /etc/clfs-release
- @\$(call echo_finished,$VERSION)
-
-
-ck_UID:
- @if [ \`id -u\` = "0" ]; then \\
- echo "+--------------------------------------------------+"; \\
- echo "|You cannot run this makefile from the root account|"; \\
- echo "|However, if this is the boot environment |"; \\
- echo "| the command you are looking for is |"; \\
- echo "| make makesys |"; \\
- echo "| to complete the build |"; \\
- echo "+--------------------------------------------------+"; \\
- exit 1; \\
- fi
-
-#---------------AS ROOT
-
-mk_SETUP:
- @\$(call echo_SU_request)
- @sudo make BREAKPOINT=\$(BREAKPOINT) SETUP
- @touch \$@
-
-#---------------AS LUSER
-
-mk_F_PREPS: mk_SETUP
- @\$(call echo_PHASE,Final Preparations and Cross Tools)
- @( \$(SU_LUSER) "make -C \$(MOUNT_PT)/\$(SCRIPT_ROOT) BREAKPOINT=\$(BREAKPOINT) AS_LUSER" )
- @touch \$@
-
-mk_SUDO: mk_F_PREPS
- @sudo make BREAKPOINT=\$(BREAKPOINT) SUDO
- @touch \$@
-
-#---------------AS ROOT
-
-mk_FINAL:
- @\$(call echo_PHASE,Final System)
- @( source /root/.bash_profile && make BREAKPOINT=\$(BREAKPOINT) AS_ROOT )
- @touch \$@
-
-mk_BLFS_TOOL: mk_FINAL
- @if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building BLFS_TOOL); \\
- ( make -C $BLFS_ROOT/work ); \\
- fi;
- @touch \$@
-
-mk_CUSTOM_TOOLS: mk_BLFS_TOOL
- @if [ "\$(ADD_CUSTOM_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building CUSTOM_TOOLS); \\
- mkdir -p ${TRACKING_DIR}; \\
- ( source /root/.bash_profile && make BREAKPOINT=\$(BREAKPOINT) CUSTOM_TOOLS ); \\
- fi;
- @touch \$@
-
-SETUP: $host_prep
-AS_LUSER: $final_preps $cross_tools $temptools ${boottools}
-SUDO: $orphan_scripts
-AS_ROOT: SHELL=/tools/bin/bash
-AS_ROOT: $testsuitetools $basicsystem $bootscripttools $bootabletools
-CUSTOM_TOOLS: $custom_list
-
-do-housekeeping:
- @-rm /tools /cross-tools
- @-if [ ! -f luser-exist ]; then \\
- userdel \$(LUSER); \\
- rm -rf \$(LUSER_HOME); \\
- fi;
-
-EOF
-) >> $MKFILE
-fi
-
-(
- cat << EOF
-
-restore-luser-env:
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv -f \$(LUSER_HOME)/.bashrc.XXX \$(LUSER_HOME)/.bashrc; \\
- fi;
- @if [ -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile.XXX \$(LUSER_HOME)/.bash_profile; \\
- fi;
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bash* && \\
- touch \$@ && \\
- echo " "\$(BOLD)Target \$(BLUE)\$@ \$(BOLD)OK && \\
- echo --------------------------------------------------------------------------------\$(WHITE)
-
-########################################################
-
-
-EOF
-) >> $MKFILE
-
- # Bring over the items from the Makefile.tmp
- cat $MKFILE.tmp >> $MKFILE
- rm $MKFILE.tmp
-
- echo "Creating Makefile... ${BOLD}DONE${OFF}"
-}
diff --git a/CLFS2/clfs2.xsl b/CLFS2/clfs2.xsl
deleted file mode 100644
index 4f54f86..0000000
--- a/CLFS2/clfs2.xsl
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
- <!ENTITY % general-entities SYSTEM "FAKEDIR/general.ent">
- %general-entities;
-]>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:exsl="http://exslt.org/common"
- extension-element-prefixes="exsl"
- version="1.0">
-
-<!-- XSLT stylesheet to create shell scripts from CLFS2 books. -->
-
- <!-- Time zone -->
- <xsl:param name="timezone" select="GMT"/>
-
- <!-- Page size -->
- <xsl:param name="page" select="letter"/>
-
- <!-- Locale settings -->
- <xsl:param name="lang" select="C"/>
-
- <xsl:template match="/">
- <xsl:apply-templates select="//sect1"/>
- </xsl:template>
-
- <xsl:template match="sect1">
- <xsl:choose>
- <xsl:when test="../@id='chapter-partitioning' or
- ../@id='chapter-getting-materials' or
- ../@id='chapter-final-preps'"/>
- <xsl:otherwise>
- <xsl:if test="count(descendant::screen/userinput) > 0 and
- count(descendant::screen/userinput) >
- count(descendant::screen[@role='nodump'])">
- <!-- The dirs names -->
- <xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-dir-value" select="substring-after($pi-dir,'dir=')"/>
- <xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/>
- <xsl:variable name="dirname" select="substring-before(substring($pi-dir-value,2),$quote-dir)"/>
- <!-- The file names -->
- <xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/>
- <xsl:variable name="filename" select="substring-before(substring($pi-file-value,2),'.html')"/>
- <!-- The build order -->
- <xsl:variable name="position" select="position()"/>
- <xsl:variable name="order">
- <xsl:choose>
- <xsl:when test="string-length($position) = 1">
- <xsl:text>00</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:when test="string-length($position) = 2">
- <xsl:text>0</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$position"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Creating dirs and files -->
- <exsl:document href="{$dirname}/{$order}-{$filename}" method="text">
- <xsl:text>#!/bin/bash
set +h
</xsl:text>
- <xsl:if test="not(@id='ch-system-stripping')">
- <xsl:text>set -e
</xsl:text>
- </xsl:if>
- <xsl:text>
</xsl:text>
- <xsl:if test="sect2[@role='installation'] and
- not(@id='ch-cross-tools-sysroot-wrapper')">
- <xsl:text>cd $PKGDIR
</xsl:text>
- </xsl:if>
- <xsl:apply-templates select=".//para/userinput | .//screen"/>
- <xsl:text>exit</xsl:text>
- </exsl:document>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="screen">
- <xsl:if test="child::* = userinput and not(@role = 'nodump')">
- <xsl:apply-templates select="userinput" mode="screen"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="para/userinput"/>
-
- <xsl:template match="userinput" mode="screen">
- <xsl:choose>
- <!-- Estandarized package formats -->
- <xsl:when test="contains(string(),'tar.gz')">
- <xsl:value-of select="substring-before(string(),'tar.gz')"/>
- <xsl:text>tar.*</xsl:text>
- <xsl:value-of select="substring-after(string(),'tar.gz')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Setting $LANG for /etc/profile -->
- <xsl:when test="ancestor::sect1[@id='ch-scripts-profile'] and
- contains(string(),'export LANG=')">
- <xsl:value-of select="substring-before(string(),'export LANG=')"/>
- <xsl:text>export LANG=</xsl:text>
- <xsl:value-of select="$lang"/>
- <xsl:value-of select="substring-after(string(),'charmap]')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Compile the keymap into the kernel has been disabled -->
- <xsl:when test="contains(string(),'defkeymap')"/>
- <!-- Copying the kernel config file -->
- <xsl:when test="string() = 'make mrproper'">
- <xsl:text>make mrproper
</xsl:text>
- <xsl:text>cp -v ../kernel-config .config
</xsl:text>
- </xsl:when>
- <!-- No interactive commands are needed if the .config file is the proper one -->
- <xsl:when test="contains(string(),'menuconfig')"/>
- <!-- Don't stop on strip run -->
- <xsl:when test="contains(string(),'strip ')">
- <xsl:apply-templates/>
- <xsl:text> || true
</xsl:text>
- </xsl:when>
- <!-- The rest of commands -->
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="replaceable">
- <xsl:choose>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-glibc']">
- <xsl:value-of select="$timezone"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-eglibc']">
- <xsl:value-of select="$timezone"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-groff'] or
- ancestor::sect1[@id='ch-system-groff']">
- <xsl:value-of select="$page"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>**EDITME</xsl:text>
- <xsl:apply-templates/>
- <xsl:text>EDITME**</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/CLFS2/master.sh b/CLFS2/master.sh
deleted file mode 100644
index 32cb018..0000000
--- a/CLFS2/master.sh
+++ /dev/null
@@ -1,536 +0,0 @@
-#!/bin/bash
-
-###################################
-### FUNCTIONS ###
-###################################
-
-
-#----------------------------#
-host_prep_Makefiles() { # Initialization of the system
-#----------------------------#
- local CLFS_HOST
-
- echo "${tab_}${GREEN}Processing... ${L_arrow}host prep files ( SETUP ) ${R_arrow}"
-
- # defined here, only for ease of reading
- CLFS_HOST="$(echo $MACHTYPE | sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"
-(
-cat << EOF
-
-025-addinguser:
- @\$(call echo_message, Building)
- @if [ ! -d \$(LUSER_HOME) ]; then \\
- groupadd \$(LGROUP); \\
- useradd -s /bin/bash -g \$(LGROUP) -m -k /dev/null \$(LUSER); \\
- else \\
- touch luser-exist; \\
- fi;
- @\$(call housekeeping)
-
-026-settingenvironment: 025-addinguser
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc -a ! -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv \$(LUSER_HOME)/.bashrc \$(LUSER_HOME)/.bashrc.XXX; \\
- fi;
- @if [ -f \$(LUSER_HOME)/.bash_profile -a ! -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile \$(LUSER_HOME)/.bash_profile.XXX; \\
- fi;
- @echo "set +h" > \$(LUSER_HOME)/.bashrc && \\
- echo "umask 022" >> \$(LUSER_HOME)/.bashrc && \\
- echo "CLFS=\$(MOUNT_PT)" >> \$(LUSER_HOME)/.bashrc && \\
- echo "LC_ALL=POSIX" >> \$(LUSER_HOME)/.bashrc && \\
- echo "PATH=\$(MOUNT_PT)/cross-tools/bin:/bin:/usr/bin" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS LC_ALL PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CXXFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset PKG_CONFIG_PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_HOST=\"${CLFS_HOST}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_TARGET=\"${TARGET}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "source $JHALFSDIR/envars" >> \$(LUSER_HOME)/.bashrc
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bashrc && \\
- touch envars && \\
- chown \$(LUSER):\$(LGROUP) envars
- @\$(call housekeeping)
-
-027-create-directories: 026-settingenvironment
- @\$(call echo_message, Building)
-
- @mkdir -p \$(MOUNT_PT)/{bin,boot,dev,{etc/,}opt,home,lib,mnt}
- @mkdir -p \$(MOUNT_PT)/{proc,media/{floppy,cdrom},sbin,srv,sys}
- @mkdir -p \$(MOUNT_PT)/var/{lock,log,mail,run,spool}
- @mkdir -p \$(MOUNT_PT)/var/{opt,cache,lib/{misc,locate},local}
- @install -d -m 0750 \$(MOUNT_PT)/root
- @install -d -m 1777 \$(MOUNT_PT){/var,}/tmp
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}{bin,include,lib,sbin,src}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/{doc,info,locale,man}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/{misc,terminfo,zoneinfo}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
- @for dir in \$(MOUNT_PT)/usr{,/local}; do \\
- ln -s share/{man,doc,info} \$\$dir ; \\
- done
- @\$(call housekeeping)
-
-028-creating-sysfile: 027-create-directories
- @\$(call echo_message, Building)
-
- @touch \$(MOUNT_PT)/etc/mtab
- @echo "root::0:0:root:/root:/bin/bash" >> \$(MOUNT_PT)/etc/passwd
- @echo "root:x:0:" >> \$(MOUNT_PT)/etc/group
- @echo "bin:x:1:" >> \$(MOUNT_PT)/etc/group
- @echo "sys:x:2:" >> \$(MOUNT_PT)/etc/group
- @echo "kmem:x:3" >> \$(MOUNT_PT)/etc/group
- @echo "tty:x:4:" >> \$(MOUNT_PT)/etc/group
- @echo "tape:x:5:" >> \$(MOUNT_PT)/etc/group
- @echo "daemon:x:6:" >> \$(MOUNT_PT)/etc/group
- @echo "floppy:x:7:" >> \$(MOUNT_PT)/etc/group
- @echo "disk:x:8:" >> \$(MOUNT_PT)/etc/group
- @echo "lp:x:9:" >> \$(MOUNT_PT)/etc/group
- @echo "dialout:x:10:" >> \$(MOUNT_PT)/etc/group
- @echo "audio:x:11:" >> \$(MOUNT_PT)/etc/group
- @echo "video:x:12:" >> \$(MOUNT_PT)/etc/group
- @echo "utmp:x:13:" >> \$(MOUNT_PT)/etc/group
- @echo "usb:x:14:" >> \$(MOUNT_PT)/etc/group
- @echo "cdrom:x:15:" >> \$(MOUNT_PT)/etc/group
-
- @touch \$(MOUNT_PT)/var/run/utmp \$(MOUNT_PT)/var/log/{btmp,lastlog,wtmp}
- @chmod 664 \$(MOUNT_PT)/var/run/utmp \$(MOUNT_PT)/var/log/lastlog
- @chown -R \$(LUSER) \$(MOUNT_PT) && \\
- chmod -R a+w \$(MOUNT_PT)/\$(SCRIPT_ROOT) && \\
- chmod -R a+w \$(SRCSDIR)
- @\$(call housekeeping)
-
-EOF
-) >> $MKFILE.tmp
-
- host_prep=" 025-addinguser 026-settingenvironment 027-create-directories 028-creating-sysfile"
-}
-
-
-#-----------------------------#
-cross_tools_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}cross tools ( LUSER ) ${R_arrow}"
-
- for file in cross-tools/* ; do
- # Keep the script file name
- this_script=`basename $file`
- #
- # Skip this script...
- case $this_script in
- *cflags* | *variables* ) # work done in host_prep_Makefiles
- continue ;;
- *) ;;
- esac
-
- #
- # Set the dependency for the first target.
- if [ -z $PREV ] ; then PREV=028-creating-sysfile ; fi
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- cross_tools="$cross_tools $this_script"
-
- # Grab the name of the target (minus the -headers or -cross in the case of gcc
- # and binutils in chapter 5)
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's@-static@@' \
- -e 's@-final@@' \
- -e 's@-64@@' \
- -e 's@-n32@@'`
- case $name in
- glibc-headers) name="glibc" ;;
- esac
- pkg_tarball=$(get_package_tarball_name $name)
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- # If using optimizations, write the instructions
- [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in ....
-}
-
-
-
-#-----------------------------#
-final_system_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}final system ( LUSER ) ${R_arrow}"
-
- for file in final-system/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # Test if the stripping phase must be skipped.
- # Skip alsp temp-perl for iterative runs
- case $this_script in
- *stripping*) [[ "$STRIP" = "n" ]] && continue ;;
- esac
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's@temp-@@' \
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
-
- # Find the version of the command files, if it corresponds with the building of
- # a specific package.
- pkg_tarball=$(get_package_tarball_name $name)
-
- # Append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- basicsystem="$basicsystem ${this_script}"
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- # Touch timestamp file if installed files logs will be created.
- # But only for the firt build when running iterative builds.
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- LUSER_wrt_unpack "$pkg_tarball"
- # If using optimizations, write the instructions
- [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=${this_script}
- done # for file in final-system/* ...
-}
-
-
-
-#-----------------------------#
-bootscripts_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}bootscripts ( LUSER ) ${R_arrow}"
-
- for file in bootscripts/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- case $this_script in
- *udev) continue ;; # This is not a script but a commentary, we want udev-rules
- *console*) continue ;; # Use the files that came with the bootscripts
- *network*) continue ;; # Manually create these files
- *) ;;
- esac
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- bootscripttools="$bootscripttools $this_script"
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'\
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
- case $name in
- *bootscripts*) name=bootscripts-cross-lfs ;;
- *udev-rules) name=udev-cross-lfs ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in bootscripts/* ...
-
-}
-
-
-#-----------------------------#
-bootable_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}make bootable ( LUSER ) ${R_arrow}"
-
- for file in bootable/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # A little housekeeping on the scripts
- case $this_script in
- *grub | *aboot | *colo | *silo | *arcload | *lilo | *reboot* ) continue ;;
- *fstab) [[ ! -z ${FSTAB} ]] && cp ${FSTAB} $BUILDDIR/sources/fstab ;;
- *kernel) # if there is no kernel config file do not build the kernel
- [[ -z $CONFIG ]] && continue
- # Copy the config file to /sources with a standardized name
- cp $CONFIG $BUILDDIR/sources/kernel-config
- ;;
- esac
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- # NOTE: new makfile format forces the last script, *chowning, into a separate
- # phase.
- case ${this_script} in
- *chowning) chowning=" ${this_script}" ;;
- *) bootable="$bootable $this_script" ;;
- esac
- #
- # Grab the name of the target, strip id number and misc words.
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' -e 's@-build@@' `
- case $this_script in
- *kernel*) name=linux
- ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- fi
- #
- # Select a script execution method
- case $this_script in
- *fstab*) if [[ -n "$FSTAB" ]]; then
- LUSER_wrt_CopyFstab
- else
- LUSER_wrt_RunAsUser "${file}"
- fi
- ;;
- *chowning) wrt_RunAsRoot "${file}"
- ;;
- *) LUSER_wrt_RunAsUser "${file}"
- ;;
- esac
- #
- # Housekeeping...remove any build directory(ies) except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done
-
-}
-
-
-#-----------------------------#
-build_Makefile() { # Construct a Makefile from the book scripts
-#-----------------------------#
- echo "Creating Makefile... ${BOLD}START${OFF}"
-
- cd $JHALFSDIR/${PROGNAME}-commands
- # Start with a clean Makefile.tmp file
- >$MKFILE.tmp
-
- host_prep_Makefiles
- cross_tools_Makefiles # $cross_tools
- final_system_Makefiles # $basicsystem
- bootscripts_Makefiles # $bootscripttools
- bootable_Makefiles # $bootable
- # Add the CUSTOM_TOOLS targets, if needed
- [[ "$CUSTOM_TOOLS" = "y" ]] && wrt_CustomTools_target
- # Add the BLFS_TOOL targets, if needed.
- [[ "$BLFS_TOOL" = "y" ]] && wrt_blfs_tool_targets
-
- # Add a header, some variables and include the function file
- # to the top of the real Makefile.
- wrt_Makefile_header
-
- # Drop in the main target 'all:' and the chapter targets with each sub-target
- # as a dependency.
-(
-cat << EOF
-
-all: ck_UID mk_SETUP mk_LUSER create-sbu_du-report mk_CUSTOM_TOOLS mk_BLFS_TOOL mk_ROOT
- @sudo make restore-luser-env
- @sudo make do-housekeeping
- @\$(call echo_finished,$VERSION)
-
-ck_UID:
- @if [ \`id -u\` = "0" ]; then \\
- echo "--------------------------------------------------"; \\
- echo "You cannot run this makefile from the root account"; \\
- echo "--------------------------------------------------"; \\
- exit 1; \\
- fi
-
-mk_SETUP:
- @\$(call echo_SU_request)
- @sudo make BREAKPOINT=\$(BREAKPOINT) SETUP
- @touch \$@
-
-mk_LUSER: mk_SETUP
- @\$(call echo_SULUSER_request)
- @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) LUSER" )
- @touch \$@
-
-mk_CUSTOM_TOOLS: create-sbu_du-report
- @if [ "\$(ADD_CUSTOM_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building CUSTOM_TOOLS); \\
- (sudo \$(SU_LUSER) "mkdir -p $BUILDDIR$TRACKING_DIR"); \\
- (sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) CUSTOM_TOOLS"); \\
- fi;
- @touch \$@
-
-mk_BLFS_TOOL: mk_CUSTOM_TOOLS
- @if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building BLFS_TOOL); \\
- (sudo \$(SU_LUSER) "mkdir -p $BUILDDIR$TRACKING_DIR"); \\
- (sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) BLFS_TOOL"); \\
- fi;
- @touch \$@
-
-mk_ROOT: create-sbu_du-report
- @\$(call echo_SU_request)
- @echo "$VERSION-sysroot - jhalfs build" > clfs-release && \\
- sudo mv clfs-release \$(MOUNT_PT)/etc
- @sudo make BREAKPOINT=\$(BREAKPOINT) ROOT
- @touch \$@
-
-SETUP: $host_prep
-LUSER: $cross_tools $basicsystem $bootscripttools $bootable
-CUSTOM_TOOLS: $custom_list
-BLFS_TOOL: $blfs_tool
-ROOT: $chowning
-
-
-create-sbu_du-report: mk_LUSER
- @\$(call echo_message, Building)
- @if [ "\$(ADD_REPORT)" = "y" ]; then \\
- ./create-sbu_du-report.sh logs $VERSION $(date --iso-8601); \\
- \$(call echo_report,$VERSION-SBU_DU-$(date --iso-8601).report); \\
- fi;
- @touch \$@
-
-restore-luser-env:
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv -f \$(LUSER_HOME)/.bashrc.XXX \$(LUSER_HOME)/.bashrc; \\
- fi;
- @if [ -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile.XXX \$(LUSER_HOME)/.bash_profile; \\
- fi;
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bash* && \\
- touch \$@ && \\
- echo " "\$(BOLD)Target \$(BLUE)\$@ \$(BOLD)OK && \\
- echo --------------------------------------------------------------------------------\$(WHITE)
-
-do-housekeeping:
- @-if [ ! -f luser-exist ]; then \\
- userdel \$(LUSER); \\
- rm -rf \$(LUSER_HOME); \\
- fi;
-
-EOF
-) >> $MKFILE
-
- # Bring over the items from the Makefile.tmp
- cat $MKFILE.tmp >> $MKFILE
- rm $MKFILE.tmp
- echo "Creating Makefile... ${BOLD}DONE${OFF}"
-
-}
diff --git a/CLFS3/clfs3.xsl b/CLFS3/clfs3.xsl
deleted file mode 100644
index 04381f5..0000000
--- a/CLFS3/clfs3.xsl
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [
- <!ENTITY % general-entities SYSTEM "FAKEDIR/general.ent">
- %general-entities;
-]>
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:exsl="http://exslt.org/common"
- extension-element-prefixes="exsl"
- version="1.0">
-
-<!-- XSLT stylesheet to create shell scripts from CLFS2 books. -->
-
- <!-- Endian level -->
- <xsl:param name="endian" select="xbig"/>
-
- <!-- Time zone -->
- <xsl:param name="timezone" select="GMT"/>
-
- <!-- Page size -->
- <xsl:param name="page" select="letter"/>
-
- <!-- Locale settings -->
- <xsl:param name="lang" select="C"/>
-
- <xsl:template match="/">
- <xsl:apply-templates select="//sect1"/>
- </xsl:template>
-
- <xsl:template match="sect1">
- <xsl:choose>
- <xsl:when test="../@id='chapter-partitioning' or
- ../@id='chapter-getting-materials' or
- ../@id='chapter-final-preps'"/>
- <xsl:otherwise>
- <xsl:if test="count(descendant::screen/userinput) > 0 and
- count(descendant::screen/userinput) >
- count(descendant::screen[@role='nodump'])">
- <!-- The dirs names -->
- <xsl:variable name="pi-dir" select="../processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-dir-value" select="substring-after($pi-dir,'dir=')"/>
- <xsl:variable name="quote-dir" select="substring($pi-dir-value,1,1)"/>
- <xsl:variable name="dirname" select="substring-before(substring($pi-dir-value,2),$quote-dir)"/>
- <!-- The file names -->
- <xsl:variable name="pi-file" select="processing-instruction('dbhtml')"/>
- <xsl:variable name="pi-file-value" select="substring-after($pi-file,'filename=')"/>
- <xsl:variable name="filename" select="substring-before(substring($pi-file-value,2),'.html')"/>
- <!-- The build order -->
- <xsl:variable name="position" select="position()"/>
- <xsl:variable name="order">
- <xsl:choose>
- <xsl:when test="string-length($position) = 1">
- <xsl:text>00</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:when test="string-length($position) = 2">
- <xsl:text>0</xsl:text>
- <xsl:value-of select="$position"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$position"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Creating dirs and files -->
- <exsl:document href="{$dirname}/{$order}-{$filename}" method="text">
- <xsl:text>#!/bin/bash
set +h
set -e

</xsl:text>
- <!-- Set envars needed by uClibc -->
- <xsl:if test="@id='ch-cross-tools-uclibc'">
- <xsl:copy-of select="//sect1[@id='ch-cross-tools-toolchain']/screen"/>
- <xsl:text>

</xsl:text>
- </xsl:if>
- <xsl:if test="sect2[@role='installation']">
- <xsl:text>cd $PKGDIR
</xsl:text>
- </xsl:if>
- <xsl:apply-templates select=".//para/userinput | .//screen"/>
- <xsl:text>exit</xsl:text>
- </exsl:document>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="screen">
- <xsl:if test="child::* = userinput and not(@role = 'nodump')">
- <xsl:apply-templates select="userinput" mode="screen"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="para/userinput"/>
-
- <xsl:template match="userinput" mode="screen">
- <xsl:choose>
- <!-- Estandarized package formats -->
- <xsl:when test="contains(string(),'tar.gz')">
- <xsl:value-of select="substring-before(string(),'tar.gz')"/>
- <xsl:text>tar.*</xsl:text>
- <xsl:value-of select="substring-after(string(),'tar.gz')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Select Endian level for uClibc -->
-<!--
- <xsl:when test="$endian='xbig' and contains(string(),'LITTLE_ENDIAN')"/>
- <xsl:when test="$endian='xlittle' and contains(string(),'BIG_ENDIAN')"/>
--->
- <!-- Setting $LANG for /etc/profile -->
- <xsl:when test="ancestor::sect1[@id='ch-scripts-profile'] and
- contains(string(),'export LANG=')">
- <xsl:value-of select="substring-before(string(),'export LANG=')"/>
- <xsl:text>export LANG=</xsl:text>
- <xsl:value-of select="$lang"/>
- <xsl:value-of select="substring-after(string(),'charmap]')"/>
- <xsl:text>
</xsl:text>
- </xsl:when>
- <!-- Compile the keymap into the kernel has been disabled -->
- <xsl:when test="contains(string(),'defkeymap')"/>
- <!-- Copying the kernel config file -->
- <xsl:when test="string() = 'make mrproper'">
- <xsl:text>make mrproper
</xsl:text>
- <xsl:text>cp -v ../kernel-config .config
</xsl:text>
- </xsl:when>
- <!-- No interactive commands are needed if the .config file is the proper one -->
- <xsl:when test="contains(string(),'menuconfig')"/>
- <!-- Don't stop on strip run -->
- <xsl:when test="contains(string(),'strip ')">
- <xsl:apply-templates/>
- <xsl:text> || true
</xsl:text>
- </xsl:when>
- <!-- The rest of commands -->
- <xsl:otherwise>
- <xsl:apply-templates/>
- <xsl:text>
</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template match="replaceable">
- <xsl:choose>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-glibc']">
- <xsl:value-of select="$timezone"/>
- </xsl:when>
- <xsl:when test="ancestor::sect1[@id='ch-cross-tools-groff'] or
- ancestor::sect1[@id='ch-system-groff']">
- <xsl:value-of select="$page"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>**EDITME</xsl:text>
- <xsl:apply-templates/>
- <xsl:text>EDITME**</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-</xsl:stylesheet>
diff --git a/CLFS3/master.sh b/CLFS3/master.sh
deleted file mode 100644
index d7851a0..0000000
--- a/CLFS3/master.sh
+++ /dev/null
@@ -1,586 +0,0 @@
-#!/bin/bash
-
-###################################
-### FUNCTIONS ###
-###################################
-
-
-#----------------------------#
-host_prep_Makefiles() { # Initialization of the system
-#----------------------------#
- local CLFS_HOST
-
- echo "${tab_}${GREEN}Processing... ${L_arrow}host prep files ( SETUP ) ${R_arrow}"
-
- # defined here, only for ease of reading
- CLFS_HOST="$(echo $MACHTYPE | sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"
-(
-cat << EOF
-
-025-addinguser:
- @\$(call echo_message, Building)
- @if [ ! -d \$(LUSER_HOME) ]; then \\
- groupadd \$(LGROUP); \\
- useradd -s /bin/bash -g \$(LGROUP) -m -k /dev/null \$(LUSER); \\
- else \\
- touch luser-exist; \\
- fi;
- @\$(call housekeeping)
-
-026-settingenvironment: 025-addinguser
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc -a ! -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv \$(LUSER_HOME)/.bashrc \$(LUSER_HOME)/.bashrc.XXX; \\
- fi;
- @if [ -f \$(LUSER_HOME)/.bash_profile -a ! -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile \$(LUSER_HOME)/.bash_profile.XXX; \\
- fi;
- @echo "set +h" > \$(LUSER_HOME)/.bashrc && \\
- echo "umask 022" >> \$(LUSER_HOME)/.bashrc && \\
- echo "CLFS=\$(MOUNT_PT)" >> \$(LUSER_HOME)/.bashrc && \\
- echo "LC_ALL=POSIX" >> \$(LUSER_HOME)/.bashrc && \\
- echo "PATH=\$(MOUNT_PT)/cross-tools/bin:/bin:/usr/bin" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS LC_ALL PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset CXXFLAGS" >> \$(LUSER_HOME)/.bashrc && \\
- echo "unset PKG_CONFIG_PATH" >> \$(LUSER_HOME)/.bashrc && \\
- echo "" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_HOST=\"${CLFS_HOST}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_TARGET=\"${TARGET}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export CLFS_MIPS_LEVEL=\"${MIPS_LEVEL}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "export BUILD=\"${ABI}\"" >> \$(LUSER_HOME)/.bashrc && \\
- echo "source $JHALFSDIR/envars" >> \$(LUSER_HOME)/.bashrc
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bashrc && \\
- touch envars && \\
- chown \$(LUSER):\$(LGROUP) envars
- @\$(call housekeeping)
-
-027-create-directories: 026-settingenvironment
- @\$(call echo_message, Building)
-
- @mkdir -p \$(MOUNT_PT)/{bin,boot,dev,{etc/,}opt,home,lib,mnt}
- @mkdir -p \$(MOUNT_PT)/{proc,media/{floppy,cdrom},sbin,srv,sys}
- @mkdir -p \$(MOUNT_PT)/var/{lock,log,mail,run,spool}
- @mkdir -p \$(MOUNT_PT)/var/{opt,cache,lib/{misc,locate},local}
- @install -d -m 0750 \$(MOUNT_PT)/root
- @install -d -m 1777 \$(MOUNT_PT){/var,}/tmp
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}{bin,include,lib,sbin,src}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/{doc,info,locale,man}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/{misc,terminfo,zoneinfo}
- @mkdir -p \$(MOUNT_PT)/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
- @for dir in \$(MOUNT_PT)/usr{,/local}; do \\
- ln -s share/{man,doc,info} \$\$dir ; \\
- done
- @\$(call housekeeping)
-
-028-creating-sysfile: 027-create-directories
- @\$(call echo_message, Building)
-
- @touch \$(MOUNT_PT)/etc/mtab
- @echo "root::0:0:root:/root:/bin/ash" >> \$(MOUNT_PT)/etc/passwd
- @echo "root:x:0:" >> \$(MOUNT_PT)/etc/group
- @echo "bin:x:1:" >> \$(MOUNT_PT)/etc/group
- @echo "sys:x:2:" >> \$(MOUNT_PT)/etc/group
- @echo "kmem:x:3" >> \$(MOUNT_PT)/etc/group
- @echo "tty:x:4:" >> \$(MOUNT_PT)/etc/group
- @echo "tape:x:5:" >> \$(MOUNT_PT)/etc/group
- @echo "daemon:x:6:" >> \$(MOUNT_PT)/etc/group
- @echo "floppy:x:7:" >> \$(MOUNT_PT)/etc/group
- @echo "disk:x:8:" >> \$(MOUNT_PT)/etc/group
- @echo "lp:x:9:" >> \$(MOUNT_PT)/etc/group
- @echo "dialout:x:10:" >> \$(MOUNT_PT)/etc/group
- @echo "audio:x:11:" >> \$(MOUNT_PT)/etc/group
- @echo "video:x:12:" >> \$(MOUNT_PT)/etc/group
- @echo "utmp:x:13:" >> \$(MOUNT_PT)/etc/group
- @echo "usb:x:14:" >> \$(MOUNT_PT)/etc/group
- @echo "cdrom:x:15:" >> \$(MOUNT_PT)/etc/group
-
- @touch \$(MOUNT_PT)/var/run/utmp \$(MOUNT_PT)/var/log/{btmp,lastlog,wtmp}
- @chmod 664 \$(MOUNT_PT)/var/run/utmp \$(MOUNT_PT)/var/log/lastlog
- @chown -R \$(LUSER) \$(MOUNT_PT) && \\
- chmod -R a+w \$(MOUNT_PT)/\$(SCRIPT_ROOT) && \\
- chmod -R a+w \$(SRCSDIR)
- @\$(call housekeeping)
-
-EOF
-) >> $MKFILE.tmp
-
- host_prep=" 025-addinguser 026-settingenvironment 027-create-directories 028-creating-sysfile"
-}
-
-#-----------------------------#
-systemprep_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}system prep tools ( LUSER ) ${R_arrow}"
-
- for file in systemprep/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # Set the dependency for the first target.
- if [ -z $PREV ] ; then PREV=028-creating-sysfile ; fi
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile)
- cross_tools="$cross_tools $this_script"
-
- # Grab the name of the target (minus the -headers or -cross in the case of gcc
- # and binutils in chapter 5)
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'`
-
- pkg_tarball=$(get_package_tarball_name $name)
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- [[ "$pkg_tarball" != "" ]] && LUSER_RemoveBuildDirs "${name}"
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in ....
-}
-
-
-#-----------------------------#
-cross_tools_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}cross tools ( LUSER ) ${R_arrow}"
-
- for file in cross-tools/* ; do
- # Keep the script file name
- this_script=`basename $file`
- #
- # Skip this script...
- # NOTE.. the book indicated you only needed to install groff or file if the host
- # had older versions. The packages would be installed in the target directory
- # and not the host.
- case $this_script in
- *cflags* | *variables* | *abi | *toolchain*) # work done in host_prep_Makefiles
- continue ;;
- *) ;;
- esac
-
- #
- # Set the dependency for the first target.
- if [ -z $PREV ] ; then PREV=028-creating-sysfile ; fi
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile)
- cross_tools="$cross_tools $this_script"
-
- # Grab the name of the target (minus the -headers or -cross in the case of gcc
- # and binutils in chapter 5)
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's@-static@@' \
- -e 's@-final@@' \
- -e 's@-64@@' \
- -e 's@-n32@@'`
- case $name in
- uclibc*) name="uClibc" ;;
- esac
- pkg_tarball=$(get_package_tarball_name $name)
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- # Touch timestamp file if installed files logs will be created.
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- # If using optimizations, write the instructions
- [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in ....
-}
-
-
-
-#-----------------------------#
-final_system_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}final system ( LUSER ) ${R_arrow}"
-
- for file in final-system/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' \
- -e 's@temp-@@' \
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
-
- # Find the version of the command files, if it corresponds with the building of
- # a specific package.
- pkg_tarball=$(get_package_tarball_name $name)
-
- # Append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- basicsystem="$basicsystem ${this_script}"
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- # Touch timestamp file if installed files logs will be created.
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- LUSER_wrt_unpack "$pkg_tarball"
- # If using optimizations, write the instructions
- [[ "$OPTIMIZE" != "0" ]] && wrt_optimize "$name" && wrt_makeflags "$name"
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- # Write installed files log and remove the build directory(ies)
- # except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=${this_script}
- done # for file in final-system/* ...
-}
-
-
-
-#-----------------------------#
-bootscripts_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}bootscripts ( LUSER ) ${R_arrow}"
-
- for file in bootscripts/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- case $this_script in
- *console*) continue ;; # Use the files that came with the bootscripts
- *network*) continue ;; # Manually create these files
- *) ;;
- esac
-
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- bootscripttools="$bootscripttools $this_script"
-
- # Grab the name of the target, strip id number, XXX-script
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@'\
- -e 's@-64bit@@' \
- -e 's@-64@@' \
- -e 's@64@@' \
- -e 's@n32@@'`
- case $name in
- *bootscripts*) name=clfs-embedded-bootscripts ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- fi
- #
- LUSER_wrt_RunAsUser "${file}"
- #
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done # for file in bootscripts/* ...
-
-}
-
-
-#-----------------------------#
-bootable_Makefiles() { #
-#-----------------------------#
- echo "${tab_}${GREEN}Processing... ${L_arrow}make bootable ( LUSER ) ${R_arrow}"
-
- for file in bootable/* ; do
- # Keep the script file name
- this_script=`basename $file`
-
- # A little housekeeping on the scripts
- case $this_script in
- *grub | *aboot | *colo | *silo | *arcload | *lilo | *reboot* ) continue ;;
- *fstab) [[ ! -z ${FSTAB} ]] && cp ${FSTAB} $BUILDDIR/sources/fstab ;;
- *kernel) # if there is no kernel config file do not build the kernel
- [[ -z $CONFIG ]] && continue
- # Copy the config file to /sources with a standardized name
- cp $CONFIG $BUILDDIR/sources/kernel-config
- ;;
- esac
- #
- # First append each name of the script files to a list (this will become
- # the names of the targets in the Makefile
- # NOTE: new makfile format forces the last script, *chowning, into a separate
- # phase.
- case ${this_script} in
- *chowning) chowning=${this_script} ;;
- *) bootable="$bootable $this_script" ;;
- esac
- #
- # Grab the name of the target, strip id number and misc words.
- name=`echo $this_script | sed -e 's@[0-9]\{3\}-@@' -e 's@-build@@' `
- case $this_script in
- *kernel*) name=linux
- ;;
- esac
-
- pkg_tarball=$(get_package_tarball_name $name)
-
- #--------------------------------------------------------------------#
- # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Drop in the name of the target on a new line, and the previous target
- # as a dependency. Also call the echo_message function.
- LUSER_wrt_target "${this_script}" "$PREV"
- #
- # If $pkg_tarball isn't empty, we've got a package...
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_wrt_unpack "$pkg_tarball"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_TouchTimestamp
- fi
- fi
- #
- # Select a script execution method
- case $this_script in
- *fstab*) if [[ -n "$FSTAB" ]]; then
- LUSER_wrt_CopyFstab
- else
- LUSER_wrt_RunAsUser "${file}"
- fi
- ;;
- *chowning) wrt_RunAsRoot "${file}"
- ;;
- *) LUSER_wrt_RunAsUser "${file}"
- ;;
- esac
- #
- # Housekeeping...remove any build directory(ies) except if the package build fails.
- if [ "$pkg_tarball" != "" ] ; then
- LUSER_RemoveBuildDirs "${name}"
- if [ "${INSTALL_LOG}" = "y" ] ; then
- LUSER_wrt_LogNewFiles "$name"
- fi
- fi
- #
- # Include a touch of the target name so make can check if it's already been made.
- wrt_touch
- #
- #--------------------------------------------------------------------#
- # >>>>>>>> END OF Makefile ENTRY <<<<<<<< #
- #--------------------------------------------------------------------#
- #
- # Keep the script file name for Makefile dependencies.
- PREV=$this_script
-
- done
-
-}
-
-
-#-----------------------------#
-build_Makefile() { # Construct a Makefile from the book scripts
-#-----------------------------#
- echo "Creating Makefile... ${BOLD}START${OFF}"
-
- cd $JHALFSDIR/${PROGNAME}-commands
- # Start with a clean Makefile.tmp file
- >$MKFILE.tmp
-
- host_prep_Makefiles
- [[ "${PLATFORM% -*}" = "WRT" ]] && systemprep_Makefiles # $cross_tools
- cross_tools_Makefiles # $cross_tools
- final_system_Makefiles # $basicsystem
- bootscripts_Makefiles # $bootscripttools
- bootable_Makefiles # $bootable
- # Add the CUSTOM_TOOLS targets, if needed
- [[ "$CUSTOM_TOOLS" = "y" ]] && wrt_CustomTools_target
-
- # Add a header, some variables and include the function file
- # to the top of the real Makefile.
- wrt_Makefile_header
-
- # Drop in the main target 'all:' and the chapter targets with each sub-target
- # as a dependency.
-(
-cat << EOF
-
-all: ck_UID mk_SETUP mk_LUSER create-sbu_du-report mk_CUSTOM_TOOLS mk_ROOT
- @sudo make restore-luser-env
- @sudo make do-housekeeping
- @\$(call echo_finished,$VERSION)
-
-ck_UID:
- @if [ \`id -u\` = "0" ]; then \\
- echo "--------------------------------------------------"; \\
- echo "You cannot run this makefile from the root account"; \\
- echo "--------------------------------------------------"; \\
- exit 1; \\
- fi
-
-mk_SETUP:
- @\$(call echo_SU_request)
- @sudo make BREAKPOINT=\$(BREAKPOINT) SETUP
- @touch \$@
-
-mk_LUSER: mk_SETUP
- @\$(call echo_SULUSER_request)
- @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) LUSER" )
- @touch \$@
-
-mk_CUSTOM_TOOLS: create-sbu_du-report
- @if [ "\$(ADD_CUSTOM_TOOLS)" = "y" ]; then \\
- \$(call sh_echo_PHASE,Building CUSTOM_TOOLS); \\
- (sudo \$(SU_LUSER) "mkdir -p $BUILDDIR$TRACKING_DIR"); \\
- (sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) CUSTOM_TOOLS"); \\
- fi;
- @touch \$@
-
-mk_ROOT:
- @\$(call echo_SU_request)
- @echo "$VERSION-embedded - jhalfs build" > clfs-release && \\
- sudo mv clfs-release \$(MOUNT_PT)/etc
- @sudo make BREAKPOINT=\$(BREAKPOINT) ROOT
- @touch \$@
-
-
-SETUP: $host_prep
-LUSER: $cross_tools $basicsystem $bootscripttools $bootable
-CUSTOM_TOOLS: $custom_list
-ROOT: $chowning
-
-
-create-sbu_du-report: mk_LUSER
- @\$(call echo_message, Building)
- @if [ "\$(ADD_REPORT)" = "y" ]; then \\
- ./create-sbu_du-report.sh logs $VERSION $(date --iso-8601); \\
- \$(call echo_report,$VERSION-SBU_DU-$(date --iso-8601).report); \\
- fi;
- @touch \$@
-
-restore-luser-env:
- @\$(call echo_message, Building)
- @if [ -f \$(LUSER_HOME)/.bashrc.XXX ]; then \\
- mv -f \$(LUSER_HOME)/.bashrc.XXX \$(LUSER_HOME)/.bashrc; \\
- fi;
- @if [ -f \$(LUSER_HOME)/.bash_profile.XXX ]; then \\
- mv \$(LUSER_HOME)/.bash_profile.XXX \$(LUSER_HOME)/.bash_profile; \\
- fi;
- @chown \$(LUSER):\$(LGROUP) \$(LUSER_HOME)/.bash* && \\
- touch \$@ && \\
- echo " "\$(BOLD)Target \$(BLUE)\$@ \$(BOLD)OK && \\
- echo --------------------------------------------------------------------------------\$(WHITE)
-
-do-housekeeping:
- @-if [ ! -f luser-exist ]; then \\
- userdel \$(LUSER); \\
- rm -rf \$(LUSER_HOME); \\
- fi;
-
-EOF
-) >> $MKFILE
-
- # Bring over the items from the Makefile.tmp
- cat $MKFILE.tmp >> $MKFILE
- rm $MKFILE.tmp
- echo "Creating Makefile... ${BOLD}DONE${OFF}"
-
-}
-
diff --git a/custom/examples_CLFS-E/950-dropbear b/custom/examples_CLFS-E/950-dropbear
deleted file mode 100644
index 8d5769b..0000000
--- a/custom/examples_CLFS-E/950-dropbear
+++ /dev/null
@@ -1,46 +0,0 @@
-# Code taken from CLFS-Embedded
-# Chapter 12 Beyond CLFS Embedded
-#
-# Dropbear is a relatively small SSH 2 server and client.
-# Dropbear has a small memory footprint suitable for memory-constrained
-# environments, while still having the same features as OpenSSH. It
-# does not depend on OpenSSL and it has a MIT style license. Optionally
-# it can even be made smaller.
-#
-
-PKG="DROPBEAR"
-PKG_VERSION="0.48.1"
-PKG_FILE="${PKG}-${PKG_VERSION}.tar.gz"
-URL="http://matt.ucc.asn.au/dropbear/releases/${PKG_FILE}"
-MD5="ca8e53a766faec831882831364568421"
-for i in PATCH{1..10}; do
- unset $i
-done
-PATCH1="http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-embedded/patches/dropbear-0.48.1-autotool-1.patch"
-
-( cat << "xEOFx"
-
-patch -Np1 -i ../dropbear-0.48.1-autotool-1.patch
-
-cp Makefile.in{,.orig}
-sed -e s/@LD@/@CC@/ Makefile.in.orig > Makefile.in
-
-CC="${CC} ${BUILD}" ./configure --prefix=/usr --host=${CLFS_TARGET}
-
-cp -v options.h options.h.backup
-sed -e "s@/dev/random@/dev/urandom@" options.h.backup > options.h
-
-make MULTI=1 PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp"
-
-make MULTI=1 PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" install DESTDIR=${CLFS}
-ln -svf ../../usr/bin/dropbearmulti ${CLFS}/usr/sbin/dropbear
-ln -svf ../../usr/bin/dropbearmulti ${CLFS}/usr/bin/dbclient
-ln -svf ../../usr/bin/dropbearmulti ${CLFS}/usr/bin/dropbearkey
-ln -svf ../../usr/bin/dropbearmulti ${CLFS}/usr/bin/dropbearconvert
-ln -svf ../../usr/bin/dropbearmulti ${CLFS}/usr/bin/scp
-
-install -dv ${CLFS}/etc/ssh
-
-
-xEOFx
-) > tmp
diff --git a/custom/examples_CLFS-E/960-iptables b/custom/examples_CLFS-E/960-iptables
deleted file mode 100644
index 0371b33..0000000
--- a/custom/examples_CLFS-E/960-iptables
+++ /dev/null
@@ -1,39 +0,0 @@
-# Code taken from CLFS-Embedded
-# Chapter 12 Beyond CLFS Embedded
-#
-# iptables is the userspace command line program
-# used to configure the Linux firewall.
-#
-
-PKG="iptables"
-PKG_VERSION="1.3.7"
-PKG_FILE="${PKG}-${PKG_VERSION}.tar.bz2"
-URL=" http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2"
-MD5="077e886a9c90a11bb47f3d7a4fc4a689"
-for i in PATCH{1..10}; do
- unset $i
-done
-PATCH1="http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-embedded/patches/iptables-1.3.7-do_multi-1.patch"
-
-( cat << "xEOFx"
-
-patch -Np1 -i ../iptables-1.3.7-do_multi-1.patch
-
-make CC="${CC} ${BUILD}" \
- COPT_FLAGS="-Os" \
- LD=${LD} DO_MULTI=1 \
- PREFIX=/usr \
- KERNEL_DIR=${CLFS}/lib/modules/2.6.19.2/build \
- LIBDIR=/lib \
- BINDIR=/sbin
-
-make CC="${CC} ${BUILD}" \
- COPT_FLAGS="-Os" \
- LD=${LD} DO_MULTI=1 \
- PREFIX=/usr \
- KERNEL_DIR=${CLFS}/lib/modules/2.6.19.2/build \
- LIBDIR=/lib BINDIR=/sbin \
- DESTDIR=${CLFS} install
-
-xEOFx
-) > tmp
diff --git a/jhalfs b/jhalfs
index 56b1231..484789d 100755
--- a/jhalfs
+++ b/jhalfs
@@ -247,9 +247,6 @@ case $PROGNAME in
esac
declare -r LOG=000-masterscript.log
-# Needed for fetching BLFS book sources when building CLFS
-# shellcheck disable=SC2034
-# declare -r GIT="git://git.linuxfromscratch.org"
# Set true internal variables
COMMON_DIR="common"
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/alfs-discuss
Unsubscribe: See the above information page