Adaptation for merged LFS books. A few typos with no consequence are corrected too.

This commit is contained in:
Pierre Labastie 2016-05-28 10:00:30 +00:00
parent 061d54fbd5
commit c9598f2108
7 changed files with 150 additions and 88 deletions

View file

@ -8,7 +8,10 @@ menu "--- BOOK Settings"
#-- Select the BOOK/Build style you wish to configure. #-- Select the BOOK/Build style you wish to configure.
config BOOK_LFS config BOOK_LFS
bool "Linux From Scratch" bool "Linux From Scratch System V"
config BOOK_LFS_SYSD
bool "Linux From Scratch systemd"
config BOOK_CLFS config BOOK_CLFS
bool "Cross-Compiled Linux From Scratch" bool "Cross-Compiled Linux From Scratch"
@ -23,9 +26,14 @@ menu "--- BOOK Settings"
# bool "Hardened Linux From Scratch" # bool "Hardened Linux From Scratch"
endchoice endchoice
config INITSYS
string
default "sysv" if BOOK_LFS
default "systemd" if BOOK_LFS_SYSD
config PROGNAME config PROGNAME
string string
default "lfs" if BOOK_LFS default "lfs" if BOOK_LFS || BOOK_LFS_SYSD
default "clfs" if BOOK_CLFS default "clfs" if BOOK_CLFS
default "clfs2" if BOOK_CLFS2 default "clfs2" if BOOK_CLFS2
default "clfs3" if BOOK_CLFS3 default "clfs3" if BOOK_CLFS3
@ -39,11 +47,11 @@ menu "--- BOOK Settings"
#--- Book version #--- Book version
choice choice
prompt "Release" prompt "Release"
default relSVN if BOOK_LFS || BOOK_HLFS default relSVN if BOOK_LFS || BOOK_HLFS || BOOK_LFS_SYSD
default relGIT if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3 default relGIT if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
config relSVN config relSVN
bool "SVN" bool "SVN"
depends on BOOK_LFS || BOOK_HLFS depends on BOOK_LFS || BOOK_HLFS || BOOK_LFS_SYSD
help help
#-- Current development version as in trunk #-- Current development version as in trunk
@ -624,7 +632,7 @@ menu "--- General Settings"
config DEF_USER config DEF_USER
string string
default "lfs" if BOOK_LFS default "lfs" if BOOK_LFS || BOOK_LFS_SYSD
default "clfs" if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3 default "clfs" if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
default "hlfs" if BOOK_HLFS default "hlfs" if BOOK_HLFS
@ -817,7 +825,7 @@ menu "--- Build Settings"
#--- Package Management #--- Package Management
config PKGMNGT config PKGMNGT
bool "Package management" bool "Package management"
depends BOOK_LFS depends BOOK_LFS || BOOK_LFS_SYSD
default n default n
help help
#-- Use package management #-- Use package management

View file

@ -23,9 +23,11 @@ get_book() { #
# Grab a fresh book if it's missing, otherwise, update it from the # Grab a fresh book if it's missing, otherwise, update it from the
# repo. If we've already extracted the commands, move on to getting the # repo. If we've already extracted the commands, move on to getting the
# sources. # sources.
if [ $PROGNAME == "lfs" ] || [ $PROGNAME == "hlfs" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.svn ]; then if [ $PROGNAME == "lfs" ] || [ $PROGNAME == "hlfs" ] &&
[ ! -d ${PROGNAME}-${LFSVRS}/.svn ]; then
svn co $SVN/${svn_root}/${TREE} ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1 svn co $SVN/${svn_root}/${TREE} ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1
elif [ $PROGNAME == "clfs" ] || [ $PROGNAME == "clfs2" ] || [ $PROGNAME == "clfs3" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.git ]; then elif [ $PROGNAME == "clfs" ] || [ $PROGNAME == "clfs2" ] ||
[ $PROGNAME == "clfs3" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.git ]; then
echo $TREE echo $TREE
git clone $GIT ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1 git clone $GIT ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1
if [ ! $TREE == "development" ]; then if [ ! $TREE == "development" ]; then
@ -60,6 +62,13 @@ extract_commands() { #
case $PROGNAME in case $PROGNAME in
clfs*) clfs*)
VERSION=$(xmllint --noent $BOOK/BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; VERSION=$(xmllint --noent $BOOK/BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;;
lfs)
if [ "$INITSYS" = "sysv" ] ; then
VERSION=$(grep 'ENTITY version ' $BOOK/general.ent| cut -d\" -f2)
else
VERSION=$(grep 'ENTITY versiond' $BOOK/general.ent| cut -d\" -f2)
fi
;;
*) *)
VERSION=$(xmllint --noent $BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; VERSION=$(xmllint --noent $BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;;
esac esac
@ -84,7 +93,9 @@ extract_commands() { #
--stringparam sparc $SPARC64_PROC \ --stringparam sparc $SPARC64_PROC \
--stringparam x86 $TARGET \ --stringparam x86 $TARGET \
--stringparam mips $TARGET \ --stringparam mips $TARGET \
-o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 -o ./${PROGNAME}-commands/ \
$XSL \
$BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
;; ;;
clfs2) clfs2)
@ -95,7 +106,9 @@ extract_commands() { #
--stringparam timezone $TIMEZONE \ --stringparam timezone $TIMEZONE \
--stringparam page $PAGE \ --stringparam page $PAGE \
--stringparam lang $LANG \ --stringparam lang $LANG \
-o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 --output ./${PROGNAME}-commands/ \
$XSL \
$BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
;; ;;
clfs3) clfs3)
@ -106,7 +119,9 @@ extract_commands() { #
--stringparam timezone $TIMEZONE \ --stringparam timezone $TIMEZONE \
--stringparam page $PAGE \ --stringparam page $PAGE \
--stringparam lang $LANG \ --stringparam lang $LANG \
-o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 --output ./${PROGNAME}-commands/ \
$XSL \
$BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1
;; ;;
hlfs) hlfs)
@ -117,12 +132,15 @@ extract_commands() { #
--stringparam kernel $KERNEL \ --stringparam kernel $KERNEL \
--stringparam testsuite $TEST \ --stringparam testsuite $TEST \
--stringparam bomb-testsuite $BOMB_TEST \ --stringparam bomb-testsuite $BOMB_TEST \
--stringparam features x$SSP$ASLR$PAX$HARDENED_TMP$WARNINGS$MISC$BLOWFISH \ --stringparam features \
x$SSP$ASLR$PAX$HARDENED_TMP$WARNINGS$MISC$BLOWFISH \
--stringparam timezone $TIMEZONE \ --stringparam timezone $TIMEZONE \
--stringparam page $PAGE \ --stringparam page $PAGE \
--stringparam lang $LANG \ --stringparam lang $LANG \
--stringparam grsecurity_host $GRSECURITY_HOST \ --stringparam grsecurity_host $GRSECURITY_HOST \
-o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 --output ./${PROGNAME}-commands/ \
$XSL \
$BOOK/index.xml >>$LOGDIR/$LOG 2>&1
;; ;;
lfs) lfs)
echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... " echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... "
@ -131,8 +149,15 @@ extract_commands() { #
bash process-scripts.sh >> $LOGDIR/$LOG 2>&1 bash process-scripts.sh >> $LOGDIR/$LOG 2>&1
fi fi
popd > /dev/null popd > /dev/null
xsltproc --nonet \ xsltproc --nonet \
--xinclude \ --xinclude \
--output /tmp/lfs-full.xml \
--stringparam profile.revision $INITSYS \
$BOOK/stylesheets/lfs-xsl/profile.xsl \
$BOOK/index.xml
xsltproc --nonet \
--stringparam testsuite $TEST \ --stringparam testsuite $TEST \
--stringparam bomb-testsuite $BOMB_TEST \ --stringparam bomb-testsuite $BOMB_TEST \
--stringparam vim-lang $VIMLANG \ --stringparam vim-lang $VIMLANG \
@ -141,7 +166,11 @@ extract_commands() { #
--stringparam page $PAGE \ --stringparam page $PAGE \
--stringparam lang $LANG \ --stringparam lang $LANG \
--stringparam pkgmngt $PKGMNGT \ --stringparam pkgmngt $PKGMNGT \
-o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 --output ./${PROGNAME}-commands/ \
$XSL \
/tmp/lfs-full.xml >>$LOGDIR/$LOG 2>&1
rm /tmp/lfs-full.xml
;; ;;
*) echo -n " ${L_arrow}${PROGNAME}${R_arrow} book invalid, terminate build... " *) echo -n " ${L_arrow}${PROGNAME}${R_arrow} book invalid, terminate build... "
exit 1 ;; exit 1 ;;
@ -172,20 +201,25 @@ create_package_list() { #
echo -n "... " echo -n "... "
case ${PROGNAME} in case ${PROGNAME} in
clfs*) clfs*)
xsltproc --nonet --xinclude -o pkg_tarball_list packages.xsl \ xsltproc --nonet --xinclude \
-o pkg_tarball_list \
packages.xsl \
$BOOK/BOOK/materials/${ARCH}-chapter.xml >>$LOGDIR/$LOG 2>&1 $BOOK/BOOK/materials/${ARCH}-chapter.xml >>$LOGDIR/$LOG 2>&1
;; ;;
hlfs) hlfs)
xsltproc --nonet --xinclude \ xsltproc --nonet --xinclude \
--stringparam model $MODEL \ --stringparam model $MODEL \
--stringparam kernel $KERNEL \ --stringparam kernel $KERNEL \
-o pkg_tarball_list packages.xsl \ --output pkg_tarball_list \
packages.xsl \
$BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1 $BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1
;; ;;
lfs) lfs)
xsltproc --nonet --xinclude \ xsltproc --nonet --xinclude \
--stringparam pkgmngt $PKGMNGT \ --stringparam pkgmngt $PKGMNGT \
-o pkg_tarball_list packages.xsl \ --stringparam revision $INITSYS \
--output pkg_tarball_list \
packages.xsl \
$BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1 $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1
;; ;;
*) *)

View file

@ -153,7 +153,8 @@ create_urls() { #
xsltproc --nonet --xinclude \ xsltproc --nonet --xinclude \
--stringparam server $SERVER \ --stringparam server $SERVER \
--stringparam family clfs \ --stringparam family clfs \
-o $BUILDDIR/sources/urls.lst urls.xsl \ -o $BUILDDIR/sources/urls.lst \
urls.xsl \
$BOOK/BOOK/materials/$ARCH-chapter.xml >>$LOGDIR/$LOG 2>&1 $BOOK/BOOK/materials/$ARCH-chapter.xml >>$LOGDIR/$LOG 2>&1
echo " ...OK" echo " ...OK"
;; ;;
@ -164,7 +165,8 @@ create_urls() { #
--stringparam family lfs \ --stringparam family lfs \
--stringparam model $MODEL \ --stringparam model $MODEL \
--stringparam kernel $KERNEL \ --stringparam kernel $KERNEL \
-o $BUILDDIR/sources/urls.lst urls.xsl \ -o $BUILDDIR/sources/urls.lst \
urls.xsl \
$BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1 $BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1
echo " ...OK" echo " ...OK"
;; ;;
@ -174,7 +176,9 @@ create_urls() { #
--stringparam server $SERVER \ --stringparam server $SERVER \
--stringparam family lfs \ --stringparam family lfs \
--stringparam pkgmngt $PKGMNGT \ --stringparam pkgmngt $PKGMNGT \
-o ../sources/urls.lst urls.xsl \ --stringparam revision $INITSYS \
--output ../sources/urls.lst \
urls.xsl \
$BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1 $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1
echo " ...OK" echo " ...OK"
;; ;;

View file

@ -31,7 +31,7 @@ inline_doc
local -r ADVANCED_common="REPORT REBUILD_MAKEFILE" local -r ADVANCED_common="REPORT REBUILD_MAKEFILE"
# BOOK Settings by book # BOOK Settings by book
local -r LFS_book="$BOOK_common BLFS_TOOL" local -r LFS_book="$BOOK_common REV BLFS_TOOL"
#local -r HLFS_added="SET_SSP SET_ASLR SET_PAX SET_HARDENED_TMP SET_WARNINGS \ #local -r HLFS_added="SET_SSP SET_ASLR SET_PAX SET_HARDENED_TMP SET_WARNINGS \
# SET_MISC SET_BLOWFISH" # SET_MISC SET_BLOWFISH"
local -r HLFS_added="" local -r HLFS_added=""

View file

@ -8,13 +8,16 @@
<xsl:output method="text"/> <xsl:output method="text"/>
<!-- The libc model used for HLFS --> <!-- The libc model used for HLFS -->
<xsl:param name="model" select="glibc"/> <xsl:param name="model" select="'glibc'"/>
<!-- The kernel series used for HLFS --> <!-- The kernel series used for HLFS -->
<xsl:param name="kernel" select="2.6"/> <xsl:param name="kernel" select="'2.6'"/>
<!-- Should we include a package manager --> <!-- Should we include a package manager? -->
<xsl:param name="pkgmngt" select="n"/> <xsl:param name="pkgmngt" select="'n'"/>
<!-- The system for LFS: sysv of systemd -->
<xsl:param name="revision" select="'sysv'"/>
<xsl:template match="/"> <xsl:template match="/">
<xsl:apply-templates select="//para"/> <xsl:apply-templates select="//para"/>
@ -28,6 +31,8 @@
<xsl:if test="contains(string(),'Download:') and <xsl:if test="contains(string(),'Download:') and
(ancestor::varlistentry[@condition=$model] (ancestor::varlistentry[@condition=$model]
or not(ancestor::varlistentry[@condition])) and or not(ancestor::varlistentry[@condition])) and
(ancestor::varlistentry[@revision=$revision]
or not(ancestor::varlistentry[@revision])) and
(ancestor::varlistentry[@vendor=$kernel] (ancestor::varlistentry[@vendor=$kernel]
or not(ancestor::varlistentry[@vendor]))"> or not(ancestor::varlistentry[@vendor]))">
<xsl:call-template name="package_name"> <xsl:call-template name="package_name">

View file

@ -14,16 +14,20 @@
<xsl:param name="family">lfs</xsl:param> <xsl:param name="family">lfs</xsl:param>
<!-- The libc model used for HLFS --> <!-- The libc model used for HLFS -->
<xsl:param name="model" select="glibc"/> <xsl:param name="model" select="'glibc'"/>
<!-- The kernel series used for HLFS --> <!-- The kernel series used for HLFS -->
<xsl:param name="kernel" select="2.6"/> <xsl:param name="kernel" select="'2.6'"/>
<!-- Do we use a package manager? --> <!-- Do we use a package manager? -->
<xsl:param name="pkgmngt" select="n"/> <xsl:param name="pkgmngt" select="'n'"/>
<!-- The system for LFS: sysv of systemd -->
<xsl:param name="revision" select="'sysv'"/>
<xsl:template match="/"> <xsl:template match="/">
<xsl:apply-templates select="//ulink"/> <xsl:apply-templates select="//varlistentry[@revision=$revision
or not(@revision)]//ulink"/>
<xsl:if test="$pkgmngt='y'"> <xsl:if test="$pkgmngt='y'">
<xsl:apply-templates <xsl:apply-templates
select="document('packageManager.xml')//ulink"/> select="document('packageManager.xml')//ulink"/>

7
jhalfs
View file

@ -440,6 +440,13 @@ if [[ "$REBUILD_MAKEFILE" = "y" ]] ; then
case $PROGNAME in case $PROGNAME in
clfs* ) clfs* )
VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;;
lfs)
if [[ "$INITSYS" = "sysv" ]] ; then
VERSION=$(grep 'ENTITY version ' $JHALFSDIR/$BOOK/general.ent| cut -d\" -f2)
else
VERSION=$(grep 'ENTITY versiond' $JHALFSDIR/$BOOK/general.ent| cut -d\" -f2)
fi
;;
*) *)
VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;;
esac esac