[jhalfs] branch ablfs-more updated: Add a script for plasma post-install instructions

"Git Owner" ([email protected] via alfs-discuss Mailing List) <[email protected]>
Newsgroups gmane.linux.lfs.automated
Message-ID <169887816844.21770.2735878094335997157@rivendell.linuxfromscratch.org>
This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch ablfs-more
in repository jhalfs.

The following commit(s) were added to refs/heads/ablfs-more by this push:
     new f6420b0  Add a script for plasma post-install instructions
f6420b0 is described below

commit f6420b0ff593b395295b946d51005b72c14f0601
Author: Pierre Labastie <[email protected]>
AuthorDate: Wed Nov 1 23:34:23 2023 +0100

    Add a script for plasma post-install instructions
    
    This is needed the first time plasma is installed. There are
    some links from /usr/share to $KF5_PREFIX, and also the
    pam.d files.
---
 BLFS/gen-special.sh    | 25 +++++++++++++++++++
 BLFS/xsl/make_book.xsl | 65 ++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 88 insertions(+), 2 deletions(-)

diff --git a/BLFS/gen-special.sh b/BLFS/gen-special.sh
index 7f34fff..533bdff 100755
--- a/BLFS/gen-special.sh
+++ b/BLFS/gen-special.sh
@@ -194,6 +194,31 @@ EOF
 #EOF
     precpack=$packname
   done
+# We need a dummy package for plasma post install instructions
+  if [ $(basename $file .xml) = plasma-all ]; then
+    cat >>$SPECIAL_FILE << EOF
+        <module><xsl:text>&#xA;          </xsl:text>
+          <xsl:element name="name">plasma-post-install</xsl:element>
+          <xsl:element name="version">1.0.0</xsl:element>
+          <xsl:if test="document(\$installed-packages)//package[name='$packname']">
+            <xsl:element name="inst-version">
+              <xsl:value-of
+                select="document(\$installed-packages
+                                )//package[name='$packname']/version"/>
+            </xsl:element>
+          </xsl:if>
+<!-- Dependencies -->
+          <xsl:element name="dependency">
+            <xsl:attribute name="status">required</xsl:attribute>
+            <xsl:attribute name="build">before</xsl:attribute>
+            <xsl:attribute name="name">$precpack</xsl:attribute>
+            <xsl:attribute name="type">ref</xsl:attribute>
+          </xsl:element>
+<!-- End dependencies -->
+        </module>
+EOF
+  fi
+
   cat >>$SPECIAL_FILE << EOF
      </package>
    </xsl:when>
diff --git a/BLFS/xsl/make_book.xsl b/BLFS/xsl/make_book.xsl
index 960627a..3cf4401 100644
--- a/BLFS/xsl/make_book.xsl
+++ b/BLFS/xsl/make_book.xsl
@@ -64,7 +64,9 @@
      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.
-     Hopefully, none of those id's are sect{1,2}...-->
+     Hopefully, none of those id's are sect{1,2}...
+     We also need a special template for plasma-post-install,
+     because this one is not an id at all!-->
   <xsl:template name="apply-list">
     <xsl:param name="list" select="''"/>
     <xsl:if test="string-length($list) &gt; 0">
@@ -114,6 +116,11 @@
                 <xsl:apply-templates select="id($real-id)" mode="pass1-sect2"/>
               </xsl:if>
             </xsl:when>
+            <xsl:when test="$list='plasma-post-install'">
+              <xsl:apply-templates
+                select="//sect1[@id='plasma5-build']"
+                mode="plasma-post-install"/>
+            </xsl:when>
             <xsl:when test="not(id($list)[self::sect1 or self::sect2])">
               <!-- This is a sub-package: parse the corresponding compound
                    package-->
@@ -123,7 +130,7 @@
                                  contains(@id,'plasma5'))
                                  and .//userinput/literal[contains(string(),
                                             concat($list,'-'))]]"
-                   mode="compound">
+                 mode="compound">
                 <xsl:with-param name="package" select="$list"/>
               </xsl:apply-templates>
             </xsl:when>
@@ -752,4 +759,58 @@ name=$(echo $packagedir | sed 's/-[[:digit:]].*//')
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
+
+  <xsl:template match="sect1" mode="plasma-post-install">
+    <xsl:variable name="package" select="'plasma-post-install'"/>
+    <xsl:element name="sect1">
+      <xsl:attribute name="id">
+        <xsl:value-of select="$package"/>
+      </xsl:attribute>
+      <xsl:processing-instruction name="dbhtml">
+         filename="<xsl:value-of select='$package'/>.html"
+      </xsl:processing-instruction>
+      <title><xsl:value-of select="$package"/></title>
+      <sect2 role="installation">
+        <title>Installation of <xsl:value-of select="$package"/></title>
+
+        <para>
+          Install <application><xsl:value-of select="$package"/></application>
+          by running the following commands:
+        </para>
+        <screen role="root">
+          <userinput>
+            <xsl:call-template name="plasma-sessions">
+              <xsl:with-param
+                name="p-sessions-text"
+                select="string(.//userinput[contains(text(),'xsessions')])"/>
+            </xsl:call-template>
+          </userinput>
+        </screen>
+        <xsl:copy-of select=".//screen[@role='root']"/>
+      </sect2>
+    </xsl:element><!-- sect1 -->
+  </xsl:template>
+
+  <xsl:template name="plasma-sessions">
+    <xsl:param name="p-sessions-text"/>
+    <xsl:choose>
+      <xsl:when test="string-length($p-sessions-text)=0"/>
+      <xsl:when test="contains($p-sessions-text,'as_root')">
+        <xsl:call-template name="plasma-sessions">
+          <xsl:with-param
+            name="p-sessions-text"
+            select="substring-before($p-sessions-text,'as_root')"/>
+        </xsl:call-template>
+        <xsl:call-template name="plasma-sessions">
+          <xsl:with-param
+            name="p-sessions-text"
+            select="substring-after($p-sessions-text,'as_root ')"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy-of select="$p-sessions-text"/>
+      </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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.