6 # From common/common-functions
8 declare -r BLACK
=$
'\e[1;30m'
9 declare -r DK_GRAY
=$
'\e[0;30m'
11 declare -r RED
=$
'\e[31m'
12 declare -r GREEN
=$
'\e[32m'
13 declare -r YELLOW
=$
'\e[33m'
14 declare -r BLUE
=$
'\e[34m'
15 declare -r MAGENTA
=$
'\e[35m'
16 declare -r CYAN
=$
'\e[36m'
17 declare -r WHITE
=$
'\e[37m'
19 declare -r OFF
=$
'\e[0m'
20 declare -r BOLD
=$
'\e[1m'
21 declare -r REVERSE
=$
'\e[7m'
22 declare -r HIDDEN
=$
'\e[8m'
27 declare -r DD_BORDER
="${BOLD}==============================================================================${OFF}"
28 declare -r SD_BORDER
="${BOLD}------------------------------------------------------------------------------${OFF}"
29 declare -r STAR_BORDER
="${BOLD}******************************************************************************${OFF}"
31 # bold yellow > < pair
32 declare -r R_arrow
=$
'\e[1;33m>\e[0m'
33 declare -r L_arrow
=$
'\e[1;33m<\e[0m'
36 #>>>>>>>>>>>>>>>ERROR TRAPPING >>>>>>>>>>>>>>>>>>>>
37 #-----------------------#
38 simple_error
() { # Basic error trap.... JUST DIE
39 #-----------------------#
40 # If +e then disable text output
41 if [[ "$-" =~ e
]]; then
42 echo -e "\n${RED}ERROR:${GREEN} basic error trapped!${OFF}\n" >&2
47 echo -e "\n${L_arrow}${BOLD}jhalfs-trunk${R_arrow} exit${OFF}\n"
49 ##### Simple error TRAPS
54 # SIGINT 2 INTRERRUPT FROM KEYBOARD Ctrl-C
57 # SIGTERM 15 TERMINATION
58 # SIGSTOP 17,18,23 STOP THE PROCESS
63 trap 'echo -e "\n\n${RED}INTERRUPT${OFF} trapped\n" && exit 2' 1 2 3 15 17 18 23
64 #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
66 # envars not sourced from configuration file
70 [[ $VERBOSITY > 0 ]] && echo -n "Loading config params from <configuration>..."
72 [[ $?
> 0 ]] && echo "file:configuration did not load.." && exit 1
73 [[ $VERBOSITY > 0 ]] && echo "OK"
75 [[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_check_version.sh>..."
76 source $COMMON_DIR/libs
/func_check_version.sh
77 [[ $?
> 0 ]] && echo " function module did not load.." && exit 2
78 [[ $VERBOSITY > 0 ]] && echo "OK"
80 [[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_validate_configs.sh>..."
81 source $COMMON_DIR/libs
/func_validate_configs.sh
82 [[ $?
> 0 ]] && echo " function module did not load.." && exit 2
83 [[ $VERBOSITY > 0 ]] && echo "OK"
84 [[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}"
86 # Be sure that we have a configuration file
87 [[ -z $BOOK_BLFS ]] && echo -e "\nNo BLFS configuration found. Please configure it." && exit 1
89 # Set default book version
90 BRANCH_ID
=${BRANCH_ID:=development}
94 development
) TREE
=trunk
/BOOK
;;
95 *EDIT
* ) echo " You forgot to set the branch or stable book version."
96 echo " Please rerun make and fix the configuration."
98 branch-
* ) TREE
=branches
/${BRANCH_ID#branch-}/BOOK
;;
99 * ) TREE
=tags
/${BRANCH_ID} ;;
102 # Check for minimun dependencies versions
103 xsltprocVer
=`xsltproc -V | head -n1 `
104 libxmlVer
=$
(echo $xsltprocVer | cut
-d " " -f3)
105 libxsltVer
=$
(echo $xsltprocVer | cut
-d " " -f5)
106 tidyVer
=`tidy -V | cut -d " " -f9`
108 # Version numbers are packed strings not xx.yy.zz format.
109 check_version
"2.06.20" "${libxmlVer:0:1}.${libxmlVer:1:2}.${libxmlVer:3:2}" "LIBXML2"
110 check_version
"1.01.14" "${libxsltVer:0:1}.${libxsltVer:1:2}.${libxsltVer:3:2}" "LIBXSLT"
111 check_version
"2004" "${tidyVer}" "TIDY"
113 XML_FILE
="<?xml version='1.0' encoding='ISO-8859-1'?>
114 <?xml-stylesheet type='text/xsl' href='http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/docbook.xsl'?>
115 <!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
116 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
118 <title>Test file</title>
120 <title>Some title</title>
121 <para>Some text</para>
125 if `echo $XML_FILE | xmllint -noout -postvalid - 2>/dev/null` ; then
126 check_version
"4.5" "4.5" "DocBook XML DTD"
128 echo "Warning: not found a working DocBook XML DTD 4.5 installation"
132 # if `echo $XML_FILE | xsltproc --noout - 2>/dev/null` ; then
133 # check_version "1.69.1" "1.69.1" "DocBook XSL"
135 # echo "Warning: not found a working DocBook XSL 1.69.1 installation"
139 echo "${SD_BORDER}${nl_}"
141 # For consistency with other books
143 echo "${SD_BORDER}${nl_}"
144 echo -n "Are you happy with these settings? yes/no (no): "
146 if [ x
$ANSWER != "xyes" ] ; then
147 echo "${nl_}Rerun make to fix the configuration options.${nl_}"
150 echo "${nl_}${SD_BORDER}${nl_}"
153 [[ ! -d $BLFS_ROOT ]] && mkdir
-p $BLFS_ROOT
155 cp -r BLFS
/* $BLFS_ROOT
156 cp -r menu
$BLFS_ROOT
157 cp $COMMON_DIR/progress_bar.sh
$BLFS_ROOT
158 cp README.BLFS
$BLFS_ROOT
166 rm -rf menu
/lxdialog
/.svn
169 # Set some harcoded envars to their proper values
170 sed -i 's,blfs-xml,'$BLFS_XML',' update_book.sh libs
/book.xsl
171 sed -i 's,tracking-dir,'$TRACKING_DIR',' update_book.sh gen-makefile.sh
173 # Fetch book sources and create packages and meta-packages dependencies files
174 if [[ -d $BLFS_XML ]] ; then
177 .
/update_book.sh get
$BLFS_XML $TREE
180 # Run the menuconfig interface