Merged r3147:3173 from trunk.
This commit is contained in:
parent
f5791f0c88
commit
2ee1d113d4
24 changed files with 300 additions and 318 deletions
|
@ -15,8 +15,4 @@
|
||||||
This is an on-going and never-end task due that, ideally, each commit to
|
This is an on-going and never-end task due that, ideally, each commit to
|
||||||
the BLFS book should be revised and validated, but our time is limited.
|
the BLFS book should be revised and validated, but our time is limited.
|
||||||
|
|
||||||
-- Bugs hunting.
|
-- Bugs hunting.
|
||||||
|
|
||||||
-- Improve README.BLFS.
|
|
||||||
|
|
||||||
-- Develop a script to make cofee.
|
|
|
@ -1116,18 +1116,22 @@ set -e
|
||||||
$bootscripts_cmds # mk_BOOTSCRIPT (CHROOT) $bootscripttools
|
$bootscripts_cmds # mk_BOOTSCRIPT (CHROOT) $bootscripttools
|
||||||
$bootable_cmds # mk_BOOTABLE (CHROOT) $bootabletools
|
$bootable_cmds # mk_BOOTABLE (CHROOT) $bootabletools
|
||||||
|
|
||||||
|
# Add the BLFS_TOOL targets, if needed
|
||||||
|
[[ "$BLFS_TOOL" = "y" ]] && wrt_blfs_tool_targets
|
||||||
|
|
||||||
# Add a header, some variables and include the function file
|
# Add a header, some variables and include the function file
|
||||||
# to the top of the real Makefile.
|
# to the top of the real Makefile.
|
||||||
(
|
(
|
||||||
cat << EOF
|
cat << EOF
|
||||||
$HEADER
|
$HEADER
|
||||||
|
|
||||||
SRC = /sources
|
SRC = /sources
|
||||||
MOUNT_PT = $BUILDDIR
|
MOUNT_PT = $BUILDDIR
|
||||||
PKG_LST = $PKG_LST
|
PKG_LST = $PKG_LST
|
||||||
LUSER = $LUSER
|
LUSER = $LUSER
|
||||||
LGROUP = $LGROUP
|
LGROUP = $LGROUP
|
||||||
SCRIPT_ROOT = $SCRIPT_ROOT
|
SCRIPT_ROOT = $SCRIPT_ROOT
|
||||||
|
ADD_BLFS_TOOLS = $BLFS_TOOL
|
||||||
|
|
||||||
BASEDIR = \$(MOUNT_PT)
|
BASEDIR = \$(MOUNT_PT)
|
||||||
SRCSDIR = \$(BASEDIR)/sources
|
SRCSDIR = \$(BASEDIR)/sources
|
||||||
|
@ -1177,7 +1181,7 @@ if [[ "${METHOD}" = "chroot" ]]; then
|
||||||
(
|
(
|
||||||
cat << EOF
|
cat << EOF
|
||||||
|
|
||||||
all: ck_UID mk_SETUP mk_CROSS mk_SUDO mk_SYSTOOLS create-sbu_du-report
|
all: ck_UID mk_SETUP mk_CROSS mk_SUDO mk_SYSTOOLS create-sbu_du-report mk_BLFS_TOOL
|
||||||
@sudo make do-housekeeping
|
@sudo make do-housekeeping
|
||||||
@\$(call echo_finished,$VERSION)
|
@\$(call echo_finished,$VERSION)
|
||||||
|
|
||||||
|
@ -1226,12 +1230,19 @@ mk_SYSTOOLS: mk_SUDO
|
||||||
@( sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make CHROOT_JAIL")
|
@( sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make CHROOT_JAIL")
|
||||||
@touch \$@
|
@touch \$@
|
||||||
|
|
||||||
|
mk_BLFS_TOOL: mk_SYSTOOLS
|
||||||
|
@\$(call echo_PHASE,Building BLFS-TOOLS); \\
|
||||||
|
@if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
|
||||||
|
sudo mkdir -p $BUILDDIR$TRACKING_DIR; \\
|
||||||
|
sudo \$(CHROOT1) "cd \$(SCRIPT_ROOT) && make BLFS_TOOL"; \\
|
||||||
|
fi
|
||||||
|
@touch \$@
|
||||||
|
|
||||||
SETUP: $host_prep
|
SETUP: $host_prep
|
||||||
AS_LUSER: $cross_tools $temptools
|
AS_LUSER: $cross_tools $temptools
|
||||||
SUDO: $orphan_scripts
|
SUDO: $orphan_scripts
|
||||||
CHROOT_JAIL: ${chroottools}${boottools} $testsuitetools $basicsystem $bootscripttools $bootabletools
|
CHROOT_JAIL: ${chroottools}${boottools} $testsuitetools $basicsystem $bootscripttools $bootabletools
|
||||||
|
BLFS_TOOL: $blfs_tool
|
||||||
|
|
||||||
do-housekeeping:
|
do-housekeeping:
|
||||||
@-umount \$(MOUNT_PT)/dev/pts
|
@-umount \$(MOUNT_PT)/dev/pts
|
||||||
|
@ -1262,6 +1273,7 @@ EOF
|
||||||
) >> $MKFILE
|
) >> $MKFILE
|
||||||
else echo -e "\t@true\n" >> $MKFILE; fi
|
else echo -e "\t@true\n" >> $MKFILE; fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
################### BOOT #####################
|
################### BOOT #####################
|
||||||
|
@ -1275,7 +1287,7 @@ all: ck_UID mk_SETUP mk_CROSS mk_SUDO
|
||||||
@sudo make do-housekeeping
|
@sudo make do-housekeeping
|
||||||
@\$(call echo_boot_finished,$VERSION)
|
@\$(call echo_boot_finished,$VERSION)
|
||||||
|
|
||||||
makesys: mk_FINAL
|
makesys: mk_FINAL mk_BLFS_TOOL
|
||||||
@\$(call echo_finished,$VERSION)
|
@\$(call echo_finished,$VERSION)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1305,7 +1317,7 @@ mk_CROSS: mk_SETUP
|
||||||
@(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make AS_LUSER" )
|
@(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make AS_LUSER" )
|
||||||
@touch \$@
|
@touch \$@
|
||||||
|
|
||||||
mk_SUDO: mk_SYSTOOLS
|
mk_SUDO: mk_CROSS
|
||||||
@sudo make SUDO
|
@sudo make SUDO
|
||||||
@touch \$@
|
@touch \$@
|
||||||
|
|
||||||
|
@ -1316,10 +1328,19 @@ mk_FINAL:
|
||||||
@( make AS_ROOT )
|
@( make AS_ROOT )
|
||||||
@touch \$@
|
@touch \$@
|
||||||
|
|
||||||
|
mk_BLFS_TOOL: mk_FINAL
|
||||||
|
@\$(call echo_PHASE,Building BLFS-TOOLS)
|
||||||
|
@if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
|
||||||
|
mkdir -p $TRACKING_DIR; \\
|
||||||
|
make BLFS_TOOL; \\
|
||||||
|
fi
|
||||||
|
@touch \$@
|
||||||
|
|
||||||
SETUP: $host_prep
|
SETUP: $host_prep
|
||||||
AS_LUSER: $cross_tools $temptools ${chroottools}${boottools}
|
AS_LUSER: $cross_tools $temptools ${chroottools}${boottools}
|
||||||
SUDO: $orphan_scripts
|
SUDO: $orphan_scripts
|
||||||
AS_ROOT: $testsuitetools $basicsystem $bootscripttools $bootabletools
|
AS_ROOT: $testsuitetools $basicsystem $bootscripttools $bootabletools
|
||||||
|
BLFS_TOOL: $blfs_tool
|
||||||
|
|
||||||
do-housekeeping:
|
do-housekeeping:
|
||||||
@-rm /tools /cross-tools
|
@-rm /tools /cross-tools
|
||||||
|
@ -1335,10 +1356,6 @@ fi
|
||||||
(
|
(
|
||||||
cat << EOF
|
cat << EOF
|
||||||
|
|
||||||
|
|
||||||
restart:
|
|
||||||
@echo "This feature does not exist for the CLFS makefile. (yet)"
|
|
||||||
|
|
||||||
restore-luser-env:
|
restore-luser-env:
|
||||||
@\$(call echo_message, Building)
|
@\$(call echo_message, Building)
|
||||||
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
||||||
|
|
|
@ -499,9 +499,6 @@ LUSER: $cross_tools $basicsystem $bootscripttools $bootable
|
||||||
ROOT: $chowning
|
ROOT: $chowning
|
||||||
|
|
||||||
|
|
||||||
restart:
|
|
||||||
@echo "This feature does not exist for the CLFS-2 makefile. (yet)"
|
|
||||||
|
|
||||||
restore-luser-env:
|
restore-luser-env:
|
||||||
@\$(call echo_message, Building)
|
@\$(call echo_message, Building)
|
||||||
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
||||||
|
|
23
Config.in
23
Config.in
|
@ -57,7 +57,7 @@ menu "--- BOOK Settings"
|
||||||
#-- A local working copy
|
#-- A local working copy
|
||||||
|
|
||||||
config BRANCH
|
config BRANCH
|
||||||
bool "Branch or stable book" if !BOOK_HLFS && !BOOK_CLFS2
|
bool "Branch or stable book" if !BOOK_CLFS2
|
||||||
help
|
help
|
||||||
#-- A supported SVN branch or stable released book
|
#-- A supported SVN branch or stable released book
|
||||||
endchoice
|
endchoice
|
||||||
|
@ -271,7 +271,8 @@ menu "--- BOOK Settings"
|
||||||
config BLFS_TOOL
|
config BLFS_TOOL
|
||||||
bool "Add blfs-tool support"
|
bool "Add blfs-tool support"
|
||||||
default n
|
default n
|
||||||
depends on !BOOK_BLFS
|
# depends on !BOOK_BLFS
|
||||||
|
depends on BOOK_LFS || BOOK_CLFS
|
||||||
help
|
help
|
||||||
#--- Activating this option additional packages needed to
|
#--- Activating this option additional packages needed to
|
||||||
# use blfs-tool will be installed.
|
# use blfs-tool will be installed.
|
||||||
|
@ -285,9 +286,9 @@ menu "--- BOOK Settings"
|
||||||
# directory and files owner, before start
|
# directory and files owner, before start
|
||||||
# using blfs-tool.
|
# using blfs-tool.
|
||||||
#
|
#
|
||||||
# Also, be sure to create the $TRACKING_DIR directory
|
# Also, be sure to bring to that user read and write
|
||||||
# and bring to the build user the right privileges
|
# privileges over the $TRACKING_DIR directory and
|
||||||
# over it.
|
# the files that it contains.
|
||||||
#
|
#
|
||||||
# And don't forget to configure sudo properly.
|
# And don't forget to configure sudo properly.
|
||||||
|
|
||||||
|
@ -489,12 +490,16 @@ menu "--- General Settings"
|
||||||
# if possible.
|
# if possible.
|
||||||
|
|
||||||
config GETKERNEL
|
config GETKERNEL
|
||||||
bool "Always retrieve kernel package"
|
bool "Always retrieve kernel package (see help)"
|
||||||
default n
|
default y if BOOK_LFS && relSVN
|
||||||
depends GETPKG
|
depends GETPKG
|
||||||
help
|
help
|
||||||
#-- Get the kernel package and patches even if no configuration
|
#-- Get the kernel package and patches even if no kernel
|
||||||
# file has been supplied.
|
# configuration file has been supplied.
|
||||||
|
|
||||||
|
# NOTE:
|
||||||
|
# The kernel package must be available when building
|
||||||
|
# the SVN version of LFS to can install the headers files.
|
||||||
|
|
||||||
config RUNMAKE
|
config RUNMAKE
|
||||||
bool "Run the makefile"
|
bool "Run the makefile"
|
||||||
|
|
|
@ -614,8 +614,6 @@ CHROOT: $chapter6
|
||||||
BOOT: $chapter7
|
BOOT: $chapter7
|
||||||
|
|
||||||
|
|
||||||
#restart: restart_code all
|
|
||||||
|
|
||||||
restore-luser-env:
|
restore-luser-env:
|
||||||
@\$(call echo_message, Building)
|
@\$(call echo_message, Building)
|
||||||
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
||||||
|
@ -641,45 +639,6 @@ do-housekeeping:
|
||||||
rm -rf /home/\$(LUSER); \\
|
rm -rf /home/\$(LUSER); \\
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
restart_code:
|
|
||||||
@echo ">>> This feature is experimental, BUGS may exist"
|
|
||||||
|
|
||||||
@if [ ! -L /tools ]; then \\
|
|
||||||
echo -e "\\nERROR::\\n /tools is NOT a symlink.. /tools must point to \$(MOUNT_PT)/tools\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if [ ! -e /tools ]; then \\
|
|
||||||
echo -e "\\nERROR::\\nThe target /tools points to does not exist.\\nVerify the target.. \$(MOUNT_PT)/tools\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if ! stat -c %N /tools | grep "\$(MOUNT_PT)/tools" >/dev/null ; then \\
|
|
||||||
echo -e "\\nERROR::\\nThe symlink \\"/tools\\" does not point to \\"\$(MOUNT_PT)/tools\\".\\nCorrect the problem and rerun\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if [ -f ???-kernfs ]; then \\
|
|
||||||
mkdir -pv \$(MOUNT_PT)/{proc,sys};\\
|
|
||||||
if ! mount -l | "\$(MOUNT_PT)/dev" >/dev/null ; then \\
|
|
||||||
mount -vt ramfs ramfs \$(MOUNT_PT)/dev;\\
|
|
||||||
fi;\\
|
|
||||||
if [ ! -e \$(MOUNT_PT)/dev/console ]; then \\
|
|
||||||
mknod -m 600 \$(MOUNT_PT)/dev/console c 5 1;\\
|
|
||||||
fi;\\
|
|
||||||
if [ ! -e \$(MOUNT_PT)/dev/null ]; then \\
|
|
||||||
mknod -m 666 \$(MOUNT_PT)/dev/null c 1 3;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/dev/pts" >/dev/null ; then \\
|
|
||||||
mount -vt devpts -o gid=4,mode=620 devpts \$(MOUNT_PT)/dev/pts;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/dev/shm" >/dev/null ; then \\
|
|
||||||
mount -vt tmpfs shm \$(MOUNT_PT)/dev/shm;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/proc" >/dev/null ; then \\
|
|
||||||
mount -vt proc proc \$(MOUNT_PT)/proc;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/sys" >/dev/null ; then \\
|
|
||||||
mount -vt sysfs sysfs \$(MOUNT_PT)/sys;\\
|
|
||||||
fi;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -498,8 +498,6 @@ CHROOT: $chapter6
|
||||||
BOOT: $chapter789
|
BOOT: $chapter789
|
||||||
|
|
||||||
|
|
||||||
restart: restart_code all
|
|
||||||
|
|
||||||
restore-luser-env:
|
restore-luser-env:
|
||||||
@\$(call echo_message, Building)
|
@\$(call echo_message, Building)
|
||||||
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
@if [ -f /home/\$(LUSER)/.bashrc.XXX ]; then \\
|
||||||
|
@ -525,45 +523,6 @@ do_housekeeping:
|
||||||
rm -rf /home/\$(LUSER); \\
|
rm -rf /home/\$(LUSER); \\
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
restart_code:
|
|
||||||
@echo ">>> This feature is experimental, BUGS may exist"
|
|
||||||
|
|
||||||
@if [ ! -L /tools ]; then \\
|
|
||||||
echo -e "\\nERROR::\\n /tools is NOT a symlink.. /tools must point to \$(MOUNT_PT)/tools\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if [ ! -e /tools ]; then \\
|
|
||||||
echo -e "\\nERROR::\\nThe target /tools points to does not exist.\\nVerify the target.. \$(MOUNT_PT)/tools\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if ! stat -c %N /tools | grep "\$(MOUNT_PT)/tools" >/dev/null ; then \\
|
|
||||||
echo -e "\\nERROR::\\nThe symlink \\"/tools\\" does not point to \\"\$(MOUNT_PT)/tools\\".\\nCorrect the problem and rerun\\n" && false;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
@if [ -f ???-kernfs ]; then \\
|
|
||||||
mkdir -pv \$(MOUNT_PT)/{dev,proc,sys};\\
|
|
||||||
if [ ! -e \$(MOUNT_PT)/dev/console ]; then \\
|
|
||||||
mknod -m 600 \$(MOUNT_PT)/dev/console c 5 1;\\
|
|
||||||
fi;\\
|
|
||||||
if [ ! -e \$(MOUNT_PT)/dev/null ]; then \\
|
|
||||||
mknod -m 666 \$(MOUNT_PT)/dev/null c 1 3;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep bind >/dev/null ; then \\
|
|
||||||
mount --bind /dev \$(MOUNT_PT)/dev;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/dev/pts" >/dev/null ; then \\
|
|
||||||
mount -vt devpts devpts \$(MOUNT_PT)/dev/pts;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/dev/shm" >/dev/null ; then \\
|
|
||||||
mount -vt tmpfs shm \$(MOUNT_PT)/dev/shm;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/proc" >/dev/null ; then \\
|
|
||||||
mount -vt proc proc \$(MOUNT_PT)/proc;\\
|
|
||||||
fi;\\
|
|
||||||
if ! mount -l | grep "\$(MOUNT_PT)/sys" >/dev/null ; then \\
|
|
||||||
mount -vt sysfs sysfs \$(MOUNT_PT)/sys;\\
|
|
||||||
fi;\\
|
|
||||||
fi;
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
) >> $MKFILE
|
) >> $MKFILE
|
||||||
|
@ -589,7 +548,7 @@ EOF
|
||||||
(
|
(
|
||||||
cat << EOF
|
cat << EOF
|
||||||
@\$(call echo_CHROOT_request)
|
@\$(call echo_CHROOT_request)
|
||||||
@ sudo mkdir $BUILDDIR$TRACKING_DIR
|
@ sudo mkdir -p $BUILDDIR$TRACKING_DIR
|
||||||
@( sudo \$(CHROOT2) "cd \$(SCRIPT_ROOT) && make BLFS_TOOL")
|
@( sudo \$(CHROOT2) "cd \$(SCRIPT_ROOT) && make BLFS_TOOL")
|
||||||
@touch \$@
|
@touch \$@
|
||||||
|
|
||||||
|
|
261
README
261
README
|
@ -2,14 +2,17 @@ $Id$
|
||||||
|
|
||||||
1. INTRODUCTION::
|
1. INTRODUCTION::
|
||||||
|
|
||||||
This collection of scripts, known as jhalfs-X, strives to create
|
This collection of scripts, known as jhalfs, strives to create
|
||||||
accurate makefiles from the Linux From Scratch book series XML files.
|
accurate makefiles from the Linux From Scratch book series XML files.
|
||||||
This software is an evolution of the original "jhalfs-0.2" code.
|
This software is an evolution of the original "jhalfs-0.2" code developed
|
||||||
|
by Jeremy Huntwork.
|
||||||
|
|
||||||
The usage of this script assumes you have read and are familiar with
|
The usage of this script assumes you have read and are familiar with
|
||||||
the book(s) and, therefore, the configuration variables found in config
|
the book(s) and, therefore, the configuration variables found in menuconfig
|
||||||
files will have meaning to you. There are a number of command line switches
|
interface will have meaning to you.
|
||||||
which, if used, will override the config file settings.
|
|
||||||
|
The list of supported books can be found at
|
||||||
|
http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks
|
||||||
|
|
||||||
NOTES::
|
NOTES::
|
||||||
*. The resulting Makefile takes considerable time to run to completion.
|
*. The resulting Makefile takes considerable time to run to completion.
|
||||||
|
@ -31,156 +34,145 @@ $Id$
|
||||||
- be able to trace build failures and to find what is causing it
|
- be able to trace build failures and to find what is causing it
|
||||||
(user error, package bug, {c,h,b}LFS command bug, or jhalfs code bug)
|
(user error, package bug, {c,h,b}LFS command bug, or jhalfs code bug)
|
||||||
|
|
||||||
If you don't have the above skill, please don't use this tool.
|
If you do not have the above skills, please don't use this tool.
|
||||||
|
|
||||||
|
|
||||||
3. INSTALLATION::
|
3. INSTALLATION::
|
||||||
No installation is required. System-wide installation is not allowed
|
|
||||||
for now.
|
|
||||||
|
|
||||||
4. CONFIGURATION FILES::
|
No installation is required. System-wide installation is not allowed.
|
||||||
Each book in the LFS series has its own set of configurable parameters
|
|
||||||
as well as the common parameters file.
|
4. CONFIGURATION::
|
||||||
|
|
||||||
::NEWS:: There is new configuration method for jhalfs.
|
::NEWS::
|
||||||
|
There is a new configuration method for jhalfs.
|
||||||
|
|
||||||
We have installed the familiar menu based configuration tool driven by
|
We have installed the familiar menu based configuration tool driven by
|
||||||
make. If you type the command
|
GNU make. see the section RUNNING, for details
|
||||||
make
|
|
||||||
you will be presented with a list of configurable parameters (starting
|
|
||||||
with the book you wish to use). All the parameters found in the individual
|
|
||||||
config files are available. Once you have finished setting the parameters
|
|
||||||
and exit the make file will launch the chosen book version of jhalfs.
|
|
||||||
JHALFS will import your created file and overider the values found in normal
|
|
||||||
"config" files.
|
|
||||||
..note.. The generated file <configuration> is only used by jhalfs if you
|
|
||||||
run jhalfs via make otherwise it is ignored.
|
|
||||||
|
|
||||||
If you want to try out the new configuration system without running jhalfs
|
|
||||||
issue the following.
|
|
||||||
make menuconfig
|
|
||||||
This will create a new file named configuration but will not launch jhalfs.
|
|
||||||
|
|
||||||
5. RUNNING::
|
5. RUNNING::
|
||||||
The script master.sh cannot be invoked directly but only via the
|
|
||||||
supplied symlinks. After editing the config file for the project you wish
|
|
||||||
to build, run the script.
|
|
||||||
|
|
||||||
IMPORTANT:
|
::NEWS::
|
||||||
If you use the switch -M (automatically run the generated makefile) you
|
jhalfs is now launched via GNU make instead of individual symlinks.
|
||||||
must be 'root' or you can run the scripts using 'sudo'
|
|
||||||
i.e. sudo ./lfs -G -M
|
|
||||||
|
|
||||||
If you want to run make manually you can only do so if you are 'root' or
|
The command <make> will launch a menu based configuration program. You will
|
||||||
via 'sudo'
|
recognize the layout from building the kernel or uClibc/BusyBox. The
|
||||||
i.e (from within the jhalfs directory) sudo make
|
underlying menu code was borrowed from BusyBox and slightly modified for
|
||||||
|
our use.
|
||||||
|
|
||||||
The term <symlink> refers to the 1 of 3 package symlinks, lfs,hlfs,clfs.
|
Help on parameter function is available from the online help. Please
|
||||||
Replace <symlink> with your choice of packages; i.e.: ./lfs
|
make use of that feature for additional information not in this file.
|
||||||
|
|
||||||
./<symlink> eg: ./lfs or ./hlfs
|
Once you have set the parameters you wish and have saved your work the
|
||||||
Create a makefile based on the settings found in the config files.
|
jhalfs script is launch. The script verify first that the host can run
|
||||||
You must enter the build partition/jhalfs directory and manually run <make>
|
it and build the xLFS system, then validate the configuration and present
|
||||||
|
you with your selections which you may accept or reject.
|
||||||
|
|
||||||
./<symlink> -G eg: ./lfs -G
|
If you accepted the displayed settings jhalfs will proceed to create the
|
||||||
Download the packages and patches necessary to build <symlink>
|
Makefile, optionally download packages.
|
||||||
|
|
||||||
./<symlink> -G -M eg: ./lfs -G -M
|
::NEWS::
|
||||||
Download the packages, create and automatically run the Makefile
|
You must be logged as a normal user with sudo privileges to run
|
||||||
|
the Makefile.
|
||||||
|
|
||||||
./<symlink> --help eg: ./lfs --help
|
NOTE::
|
||||||
will give you a context sensitive list of command line switches.
|
If you run the jhalfs script directly the only function you can select
|
||||||
|
is to display the version number running <./jhalfs -v>
|
||||||
|
|
||||||
>>>> an expanded example
|
6. BLFS_TOOL SUPPORT::
|
||||||
|
|
||||||
export SRC_ARCHIVE=/mnt/SourceFiles
|
For books that support it, there is an option to install blfs-tool and its
|
||||||
|
dependendencies on the final system.
|
||||||
|
|
||||||
./lfs -D /mnt/partition4 \
|
After booting the new xLFS system some steps are needed to finish
|
||||||
-K ~/jhalfs_configs/linux-2.6.16.19-LFS.config \
|
blfs-tool installation:
|
||||||
-F ~/jhalfs-configs/fstab-sda3 \
|
|
||||||
-G -T 0 -M
|
|
||||||
|
|
||||||
explanation:::
|
- A user account must be created. You must be logged on that user
|
||||||
|
account to use blfs-tool.
|
||||||
|
|
||||||
export SRC_ARCHIVE=/mnt/SourceFiles
|
- Move /blfs-root to that user's home and change ownership of the
|
||||||
# This points to a local archive of existing packages. If the version in
|
directory and files to the user.
|
||||||
the archive is incorrect jhalfs will access the net and download the
|
|
||||||
necessary version and store it here for later use. DO NOT set this to
|
|
||||||
$BUILDDIR/sources. If you do not set this variable to a valid directory
|
|
||||||
ALL package tarballs will be downloaded from the 'net.
|
|
||||||
|
|
||||||
-D /mnt/partition4
|
- Give the user read and write privileges over the $TRACKING_DIR
|
||||||
# where everything takes place. ..NOTE it must already exist and be mounted
|
directory and the files that it contains.
|
||||||
|
|
||||||
-K ~/jhalfs_configs/linux-2.6.16.19-LFS.config
|
- Configure sudo, adding the needed privileges for the user.
|
||||||
# If you want to automatically build a the kernel you MUST supply a valid
|
|
||||||
kernel configuration file. The file you supply will be copied and renamed.
|
|
||||||
|
|
||||||
-F ~/jhalfs-configs/fstab-sda3
|
We assume that blfs-tool will be used on a running fresh xLFS system.
|
||||||
# If you have a fstab file you wish to use it will be copied and renamed
|
To use it to build BLFS packages from the chroot jail is also possible,
|
||||||
|
but is for you to figure out how to do that.
|
||||||
|
|
||||||
-G # Retrieve the package files. You MUST enable this flag at least once if you
|
To know how to blfs-tool works, see README.BLFS.
|
||||||
wish to do a build or whenever you update the book.
|
|
||||||
|
|
||||||
-T 0 # don't run any testsuites
|
7. LAYOUT::
|
||||||
|
|
||||||
-M # automatically run make against Makefile once jhalfs finishes its work.
|
/BLFS (see README.BLFS)
|
||||||
|
|
||||||
|
/CLFS/master.sh
|
||||||
|
/clfs.xsl
|
||||||
|
|
||||||
6. LAYOUT::
|
/CLFS2/master.sh
|
||||||
|
/clfs2.xsl
|
||||||
|
|
||||||
/CLFS/config
|
/HLFS/master.sh
|
||||||
/master.sh
|
/hlfs.xsl
|
||||||
/xxxx.xsl
|
|
||||||
|
|
||||||
/CLFS2/config
|
/LFS/master.sh
|
||||||
/master.sh
|
/lfs.xsl
|
||||||
/xxxx.xsl
|
|
||||||
|
|
||||||
/HLFS/config
|
/common/common_functions
|
||||||
/master.sh
|
|
||||||
/xxxx.xsl
|
|
||||||
|
|
||||||
/LFS/config
|
|
||||||
/ master.sh
|
|
||||||
/xxxx.xsl
|
|
||||||
|
|
||||||
/common/config
|
|
||||||
/common_functions
|
|
||||||
/makefile_functions
|
/makefile_functions
|
||||||
/func_check_versions.sh
|
/func_check_versions.sh
|
||||||
/func_validate_configs.sh
|
/func_validate_configs.sh
|
||||||
|
/packages.xsl
|
||||||
|
/urls.xsl
|
||||||
|
/create-sbu_du-report.sh
|
||||||
|
/func_compare.sh
|
||||||
|
/progress_bar.sh
|
||||||
|
/blfs-tool-deps/9xx-*
|
||||||
|
|
||||||
/contrib/jhalfs-paco.patch
|
/contrib/jhalfs-paco.patch
|
||||||
|
|
||||||
/extras/do_copy_files
|
/extras/do_copy_files
|
||||||
/do_ica_prep
|
/do_ica_prep
|
||||||
/do_ica_work
|
/do_ica_work
|
||||||
/farce
|
/farce
|
||||||
/filelist
|
/filelist
|
||||||
|
|
||||||
README
|
/optimize/opt_config
|
||||||
README.PACO
|
/opt_override
|
||||||
TODO
|
/optimize_functions
|
||||||
|
/opt_config.d/noOpt
|
||||||
|
/noSymbols
|
||||||
|
/O3pipe
|
||||||
|
/O3pipe_march
|
||||||
|
/defOpt_fPIC
|
||||||
|
|
||||||
./clfs ---|
|
/menu/*
|
||||||
./clfs2 ---|
|
|
||||||
./hlfs ---|+---> master.sh
|
|
||||||
./lfs ---|
|
|
||||||
|
|
||||||
|
README
|
||||||
|
README.BLFS
|
||||||
|
README.HLFS
|
||||||
|
README.PACO
|
||||||
|
TODO
|
||||||
|
LICENSE
|
||||||
|
|
||||||
7. FAQ::
|
Config.in
|
||||||
|
Makefile
|
||||||
|
jhalfs
|
||||||
|
blfs-tool
|
||||||
|
|
||||||
|
8. FAQ::
|
||||||
Q. "This 'help' file is very sparse"
|
Q. "This 'help' file is very sparse"
|
||||||
A. Yes, it is. This tool, jhalfs, is for those who understand the LFS books
|
A. Yes, it is. This tool, jhalfs, is for those who understand the LFS books
|
||||||
and wish to automate the build. 99% of any problems that arise can be
|
and wish to automate the build. 99% of any problems that arise can be
|
||||||
solved by reading the book(s).
|
solved by reading the book(s).
|
||||||
|
|
||||||
Q. "It doesn't work!"
|
Q. "It doesn't work!"
|
||||||
A. Yes it does, try ./lfs --help
|
A. Yes it does, try >> make
|
||||||
Remember you must either be 'root' to run this script or have 'sudo' privileges.
|
Remember you must have 'sudo' privileges.
|
||||||
|
|
||||||
Q. "It still doesn't work"
|
Q. "It still doesn't work"
|
||||||
A. jhalfs was designed to work against the developement versions of the LFS
|
A. jhalfs was designed to work against the development versions of the LFS
|
||||||
series of books. Consequently changes in a book(s) sometimes breaks older
|
series of books. Consequently changes in a book(s) sometimes breaks older
|
||||||
versions of jhalfs. Before you start pulling out your hair download the
|
versions of jhalfs. Before you start pulling out your hair download the
|
||||||
latest version of jhalfs to see if that solves your problem.
|
latest version of jhalfs to see if that solves your problem.
|
||||||
|
@ -193,42 +185,50 @@ $Id$
|
||||||
|
|
||||||
The layout below $BUILDDIR is as follows.
|
The layout below $BUILDDIR is as follows.
|
||||||
$BUILDDIR/
|
$BUILDDIR/
|
||||||
jhalfs (makefile,cmd scripts,logs..etc)
|
jhalfs (Makefile, cmd scripts, logs, etc..)
|
||||||
sources (where packages reside)
|
sources (where packages reside)
|
||||||
tools (temporary bootstrap system)
|
tools (temporary bootstrap system)
|
||||||
cross-tools (temporary CLFS only)
|
cross-tools (temporary CLFS only)
|
||||||
...
|
...
|
||||||
FHS dir structure
|
FHS dir structure
|
||||||
...
|
...
|
||||||
|
blfs_root (files to use blfs-tool if selected to install it)
|
||||||
|
|
||||||
Q. "What is the function of the SRC_ARCHIVE variable?"
|
Q. "What is the function of the SRC_ARCHIVE variable?"
|
||||||
A. When then symlinked master.sh runs it creates a local copy of the
|
A. When jhalfs runs and packages download was selected, it creates a local
|
||||||
necessary packages in BUILDDIR/sources by downloading the files. If
|
copy of the necessary packages in BUILDDIR/sources by downloading the
|
||||||
the variable SRC_ARCHIVE is defined the software will first look in
|
files. If the variable SRC_ARCHIVE is defined the software will first
|
||||||
this location for the file and, if found, will copy it to BUILDDIR/sources.
|
look in this location for the file and, if found, will copy it to
|
||||||
|
BUILDDIR/sources.
|
||||||
If the files are not found in SRC_ARCHIVE _and_ you have write priv to
|
If the files are not found in SRC_ARCHIVE _and_ you have write priv to
|
||||||
the directory any downloaded files will be mirrored there.
|
the directory any downloaded files will be mirrored there.
|
||||||
|
|
||||||
Q. "How do I set the SRC_ARCHIVE location?"
|
Q. "How do I set the SRC_ARCHIVE location?"
|
||||||
A. The best way to set the value of SRC_ARCHIVE is
|
A. The best way to set the value of SRC_ARCHIVE is
|
||||||
|
|
||||||
export SRC_ARCHIVE=/wherever/you/store/downloaded/packages
|
export SRC_ARCHIVE=/wherever/you/store/downloaded/packages
|
||||||
OR
|
|
||||||
you can change the setting in common/config.
|
or you can set the full path in the proper menu entry.
|
||||||
|
|
||||||
Q. "Why have 2 copies of the files?"
|
Q. "Why have 2 copies of the files?"
|
||||||
A. The package files must be visible during the chroot phase and this is a
|
A. The package files must be visible during the chroot phase and this is a
|
||||||
simple and reliable method of doing so. This method also handles the CLFS
|
simple and reliable method of doing so. This method also handles the CLFS
|
||||||
build method where the final build may be done on a separate machine.
|
boot build method where the final build may be done on a separate machine.
|
||||||
|
|
||||||
Q. "What is the function of LUSER and LGROUP? There is no cmd line switch"
|
Q. "What is the function of "User account" and "Group account" menu settings?"
|
||||||
A. If you are running jhalfs from a low or non-priveledged account you may not
|
A. If you are running jhalfs from a low or non-privileged account you may not
|
||||||
have the priv to create/delete accounts. These variables are adjustable
|
have the priv to create/delete the user needed to build temporally tools.
|
||||||
when invoking make.
|
These settings allow you to use your own user and group name to do that
|
||||||
make LUSER=myaccount LGROUP=mygroup
|
build steps.
|
||||||
Then only changes to your account will be the creation of a NEW .bashrc after
|
|
||||||
saving your original to .bashrc.XXX
|
These variables are adjustable also when invoking make:
|
||||||
|
|
||||||
Q. "When I try to build 'xxx' with clfs the makefile fails at the mid-point"
|
$BUILDDIR make LUSER=myaccount LGROUP=mygroup
|
||||||
|
|
||||||
|
The only changes to your account will be the creation of a NEW .bashrc
|
||||||
|
after saving your original to .bashrc.XXX
|
||||||
|
|
||||||
|
Q. "When I try to build CLFS the Makefile fails at the mid-point"
|
||||||
A. There could be numerous reasons for the failure but the most likely reason
|
A. There could be numerous reasons for the failure but the most likely reason
|
||||||
is you are doing a cross-build using the 'chroot' method and the target is
|
is you are doing a cross-build using the 'chroot' method and the target is
|
||||||
not compatible with the host. If you choose to build using the chroot
|
not compatible with the host. If you choose to build using the chroot
|
||||||
|
@ -237,9 +237,9 @@ $Id$
|
||||||
it means the host and target are not compatible an you should use the
|
it means the host and target are not compatible an you should use the
|
||||||
'boot' method to create your target code.
|
'boot' method to create your target code.
|
||||||
As an extreme example: You can build a sparc target on a x86 platform but
|
As an extreme example: You can build a sparc target on a x86 platform but
|
||||||
only the temptools phase. You must run ./clfs using the 'boot' method and
|
only the temptools phase. You must select the 'boot' method and not the
|
||||||
not the 'chroot.' You must transfer the toolchain to a sparc platform, reboot
|
'chroot.' You must transfer the toolchain to a sparc platform, reboot the
|
||||||
the sparc box and continue the build.
|
sparc box and continue the build.
|
||||||
Of all the LFS series of books Cross-LFS requires the greatest
|
Of all the LFS series of books Cross-LFS requires the greatest
|
||||||
understanding of host/target hardware combination. Please read the book
|
understanding of host/target hardware combination. Please read the book
|
||||||
carefully and don't skip the easy parts (there are none..)
|
carefully and don't skip the easy parts (there are none..)
|
||||||
|
@ -247,4 +247,3 @@ $Id$
|
||||||
Authors:
|
Authors:
|
||||||
George Boudreau
|
George Boudreau
|
||||||
Manuel Canales Esparcia
|
Manuel Canales Esparcia
|
||||||
Jeremy Huntwork
|
|
||||||
|
|
109
README.BLFS
109
README.BLFS
|
@ -8,14 +8,12 @@ $Id$
|
||||||
installed on a non default prefix, build commands can change based on what
|
installed on a non default prefix, build commands can change based on what
|
||||||
dependencies will be used, etc.
|
dependencies will be used, etc.
|
||||||
|
|
||||||
Said that, the goal of jhalfs is try to help you solving packages
|
Said that, the goal of blfs-tool is try to help you solving packages
|
||||||
dependencies and creating your own build scripts/Makefile. Some of the
|
dependencies and creating your own build scripts and Makefile. Few of the
|
||||||
auto-generated build scripts and Makefile could work "as is", but as a
|
auto-generated build scripts and Makefile could work "as is", thus as a
|
||||||
general rule you will need to review and edit the scripts while reading
|
general rule you will need to review and edit the scripts while reading
|
||||||
the book.
|
the book.
|
||||||
|
|
||||||
NOTE:: The code is still under development and may contains several bugs
|
|
||||||
|
|
||||||
|
|
||||||
2. PREREQUISITES::
|
2. PREREQUISITES::
|
||||||
|
|
||||||
|
@ -27,19 +25,36 @@ $Id$
|
||||||
- be able to trace build failures and to find what is causing it
|
- be able to trace build failures and to find what is causing it
|
||||||
(user error, package bug, BLFS command bug, or jhalfs code bug)
|
(user error, package bug, BLFS command bug, or jhalfs code bug)
|
||||||
|
|
||||||
If you don't have the above skill, please don't use this tool.
|
If you do not have the above skills, please don't use this tool.
|
||||||
|
|
||||||
|
|
||||||
3. USAGE::
|
3. USAGE::
|
||||||
|
|
||||||
Due the complexity of the BLFS book, the scripts/Makefile generation is
|
Due the complexity of the BLFS book, the scripts and Makefile generation is
|
||||||
done in several steps:
|
done in several steps:
|
||||||
|
|
||||||
3.1 INSTALLATION::
|
3.1 INSTALLED PACKAGES TRACKING SYSTEM
|
||||||
|
|
||||||
|
This tool includes a very simple tracking system to know what packages
|
||||||
|
has been installed using the tool. It is used to skip installed packages
|
||||||
|
from target selection menu and to know if an installed package has been updated
|
||||||
|
on the BLFS book. Don't rely on this feature as a packages management tool.
|
||||||
|
|
||||||
|
The directory where tracking files will be stored need be created
|
||||||
|
before installing blfs-tool. You can place that directory anywhere, taking
|
||||||
|
care that the builder user must have read and write privileges on that
|
||||||
|
directory and on all files it contains.
|
||||||
|
|
||||||
|
To use the default path set in the installation menu, run as root:
|
||||||
|
|
||||||
|
install -d -m1777 /var/lib/jhalfs/BLFS
|
||||||
|
|
||||||
|
3.2 BLFS_TOOL INSTALLATION::
|
||||||
|
|
||||||
Run "make" to launch the jhalfs menuconfig interface. Select the BLFS
|
Run "make" to launch the jhalfs menuconfig interface. Select the BLFS
|
||||||
book and it version. Then set the installation directory (default
|
book and it version. Then set the installation directory (default
|
||||||
$HOME/blfs_root) and the BLFS sources directory (default blfs-xml).
|
$HOME/blfs_root), the BLFS sources directory (default blfs-xml), and
|
||||||
|
the installed packages tracking directory (default /var/lib/jhalfs/BLFS).
|
||||||
|
|
||||||
All required files will be placed in the installation directory and
|
All required files will be placed in the installation directory and
|
||||||
BLFS XML sources will be checkout to the named sub-directory.
|
BLFS XML sources will be checkout to the named sub-directory.
|
||||||
|
@ -69,45 +84,55 @@ $Id$
|
||||||
From now on, all the work must be done from inside the installation
|
From now on, all the work must be done from inside the installation
|
||||||
root directory.
|
root directory.
|
||||||
|
|
||||||
3.2 UPDATING BOOK SOURCES::
|
When finished the installation, the configuration and target selection
|
||||||
|
menu is launch.
|
||||||
|
|
||||||
|
3.3 UPDATING BOOK SOURCES::
|
||||||
|
|
||||||
If using the development book version, and if you want to update already
|
If using the development book version, and if you want to update already
|
||||||
installed packages to the new version found in that book, you need to update
|
installed packages to the new version found in that book, you need to update
|
||||||
the XML sources and packages database.
|
the XML sources and packages database.
|
||||||
|
|
||||||
To do that run "./update_book.sh"
|
To do that run "./update_book.sh"
|
||||||
|
|
||||||
3.3 CONFIGURING AND PARSING THE BOOK:: (obsolete, to be rewritten)
|
On the next configuration run, packages already installed but listed
|
||||||
|
with a new version in the book will be available for target selection and
|
||||||
|
used to solve dependencies.
|
||||||
|
|
||||||
|
3.4 CONFIGURING AND PARSING THE BOOK::
|
||||||
|
|
||||||
Next step is to create a book and build scripts in dependencies build order
|
Next step is to create a book and build scripts in dependencies build order
|
||||||
for a target package. A target package can be any of the ones listed in the
|
for a target package. A target can be a package or a meta-package.
|
||||||
packages file. That is done using the blfs-parser.sh script, but we are trying
|
|
||||||
to make a menuconfig based system.
|
|
||||||
|
|
||||||
The script need three arguments:
|
Run <make> to launch the configuration interface. The main menu contains
|
||||||
|
three block: meta-package selection, individual package selection, and
|
||||||
|
build options.
|
||||||
|
|
||||||
package name as listed in packages file
|
Only one meta-package or individual package must be selected on each run.
|
||||||
dependencies level 1 for required,
|
That is due that there is no way to solve dependencies properly when
|
||||||
2 for required an recommended
|
more than one target are selected at the same time.
|
||||||
3 for required, recommended, and optional
|
|
||||||
sudo usage y if sudo will be used (you want build as a normal user)
|
|
||||||
n if sudo isn't needed (you want build as root)
|
|
||||||
|
|
||||||
For example:
|
When a meta-package is selected is possible to unselect unwanted components.
|
||||||
|
That unselected components will be skipped if no other components depends
|
||||||
|
on them.
|
||||||
|
|
||||||
./blfs-parser galeon 3 y
|
In the build options section the dependencies level and default packages
|
||||||
|
used to solve alternatives are set. Can be set also if the build will be
|
||||||
|
made as a normal user or as root. That settings are saved to be reused on
|
||||||
|
future configuration runs.
|
||||||
|
|
||||||
will create a directory named "galeon". Inside that directory you find a
|
If, for example, your target selection is Xsoft-->Graphweb-->galeon a
|
||||||
directory named "HTML" that contains a galeon-based HTML book with all
|
directory named "galeon" will be created. Inside that directory you will
|
||||||
dependencies in build order and a "scripts" directory with build scripts
|
find a directory named "HTML" that contains a galeon-based HTML book with
|
||||||
that uses sudo for commands that need root privileges.
|
its dependencies in build order, and a "scripts" directory with build
|
||||||
|
scripts for that packages.
|
||||||
|
|
||||||
There is also two other directories, dependencies and xincludes, that
|
There is also two other directories, "dependencies" and "xincludes", that
|
||||||
contains files generated while resolving dependencies trees.
|
contains files generated while resolving dependencies trees.
|
||||||
|
|
||||||
3.4 EDITING BUILD SCRIPTS
|
3.5 EDITING BUILD SCRIPTS
|
||||||
|
|
||||||
Now is the time to review the generated book and scripts, making in the
|
Now is time to review the generated book and scripts, making in the
|
||||||
scripts any changes required to fix generation bugs or to fit your needs.
|
scripts any changes required to fix generation bugs or to fit your needs.
|
||||||
|
|
||||||
Scripts for additional packages (i.e., for non-BLFS packages) can be
|
Scripts for additional packages (i.e., for non-BLFS packages) can be
|
||||||
|
@ -116,24 +141,20 @@ $Id$
|
||||||
"foo" script is named "064-z-foo", you need to create a "064-y-bar" build
|
"foo" script is named "064-z-foo", you need to create a "064-y-bar" build
|
||||||
script.
|
script.
|
||||||
|
|
||||||
Note that the packages tracking system isn't a packages management tool
|
Remember that the packages tracking system isn't a packages management tool
|
||||||
and know nothing about packages not in the BLFS book.
|
and know nothing about packages not in the BLFS book.
|
||||||
|
|
||||||
3.5 CREATING THE MAKEFILE
|
Also, review and edit envars.conf. That file is used to set global envars
|
||||||
|
needed by the build scripts.
|
||||||
|
|
||||||
|
3.6 CREATING THE MAKEFILE
|
||||||
|
|
||||||
When the build scripts are ready to be run, the Makefile can be
|
When the build scripts are ready to be run, the Makefile can be
|
||||||
created. Be sure that you cd into the "package" directory and run
|
created. Be sure that you cd into the "package" directory and run
|
||||||
|
|
||||||
../gen_makefile.sh
|
../gen_makefile.sh
|
||||||
|
|
||||||
Review the Makefile and if all look sane, start the build.
|
Review the Makefile and if all looks sane, start the build.
|
||||||
|
|
||||||
|
|
||||||
(Text is needed about meta-packages, the installed packages tracking system
|
|
||||||
and like)
|
|
||||||
|
|
||||||
(The TRACKING_DIR directory must be created before using this tool running as root
|
|
||||||
|
|
||||||
install -d -m1777 /var/lib/jhalfs/BLFS )
|
|
||||||
|
|
||||||
4. GENERATED BUILD SCRIPTS ISSUES::
|
4. GENERATED BUILD SCRIPTS ISSUES::
|
||||||
|
|
||||||
|
@ -176,8 +197,8 @@ install -d -m1777 /var/lib/jhalfs/BLFS )
|
||||||
to make it to use your local packages.
|
to make it to use your local packages.
|
||||||
|
|
||||||
Also, you will need to edit the scripts to fix the commands that must
|
Also, you will need to edit the scripts to fix the commands that must
|
||||||
be applied only to a concret individual sub-package. For example the "for"
|
be applied only to a concrete individual sub-package. For example the "for"
|
||||||
loop to install xotg7-util packages may read like:
|
loop to install xorg7-util packages may read like:
|
||||||
|
|
||||||
for package in $(cat $WGET_LST) ; do
|
for package in $(cat $WGET_LST) ; do
|
||||||
packagedir=$(echo $package | sed 's/.tar.bz2//')
|
packagedir=$(echo $package | sed 's/.tar.bz2//')
|
||||||
|
|
|
@ -14,5 +14,4 @@ $Id$
|
||||||
Automation failures:
|
Automation failures:
|
||||||
1.Directory /dev and devices nodes /dev/null, /dev/console needed to be
|
1.Directory /dev and devices nodes /dev/null, /dev/console needed to be
|
||||||
created in kernfs
|
created in kernfs
|
||||||
2.Linux-headers does not contain /net.
|
|
||||||
3.Remove the creation of /null and /console node from the devices script.
|
3.Remove the creation of /null and /console node from the devices script.
|
|
@ -144,7 +144,7 @@ echo "${SD_BORDER}${nl_}"
|
||||||
echo -n "Are you happy with these settings? yes/no (no): "
|
echo -n "Are you happy with these settings? yes/no (no): "
|
||||||
read ANSWER
|
read ANSWER
|
||||||
if [ x$ANSWER != "xyes" ] ; then
|
if [ x$ANSWER != "xyes" ] ; then
|
||||||
echo "${nl_}Fix the configuration options and rerun the script.${nl_}"
|
echo "${nl_}Rerun make to fix the configuration options.${nl_}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "${nl_}${SD_BORDER}${nl_}"
|
echo "${nl_}${SD_BORDER}${nl_}"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
|
@ -3,12 +3,14 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
patch -Np1 -i ../tidy-051026-prevent_PRE_newlines-1.patch
|
patch -Np1 -i ../tidy-051026-prevent_PRE_newlines-1.patch
|
||||||
sh build/gnuauto/setup.sh
|
sh build/gnuauto/setup.sh
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
(cd ../ && tar -xvf tidy_docs_051020.tgz)
|
||||||
cd htmldoc
|
cd htmldoc
|
||||||
tidy -xml-help > tidy-help.xml
|
tidy -xml-help > tidy-help.xml
|
||||||
tidy -xml-config > tidy-config.xml
|
tidy -xml-config > tidy-config.xml
|
||||||
|
@ -16,7 +18,7 @@ xsltproc -o tidy.1 tidy1.xsl tidy-help.xml
|
||||||
xsltproc -o quickref.html quickref-html.xsl tidy-config.xml
|
xsltproc -o quickref.html quickref-html.xsl tidy-config.xml
|
||||||
cd ..
|
cd ..
|
||||||
install -v -m644 htmldoc/tidy.1 /usr/share/man/man1
|
install -v -m644 htmldoc/tidy.1 /usr/share/man/man1
|
||||||
install -v -m755 -d /usr/share/doc/tidy-051026
|
install -v -m755 -d /usr/share/doc/tidy-051020
|
||||||
install -v -m644 htmldoc/quickref.html /usr/share/doc/tidy-051026
|
cp -v -R htmldoc/* /usr/share/doc/tidy-051020
|
||||||
|
|
||||||
exit
|
exit
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
make -f unix/Makefile LOCAL_UNZIP=-D_FILE_OFFSET_BITS=64 linux
|
make -f unix/Makefile LOCAL_UNZIP=-D_FILE_OFFSET_BITS=64 linux
|
||||||
make prefix=/usr install
|
make prefix=/usr install
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.69.1
|
install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-1.69.1
|
||||||
cp -v -R VERSION common eclipse extensions fo html \
|
cp -v -R VERSION common eclipse extensions fo html \
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
patch -Np1 -i ../gpm-1.20.1-segfault-1.patch
|
patch -Np1 -i ../gpm-1.20.1-segfault-1.patch
|
||||||
patch -Np1 -i ../gpm-1.20.1-silent-1.patch
|
patch -Np1 -i ../gpm-1.20.1-silent-1.patch
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
make CFLAGS="-O2 -Wno-sign-compare -Wno-pointer-sign"
|
make CFLAGS="-O2 -Wno-sign-compare -Wno-pointer-sign"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
patch -Np1 -i ../sudo-1.6.8p12-envvar_fix-1.patch
|
patch -Np1 -i ../sudo-1.6.8p12-envvar_fix-1.patch
|
||||||
./configure --prefix=/usr --libexecdir=/usr/lib \
|
./configure --prefix=/usr --libexecdir=/usr/lib \
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
./configure --prefix=/usr --sysconfdir=/etc
|
./configure --prefix=/usr --sysconfdir=/etc
|
||||||
make
|
make
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
cd $PKGDIR
|
||||||
|
|
||||||
./configure --prefix=/usr \
|
./configure --prefix=/usr \
|
||||||
--without-berkeley-db \
|
--without-berkeley-db \
|
||||||
|
|
|
@ -44,9 +44,19 @@ get_package_tarball_name() { #
|
||||||
# hopefully this will not cause problems.
|
# hopefully this will not cause problems.
|
||||||
#
|
#
|
||||||
case $script_name in
|
case $script_name in
|
||||||
tcl) echo $(grep "^tcl" $JHALFSDIR/pkg_tarball_list | head -n1 ) ;;
|
tcl) echo $(grep "^tcl" $JHALFSDIR/pkg_tarball_list | head -n1 )
|
||||||
linux-headers) echo $(grep "^linux-headers.*.bz2" $JHALFSDIR/pkg_tarball_list | head -n1 ) ;;
|
;;
|
||||||
*) echo $(grep "^$script_name-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 ) ;;
|
linux-headers)
|
||||||
|
if [ "${PROGNAME}" = "lfs" ]; then
|
||||||
|
# Uses kernel headers directly
|
||||||
|
echo $(grep "^linux-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
|
||||||
|
else
|
||||||
|
# CLFS/CLFS use massaged headers package
|
||||||
|
echo $(grep "^linux-headers-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*) echo $(grep "^$script_name-[[:digit:]]" $JHALFSDIR/pkg_tarball_list | head -n1 )
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -410,24 +420,21 @@ clean_builddir() { #
|
||||||
#----------------------------#
|
#----------------------------#
|
||||||
# Test if the clean must be done.
|
# Test if the clean must be done.
|
||||||
if [ "${CLEAN}" = "y" ]; then
|
if [ "${CLEAN}" = "y" ]; then
|
||||||
# Test to make sure we're running the clean as root
|
|
||||||
if [ "$UID" != "0" ] ; then
|
|
||||||
echo "You must be logged in as root to clean the build directory."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# Test to make sure that the build directory was populated by jhalfs
|
# Test to make sure that the build directory was populated by jhalfs
|
||||||
if [ ! -d $JHALFSDIR ] || [ ! -d $BUILDDIR/sources ] ; then
|
if [ ! -d $JHALFSDIR ] || [ ! -d $BUILDDIR/sources ] ; then
|
||||||
echo "Looks like $BUILDDIR was not populated by a previous jhalfs-X run."
|
echo "Looks like $BUILDDIR was not populated by a previous jhalfs-X run."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
# Clean the build directory
|
# Clean the build directory
|
||||||
echo -ne "Cleaning $BUILDDIR...\n"
|
echo -n "Cleaning $BUILDDIR ..."
|
||||||
rm -rf $BUILDDIR/{bin,boot,dev,etc,home,lib,media,mnt,opt,proc,root,sbin,srv,sys,tmp,tools,cross-tools,usr,var}
|
sudo rm -rf $BUILDDIR/{bin,boot,dev,etc,home,lib,media,mnt,opt,proc,root,sbin,srv,sys,tmp,tools,cross-tools,usr,var}
|
||||||
echo -ne "Cleaning $JHALFSDIR...\n"
|
echo "done"
|
||||||
rm -rf $JHALFSDIR/{0*,1*,envars,sources-dir,*commands,*logs,Makefile,*.xsl,makefile-functions,pkg_tarball_list,*.config,*.sh}
|
echo -n "Cleaning $JHALFSDIR ..."
|
||||||
echo -ne "Cleaning remainig extracted sources in $BUILDDIR/sources...\n"
|
sudo rm -rf $JHALFSDIR
|
||||||
rm -rf `find $BUILDDIR/sources/* -maxdepth 0 -type d`
|
echo "done"
|
||||||
echo -ne "done\n"
|
echo -n "Cleaning remainig extracted sources in $BUILDDIR/sources ..."
|
||||||
|
sudo rm -rf `find $BUILDDIR/sources/* -maxdepth 0 -type d`
|
||||||
|
echo "done"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -813,6 +820,7 @@ add_blfs_deps_urls() { # No easy way to extract it.
|
||||||
if [[ "${DEP_TIDY}" = "y" ]] ; then
|
if [[ "${DEP_TIDY}" = "y" ]] ; then
|
||||||
echo "${TIDY_URL} ${BLFS_SERVER}tidy/${TIDY_PKG} ${TIDY_MD5}" >> urls.lst
|
echo "${TIDY_URL} ${BLFS_SERVER}tidy/${TIDY_PKG} ${TIDY_MD5}" >> urls.lst
|
||||||
echo "${TIDY_PATCH_URL} ${BLFS_SERVER}tidy/${TIDY_PATCH} ${TIDY_PATCH_MD5}" >> urls.lst
|
echo "${TIDY_PATCH_URL} ${BLFS_SERVER}tidy/${TIDY_PATCH} ${TIDY_PATCH_MD5}" >> urls.lst
|
||||||
|
echo "${TIDY_DOCS_URL} ${BLFS_SERVER}tidy/${TIDY_DOCS} ${TIDY_DOCS_MD5}" >> urls.lst
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${DEP_UNZIP}" = "y" ]] ; then
|
if [[ "${DEP_UNZIP}" = "y" ]] ; then
|
||||||
|
|
|
@ -83,7 +83,7 @@ check_prerequisites() { #
|
||||||
check_version "3.0" "$(gawk --version | head -n1 | cut -d" " -f3)" "GAWK"
|
check_version "3.0" "$(gawk --version | head -n1 | cut -d" " -f3)" "GAWK"
|
||||||
check_version "2.5" "$(grep --version | head -n1 | cut -d" " -f4)" "GREP"
|
check_version "2.5" "$(grep --version | head -n1 | cut -d" " -f4)" "GREP"
|
||||||
check_version "1.2.4" "$(gzip --version 2>&1 | head -n1 | cut -d" " -f2)" "GZIP"
|
check_version "1.2.4" "$(gzip --version 2>&1 | head -n1 | cut -d" " -f2)" "GZIP"
|
||||||
check_version "3.79.1" "$(make --version | head -n1 | cut -d " " -f3)" "MAKE"
|
check_version "3.79.1" "$(make --version | head -n1 | cut -d " " -f3 | cut -c1-4)" "MAKE"
|
||||||
check_version "2.5.4" "$(patch --version | head -n1 | cut -d" " -f2)" "PATCH"
|
check_version "2.5.4" "$(patch --version | head -n1 | cut -d" " -f2)" "PATCH"
|
||||||
check_version "3.0.2" "$(sed --version | head -n1 | cut -d" " -f4)" "SED"
|
check_version "3.0.2" "$(sed --version | head -n1 | cut -d" " -f4)" "SED"
|
||||||
else
|
else
|
||||||
|
|
|
@ -17,7 +17,7 @@ REVERSE = "[7m"
|
||||||
define echo_PHASE
|
define echo_PHASE
|
||||||
@clear
|
@clear
|
||||||
@echo $(BOLD)--------------------------------------------------------------------------------
|
@echo $(BOLD)--------------------------------------------------------------------------------
|
||||||
@echo Executing $(BLUE)$(1)$(WHITE) scripts
|
@echo -e \\t\\tExecuting $(BLUE)$(1)$(WHITE) scripts
|
||||||
@echo $(BOLD)--------------------------------------------------------------------------------
|
@echo $(BOLD)--------------------------------------------------------------------------------
|
||||||
#echo $(WHITE)
|
#echo $(WHITE)
|
||||||
endef
|
endef
|
||||||
|
|
25
jhalfs
25
jhalfs
|
@ -90,10 +90,6 @@ source configuration
|
||||||
[[ $? > 0 ]] && echo "file:configuration did not load.." && exit 1
|
[[ $? > 0 ]] && echo "file:configuration did not load.." && exit 1
|
||||||
[[ $VERBOSITY > 0 ]] && echo "OK"
|
[[ $VERBOSITY > 0 ]] && echo "OK"
|
||||||
|
|
||||||
#--- Envars not sourced from configuration
|
|
||||||
declare -r SVN="svn://svn.linuxfromscratch.org"
|
|
||||||
declare -r LOG=000-masterscript.log
|
|
||||||
|
|
||||||
# These are boolean vars generated from Config.in.
|
# These are boolean vars generated from Config.in.
|
||||||
# ISSUE: If a boolean parameter is not set <true> that
|
# ISSUE: If a boolean parameter is not set <true> that
|
||||||
# variable is not defined by the menu app. This can
|
# variable is not defined by the menu app. This can
|
||||||
|
@ -130,6 +126,10 @@ case $BRANCH_ID in
|
||||||
LFSVRS=${BRANCH_ID}
|
LFSVRS=${BRANCH_ID}
|
||||||
TREE=branches/${BRANCH_ID#branch-}/BOOK
|
TREE=branches/${BRANCH_ID#branch-}/BOOK
|
||||||
;;
|
;;
|
||||||
|
2.4-branch )
|
||||||
|
LFSVRS=${BRANCH_ID}
|
||||||
|
TREE=branches/2.4-branch
|
||||||
|
;;
|
||||||
* )
|
* )
|
||||||
case $PROGNAME in
|
case $PROGNAME in
|
||||||
lfs | hlfs )
|
lfs | hlfs )
|
||||||
|
@ -177,6 +177,10 @@ if [[ "${BLFS_TOOL}" = "y" ]] ; then
|
||||||
TIDY_PATCH="tidy-051026-prevent_PRE_newlines-1.patch"
|
TIDY_PATCH="tidy-051026-prevent_PRE_newlines-1.patch"
|
||||||
TIDY_PATCH_URL="http://www.linuxfromscratch.org/patches/blfs/svn/${TIDY_PATCH}"
|
TIDY_PATCH_URL="http://www.linuxfromscratch.org/patches/blfs/svn/${TIDY_PATCH}"
|
||||||
TIDY_PATCH_MD5="82f67f7af58fc2c945b3410ae655cc1a"
|
TIDY_PATCH_MD5="82f67f7af58fc2c945b3410ae655cc1a"
|
||||||
|
# tidy docs
|
||||||
|
TIDY_DOCS="tidy_docs_051020.tgz"
|
||||||
|
TIDY_DOCS_URL="http://tidy.sourceforge.net/docs/${TIDY_DOCS}"
|
||||||
|
TIDY_DOCS_MD5="86de2f198e57399c063d2567b2a25628"
|
||||||
# unzip
|
# unzip
|
||||||
UNZIP_PKG="unzip552.tar.gz"
|
UNZIP_PKG="unzip552.tar.gz"
|
||||||
UNZIP_URL="ftp://ftp.info-zip.org/pub/infozip/src/${UNZIP_PKG}"
|
UNZIP_URL="ftp://ftp.info-zip.org/pub/infozip/src/${UNZIP_PKG}"
|
||||||
|
@ -223,6 +227,15 @@ if [[ "${BLFS_TOOL}" = "y" ]] ; then
|
||||||
GPM_PATCH_2_MD5="bf6cbefe20c6f15b587f19ebc1c8a37a"
|
GPM_PATCH_2_MD5="bf6cbefe20c6f15b587f19ebc1c8a37a"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
#--- Envars not sourced from configuration
|
||||||
|
case $PROGNAME in
|
||||||
|
clfs* ) declare -r SVN="http://svn.cross-lfs.org/svn/repos" ;;
|
||||||
|
* ) declare -r SVN="svn://svn.linuxfromscratch.org" ;;
|
||||||
|
esac
|
||||||
|
declare -r LOG=000-masterscript.log
|
||||||
|
# Needed to can fetch BLFS book sources when building CLFS
|
||||||
|
declare -r SVN_2="svn://svn.linuxfromscratch.org"
|
||||||
|
|
||||||
# Set true internal variables
|
# Set true internal variables
|
||||||
COMMON_DIR="common"
|
COMMON_DIR="common"
|
||||||
PACKAGE_DIR=$(echo $PROGNAME | tr [a-z] [A-Z])
|
PACKAGE_DIR=$(echo $PROGNAME | tr [a-z] [A-Z])
|
||||||
|
@ -268,7 +281,7 @@ echo "${SD_BORDER}${nl_}"
|
||||||
echo -n "Are you happy with these settings? yes/no (no): "
|
echo -n "Are you happy with these settings? yes/no (no): "
|
||||||
read ANSWER
|
read ANSWER
|
||||||
if [ x$ANSWER != "xyes" ] ; then
|
if [ x$ANSWER != "xyes" ] ; then
|
||||||
echo "${nl_}Fix the configuration options and rerun the script.${nl_}"
|
echo "${nl_}Rerun make to fix the configuration options.${nl_}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "${nl_}${SD_BORDER}${nl_}"
|
echo "${nl_}${SD_BORDER}${nl_}"
|
||||||
|
@ -383,7 +396,7 @@ if [[ "${BLFS_TOOL}" = "y" ]] ; then
|
||||||
echo -n "Downloading the BLFS document, $BLFS_BRANCH_ID version... "
|
echo -n "Downloading the BLFS document, $BLFS_BRANCH_ID version... "
|
||||||
if [[ ! -d ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} ]] ; then
|
if [[ ! -d ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} ]] ; then
|
||||||
mkdir -p ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML}
|
mkdir -p ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML}
|
||||||
svn co $SVN/BLFS/$BLFS_TREE ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} >>$LOGDIR/$LOG 2>&1
|
svn co $SVN_2/BLFS/$BLFS_TREE ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} >>$LOGDIR/$LOG 2>&1
|
||||||
else
|
else
|
||||||
pushd ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} 1> /dev/null
|
pushd ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} 1> /dev/null
|
||||||
svn up >>$LOGDIR/$LOG 2>&1
|
svn up >>$LOGDIR/$LOG 2>&1
|
||||||
|
|
Reference in a new issue