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 @@
-
-
- %general-entities;
-]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 00
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- #!/tools/bin/bash
set +h
-
-
- #!/bin/bash
set +h
-
-
-
- set -e
-
-
-
- cd $PKGDIR
-
-
-
- echo -e "\n\nTotalseconds: $SECONDS\n"
-
- exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #
-
-
-
-
- make -k
-
- >> $TEST_LOG 2>&1 || true
-
-
-
- >> $TEST_LOG 2>&1
-
- || true
-
-
-
-
-
-
-
-
-
-
-
- tar.*
-
-
-
-
-
-
- export LANG=
-
-
-
-
-
-
-
-
- make mrproper
-
- cp -v ../bootkernel-config .config
-
-
- cp -v ../kernel-config .config
-
-
-
-
-
-
-
-
-
- #
-
-
-
-
-
-
-
- >> $TEST_LOG 2>&1 || true
-
-
-
- {
-
- ; } >> $TEST_LOG 2>&1 || true
-
-
-
- >> $TEST_LOG 2>&1 || true
-
-
-
- make -k
-
- >> $TEST_LOG 2>&1 || true
-
-
-
-
- >> $TEST_LOG 2>&1
-
-
-
-
-
-
-
-
-
-
-
- >> $TEST_LOG 2>&1 || true
-
-
-
- (
-
- >> $TEST_LOG 2>&1 && exit $PIPESTATUS)
-
-
-
- {
-
- ; } >> $TEST_LOG 2>&1
-
-
-
- >> $TEST_LOG 2>&1 || true
-
-
-
-
- >> $TEST_LOG 2>&1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >> $TEST_LOG 2>&1 || true
-
-
- >> $TEST_LOG 2>&1
-
- || true
-
-
-
-
-
-
-
-
-
-
-
-
- make -k check >> $TEST_LOG 2>&1 || true
-
-
-
- >> $TEST_LOG 2>&1
-
- || true
-
-
-
-
-
-
-
-
-
-
-
- >> $TEST_LOG
-
-
-
-
-
-
- || true
-
-
-
-
- make -j1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -m32 -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -m32 -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
- -m64 -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -m64 -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
- -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -m32 -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -m32 -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
- -m64 -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -m64 -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
- -mcpu=ultrasparc -mtune=ultrasparc
-
-
- -mcpu=ultrasparc3 -mtune=ultrasparc3
-
-
-
-
-
-
- **EDITME
-
- EDITME**
-
-
-
-
-
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 @@
-
-
- %general-entities;
-]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 00
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #!/bin/bash
set +h
-
- set -e
-
-
-
- cd $PKGDIR
-
-
- exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- tar.*
-
-
-
-
-
-
- export LANG=
-
-
-
-
-
-
-
-
- make mrproper
- cp -v ../kernel-config .config
-
-
-
-
-
-
- || true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- **EDITME
-
- EDITME**
-
-
-
-
-
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 @@
-
-
- %general-entities;
-]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 00
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #!/bin/bash
set +h
set -e
-
-
-
-
-
-
- cd $PKGDIR
-
-
- exit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- tar.*
-
-
-
-
-
-
-
-
- export LANG=
-
-
-
-
-
-
-
-
- make mrproper
- cp -v ../kernel-config .config
-
-
-
-
-
-
- || true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- **EDITME
-
- EDITME**
-
-
-
-
-
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"