| Newsgroups |
gmane.linux.lfs.automated |
| Message-ID |
<[email protected]> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch trunk
in repository jhalfs.
commit aceacf2f8596069e6e66e18fb6fa828efa2feecb
Author: Pierre Labastie <[email protected]>
AuthorDate: Tue Sep 12 22:54:51 2023 +0200
Modify kernfs scripts to be able to run them twice
Those scripts could only be run once, because mount errors out
if it tries to mount an already mounted fs (or unmount a non
mounted fs). This changes generation of the scripts so that
any mount is preceded with "mountpoint -q || ", and any umount
is preceded with "mountpoint -q && ".
---
common/kernfs.xsl | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/common/kernfs.xsl b/common/kernfs.xsl
index f47f665..d7043a0 100644
--- a/common/kernfs.xsl
+++ b/common/kernfs.xsl
@@ -16,9 +16,69 @@
</xsl:template>
<xsl:template match="userinput">
- <xsl:apply-templates/>
+ <xsl:call-template name="check-mount">
+ <xsl:with-param name="mytext" select="string()"/>
+ </xsl:call-template>
<xsl:text>
</xsl:text>
</xsl:template>
+ <xsl:template name="check-mount">
+ <xsl:param name="mytext" select="''"/>
+ <xsl:choose>
+ <xsl:when test="contains($mytext,'
')">
+ <xsl:call-template name="check-mount">
+ <xsl:with-param name="mytext"
+ select="substring-before($mytext,'
')"/>
+ </xsl:call-template>
+ <xsl:text>
</xsl:text>
+ <xsl:call-template name="check-mount">
+ <xsl:with-param name="mytext"
+ select="substring-after($mytext,'
')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="starts-with(normalize-space($mytext),'mountpoint')">
+ <xsl:copy-of select="$mytext"/>
+ </xsl:when>
+ <xsl:when test="starts-with(normalize-space($mytext),'mount')">
+ <xsl:variable name="mountpoint">
+ <xsl:call-template name="last-arg">
+ <xsl:with-param name="myline" select="$mytext"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:text>mountpoint -q </xsl:text>
+ <xsl:copy-of select="$mountpoint"/>
+ <xsl:text> || </xsl:text>
+ <xsl:copy-of select="$mytext"/>
+ </xsl:when>
+ <xsl:when test="starts-with(normalize-space($mytext),'umount')">
+ <xsl:variable name="mountpoint">
+ <xsl:call-template name="last-arg">
+ <xsl:with-param name="myline" select="$mytext"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:text>mountpoint -q </xsl:text>
+ <xsl:copy-of select="$mountpoint"/>
+ <xsl:text> && </xsl:text>
+ <xsl:copy-of select="$mytext"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$mytext"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="last-arg">
+ <xsl:param name="myline" select="''"/>
+ <xsl:choose>
+ <xsl:when test="contains($myline,' ')">
+ <xsl:call-template name="last-arg">
+ <xsl:with-param name="myline" select="substring-after($myline,' ')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$myline"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
</xsl:stylesheet>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/alfs-discuss
Unsubscribe: See the above information page