Author: pierre
Date: Sat Jun 20 10:16:22 2020
New Revision: 4179
Log:
Add the multilib book: fixes ticket #1722
Modified:
jhalfs/trunk/Config.in
jhalfs/trunk/LFS/lfs.xsl
jhalfs/trunk/common/libs/func_book_parser
jhalfs/trunk/common/libs/func_wrt_Makefile
Modified: jhalfs/trunk/Config.in
==============================================================================
--- jhalfs/trunk/Config.in Sat Jun 20 10:01:23 2020 (r4178)
+++ jhalfs/trunk/Config.in Sat Jun 20 10:16:22 2020 (r4179)
@@ -124,6 +124,39 @@
help
The full path to a local copy of the book XML sources
+ choice
+ depends on (BOOK_LFS || BOOK_LFS_SYSD) && (BRANCH || WORKING_COPY)
+ prompt "Mutilib"
+ default LFS_MULTILIB_NO
+ config LFS_MULTILIB_NO
+ bool "Standard LFS on i686 or amd64"
+ help
+ Ues standard LFS book (choose this if not multilib source)
+
+ config LFS_MULTILIB_I686
+ bool "Multilib LFS on amd64 with i686 libraries"
+ help
+ Use Multilib LFS book with i686 libraries
+
+ config LFS_MULTILIB_X32
+ bool "Multilib LFS on amd64 with x32 libraries"
+ help
+ Use Multilib LFS book with x32 libraries
+
+ config LFS_MULTILIB_ALL
+ bool "Multilib LFS on amd64 with i686 and x32 libraries"
+ help
+ Use Multilib LFS book with i686 and x32 libraries
+
+ endchoice
+
+ config MULTILIB
+ string
+ default "default" if LFS_MULTILIB_NO
+ default "ml_32" if LFS_MULTILIB_I686
+ default "ml_x32" if LFS_MULTILIB_X32
+ default "ml_all" if LFS_MULTILIB_ALL
+
#--- End BOOK version
#--- CLFS specific params
Modified: jhalfs/trunk/LFS/lfs.xsl
==============================================================================
--- jhalfs/trunk/LFS/lfs.xsl Sat Jun 20 10:01:23 2020 (r4178)
+++ jhalfs/trunk/LFS/lfs.xsl Sat Jun 20 10:16:22 2020 (r4179)
@@ -10,10 +10,6 @@
<!-- Parameters -->
- <!-- which revision attribute to include: can only be sysv or systemd,
- but we leave checking to the caller-->
- <xsl:param name="revision" select="'sysv'"/>
-
<!-- use package management ?
n = no, original behavior
y = yes, add PKG_DEST to scripts in install commands of chapter06-08
@@ -118,9 +114,7 @@
<xsl:template match="chapter">
<xsl:apply-templates select="./sect1[
- (not(@revision) or @revision=$revision) and
- .//screen[(not(@role) or @role != 'nodump') and
- (not(@revision) or @revision=$revision)]/
+ .//screen[not(@role) or @role != 'nodump']/
userinput[not(starts-with(string(),'chroot'))]]">
<xsl:with-param name="chap-num" select="position()+3"/>
</xsl:apply-templates>
@@ -190,12 +184,9 @@
<xsl:with-param name="order" select="$order"/>
</xsl:call-template>
</xsl:if>
- <xsl:apply-templates select="sect2[not(@revision) or
- @revision=$revision] |
- screen[(not(@role) or
- @role!='nodump') and
- (not(@revision) or
- @revision=$revision)]/userinput"/>
+ <xsl:apply-templates
+ select="sect2 |
+ screen[not(@role) or @role!='nodump']/userinput"/>
<xsl:if test="@id='ch-system-creatingdirs' and $pkgmngt='y'">
<xsl:apply-templates
select="document('packageManager.xml')//sect1[
@@ -220,10 +211,7 @@
<xsl:template match="sect2">
<xsl:apply-templates
- select=".//screen[(not(@role) or
- @role != 'nodump') and
- (not(@revision) or
- @revision=$revision)]/userinput[
+ select=".//screen[not(@role) or @role != 'nodump']/userinput[
@remap = 'pre' or
@remap = 'configure' or
@remap = 'make' or
@@ -256,10 +244,8 @@
</xsl:choose>
</xsl:if>
<xsl:apply-templates
- select=".//screen[(not(@role) or
- @role != 'nodump') and
- (not(@revision) or
- @revision=$revision)]/userinput[@remap =
'install']"/>
+ select=".//screen[not(@role) or @role != 'nodump']/
+ userinput[@remap = 'install']"/>
<xsl:if test="ancestor::chapter[@id != 'chapter-temporary-tools'] and
descendant::screen[not(@role) or
@role != 'nodump']/userinput[
@@ -345,17 +331,12 @@
</xsl:choose>
</xsl:if>
<xsl:apply-templates
- select=".//screen[
- (not(@role) or
- @role != 'nodump') and
- (not(@revision) or
- @revision=$revision)
- ]/userinput[
+ select=".//screen[not(@role) or @role != 'nodump']/userinput[
not(@remap) or
@remap='adjust' or
@remap='test' and current()/../@id='ch-tools-dejagnu' or
@remap='test' and current()/../@id='ch-system-systemd'
- ]"/>
+ ]"/>
<xsl:if test="../@id='ch-system-ncurses' and $ncurses5='y'">
<xsl:apply-templates select=".//screen[@role='nodump']"/>
</xsl:if>
Modified: jhalfs/trunk/common/libs/func_book_parser
==============================================================================
--- jhalfs/trunk/common/libs/func_book_parser Sat Jun 20 10:01:23 2020
(r4178)
+++ jhalfs/trunk/common/libs/func_book_parser Sat Jun 20 10:16:22 2020
(r4179)
@@ -156,15 +156,27 @@
;;
lfs)
echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... "
+ # The scripts pages are xincluded by the book, so must
+ # be generated for running xsltproc
pushd $BOOK > /dev/null
if [ -f process-scripts.sh ]; then
bash process-scripts.sh >> $LOGDIR/$LOG 2>&1
fi
popd > /dev/null
+ # First profile the book, for revision and arch. Note that
+ # MULTIBLIB is set to "default" if pure 64 bit book. In this
+ # profiling on arch is useless, but does not hurt either.
xsltproc --nonet \
--xinclude \
- --stringparam revision "$INITSYS" \
+ --stringparam profile.revision "$INITSYS" \
+ --stringparam profile.arch "$MULTILIB" \
+ --output prbook.xml \
+ $BOOK/stylesheets/lfs-xsl/profile.xsl \
+ $BOOK/index.xml >> $LOGDIR/$LOG 2>&1
+
+ # Use the profiled book for generating the scriptlets
+ xsltproc --nonet \
--stringparam testsuite "$TEST" \
--stringparam bomb-testsuite "$BOMB_TEST" \
--stringparam ncurses5 "$NCURSES5" \
@@ -194,7 +206,7 @@
--stringparam script-root "$SCRIPT_ROOT" \
--output ./${PROGNAME}-commands/ \
$XSL \
- $BOOK/index.xml >> $LOGDIR/$LOG 2>&1
+ prbook.xml >> $LOGDIR/$LOG 2>&1
# Remove flags requesting user action in some cases. Much easier here than
# in the stylesheet...
sed -i 's/-iv /-v /' ./${PROGNAME}-commands/chapter??/*kernel*
Modified: jhalfs/trunk/common/libs/func_wrt_Makefile
==============================================================================
--- jhalfs/trunk/common/libs/func_wrt_Makefile Sat Jun 20 10:01:23 2020
(r4178)
+++ jhalfs/trunk/common/libs/func_wrt_Makefile Sat Jun 20 10:16:22 2020
(r4179)
@@ -420,10 +420,9 @@
#----------------------------------#
LUSER_wrt_LogNewFiles() { #
#----------------------------------#
- local name=`echo ${1} | sed 's/[0-9]-//'`
(
cat << EOF
- @\$(call log_new_files_LUSER,$name)
+ @\$(call log_new_files_LUSER,$1)
EOF
) >> $MKFILE.tmp
}
@@ -431,10 +430,9 @@
#----------------------------------#
CHROOT_wrt_LogNewFiles() { #
#----------------------------------#
- local name=`echo ${1} | sed 's/[0-9]-//'`
(
cat << EOF
- @\$(call log_new_files,$name)
+ @\$(call log_new_files,$1)
EOF
) >> $MKFILE.tmp
}
--
http://lists.linuxfromscratch.org/listinfo/alfs-log
Unsubscribe: See the above information page