jhalfs git · trunk
jhalfs LFS build automation (mirror)
Python 78.4% Shell 19.8% Makefile 1.8%git clone https://git.christianimmanuel.de/mirrors-forks/jhalfs.gitwget https://git.christianimmanuel.de/mirrors-forks/jhalfs/archive/jhalfs.tar.gzAdd comments after adding kf5 and plasma to special
BLFS/xsl/gen_config.xsl | 1 + BLFS/xsl/gen_pkg_list.xsl | 2 +- BLFS/xsl/make_book.xsl | 40 +++++++++++++++++----------------------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/BLFS/xsl/gen_config.xsl b/BLFS/xsl/gen_config.xsl index 71e5c66..d3326f8 100644 --- a/BLFS/xsl/gen_config.xsl +++ b/BLFS/xsl/gen_config.xsl @@ -309,6 +309,7 @@ if	MENU_</xsl:text> <xsl:text>" 			default	</xsl:text> <xsl:choose> + <!-- for compound packages, default to selecting all the subpackages--> <xsl:when test="contains(../name,'xorg') or contains(../name,'plasma') or contains(../name,'kf5')"> diff --git a/BLFS/xsl/gen_pkg_list.xsl b/BLFS/xsl/gen_pkg_list.xsl index e3e0ef6..b7426d1 100644 --- a/BLFS/xsl/gen_pkg_list.xsl +++ b/BLFS/xsl/gen_pkg_list.xsl @@ -358,7 +358,7 @@ <xsl:when test="ancestor::*[@id=current()/@linkend]"/> <!-- do not depend on something which is not a dependency --> <xsl:when test="@role='nodep'"/> -<!-- Call list expansion when we have an xorg7 series of packages --> +<!-- Call list expansion when we have a compound package --> <xsl:when test="contains(@linkend,'xorg7-') or @linkend='kf5-frameworks' or @linkend='plasma5-build'"> diff --git a/BLFS/xsl/make_book.xsl b/BLFS/xsl/make_book.xsl index 129e1cc..fc79e14 100644 --- a/BLFS/xsl/make_book.xsl +++ b/BLFS/xsl/make_book.xsl @@ -59,7 +59,8 @@ Those nodes can be sect1 (normal case), sect2 (python/perl modules/dependencies ) The templates after this one treat each of those cases. - However, some items are xorg package names, and not id. + However, some items are sub-packages of compound packages (xorg7-*, + kf5, plasma), and not id. We need special instructions in that case. The difficulty is that some of those names *are* id's, because they are referenced in the index. @@ -68,6 +69,7 @@ <xsl:param name="list" select="''"/> <xsl:if test="string-length($list) > 0"> <xsl:choose> + <!-- iterate if there are several packages in list --> <xsl:when test="contains($list,' ')"> <xsl:call-template name="apply-list"> <xsl:with-param name="list" @@ -78,6 +80,8 @@ select="substring-after($list,' ')"/> </xsl:call-template> </xsl:when> + <!-- From now on, $list contains only one package --> + <!-- If it is a group, do nothing --> <xsl:when test="contains($list,'groupxx')"/> <xsl:otherwise> <xsl:variable name="is-lfs"> @@ -88,6 +92,7 @@ </xsl:variable> <xsl:choose> <xsl:when test="$is-lfs='true'"> + <!-- LFS package --> <xsl:message> <xsl:value-of select="$list"/> <xsl:text> is an lfs package</xsl:text> @@ -109,14 +114,16 @@ <xsl:apply-templates select="id($real-id)" mode="pass1-sect2"/> </xsl:if> </xsl:when> - <xsl:when test="not(id($list)[self::sect1 or self::sect2 or self::para or self::bridgehead])"> + <xsl:when test="not(id($list)[self::sect1 or self::sect2])"> + <!-- This is a sub-package: parse the corresponding compound + package--> <xsl:apply-templates select="//sect1[(contains(@id,'xorg7') or contains(@id,'frameworks') or contains(@id,'plasma5')) and .//userinput/literal[contains(string(), concat($list,'-'))]]" - mode="xorg"> + mode="compound"> <xsl:with-param name="package" select="$list"/> </xsl:apply-templates> </xsl:when> @@ -495,19 +502,8 @@ <!-- we have got an xorg package. We are at the installation page but now we need to make an autonomous page from the global one --> - <xsl:template match="sect1" mode="xorg"> + <xsl:template match="sect1" mode="compound"> <xsl:param name="package"/> - <!--DEBUG - <xsl:message> - <xsl:text>Entering sect1 template in xorg mode: -- page id:</xsl:text> - <xsl:value-of select="@id"/> - <xsl:text> -- package:</xsl:text> - <xsl:value-of select="$package"/> - <xsl:text> -</xsl:text> - </xsl:message> END DEBUG --> <xsl:variable name="tarball"> <xsl:call-template name="tarball"> <xsl:with-param name="package" select="concat(' ',$package,'-')"/> @@ -618,16 +614,14 @@ <!-- get the tarball name from the text that comes from the .md5 file --> <xsl:template name="tarball"> + <!-- $package must start with a space, and finish with a "-", to be + sure to match exactly the package. Note that if we have two + packages named e.g. "pkg1" and "pkg1-add", the second one may be + matched by " pkg1-". So this only works if "pkg1" comes before + "pkg1-add" in the md5 file. Presently this is the case in the book... + --> <xsl:param name="package"/> <xsl:param name="cat-md5"/> -<!-- DEBUG -<xsl:message><xsl:text>Entering "tarball" template: - package is: </xsl:text> -<xsl:value-of select="$package"/><xsl:text> - cat-md5 is: </xsl:text> -<xsl:value-of select="$cat-md5"/> -</xsl:message> -END DEBUG --> <xsl:choose> <xsl:when test="contains(substring-before($cat-md5,$package),'
')"> <xsl:call-template name="tarball">