Changes in / [35094ed:ca368ad]


Ignore:
Location:
BLFS
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • BLFS/gen-special.sh

    r35094ed rca368ad  
    6060# Non-versionned packages. Add to NV_LIST if you need more.
    6161for nv_id in $NV_LIST; do
     62# Actually, kf5-intro contains some version info, so should be
     63# versioned. For other packages, we define version to 1.0.0
     64# because the DTD needs a version tag.
     65  DUM_VER=1.0.0
     66  if [ $nv_id = kf5-intro ]; then
     67    DUM_VER=$(grep kf5-version $BLFS_DIR/packages.ent | \
     68              sed 's/[^"]*"\([^"]*\).*/\1/')
     69  fi
    6270  cat >>$SPECIAL_FILE << EOF
    6371    <xsl:when test="@id='$nv_id'">
     
    6674        <xsl:element name="name">$nv_id</xsl:element>
    6775        <xsl:text>&#xA;        </xsl:text>
    68         <xsl:element name="version">1.0.0</xsl:element>
     76        <xsl:element name="version">$DUM_VER</xsl:element>
    6977        <xsl:if
    7078            test="document(\$installed-packages)//package[name=current()/@id]">
     
    8896done
    8997
    90 # Taking packages inside x7proto etc, as versionned modules.
     98# Taking packages contained in pages installing several packages (x7* except
     99# x7driver, kf5-frameworks, and plasma5-all), as versionned modules.
    91100# We also write a dependency expansion when a dep is of the form
    92 # xorg7-something. Since that is another template, we need
    93 # a temporary file, which we shall concatenate at the end
     101# xorg7-something or kf5-frameworks or plasma5-build. Since that is another
     102# template, we need a temporary file, which we shall concatenate at the end
    94103cat >tmpfile << EOF
    95104  <xsl:template name="expand-deps">
     
    99108    <xsl:choose>
    100109EOF
    101 for file in $(ls ${BLFS_DIR}/x/installing/x7* | grep -v x7driver); do
     110for file in $(ls ${BLFS_DIR}/x/installing/x7* | grep -v x7driver) \
     111            ${BLFS_DIR}/kde/kf5/kf5-frameworks.xml                \
     112            ${BLFS_DIR}/kde/plasma5/plasma-all.xml; do
    102113  id=$(grep xreflabel $file | sed 's@.*id="\([^"]*\).*@\1@')
    103114  cat >>$SPECIAL_FILE << EOF
     
    111122      <xsl:when test="\$section='$id'">
    112123EOF
    113 # We extract the list of packages for an xorg page from
    114 # the version part of the .xml file. Seems that
    115 # the order is not always the same as in the "cat" command.
    116 # So we have to read that command too, since it may be assumed
     124# We extract the list of packages for those pages from
     125# the "cat" command that creates the md5 file. We assume
    117126# that the preceding package is a dependency of the following,
    118127# except the first.
    119   list_cat="$(sed -n '/>cat/,/EOF</p' $file | grep -v 'cat\|EOF\|#' |
     128# note that some pages may have several "cat" command, so we have to
     129# make a complex regex for the first line to save. All those lines have
     130# .md5 in them except the one for x7legacy that has .dat.
     131# we need also to remove lines beginning with #.
     132# Note that only xorg pages have '&' in them. So for kde
     133# pages, what is extracted it the full tarball name.
     134  list_cat="$(sed -n '/>cat.*\.\(md5\|dat\)/,/EOF</p' $file | \
     135              grep -v '>cat\|EOF<\|#' | \
    120136              awk '{ print $NF }' | sed 's/-&.*//')"
    121137
    122 # Rationale for the sed below: the following for breaks words at spaces (unless
    123 # we tweak IFS). So replace spaces with commas in lines so that only newlines
    124 # are separators.
    125   for pack in \
    126       $(grep 'ENTITY.*version' $file | sed 's/[ ]\+/,/g'); do
    127     packname=$(echo $pack | sed s'@.*ENTITY,\(.*\)-version.*@\1@')
    128     packversion=$(echo $pack | sed 's@[^"]*"\([^"]*\).*@\1@')
    129     precpack=NONE
    130     for i in $list_cat; do
    131       if [ "$i" = "$packname" ]; then break; fi
    132       precpack=$i
    133     done
    134 # It may happen that packname is not in list_cat, because its entity
    135 # is commented out in the xml, but we do not check that (too complicated).
    136 # In that case, the whole list is scanned, and $precpack=$i at the end.
    137 # when packname is found in the list $precpack!=$i.
    138     if [ "$precpack" = "$i" ]; then continue; fi
     138  precpack=NONE
     139  for pack in $list_cat; do
     140    if grep -q x7 $file; then # this is an xorg package
     141      packname=$pack
     142# We extract the version from the ENTITY parts of the .xml file.
     143      packversion=$(grep "ENTITY ${pack}-version" $file | \
     144                    sed 's@[^"]*"\([^"]*\).*@\1@')
     145    else
     146      packname=${pack%-[[:digit:]]*}
     147      packversion=$(echo $pack | sed 's/[^.]*-\([.[:digit:]]*\)\.tar.*/\1/')
     148    fi
    139149    cat >>$SPECIAL_FILE << EOF
    140150        <module><xsl:text>&#xA;          </xsl:text>
     
    185195    precpack=$packname
    186196  done
     197# We need a dummy package for plasma post install instructions
     198  if [ $(basename $file .xml) = plasma-all ]; then
     199    cat >>$SPECIAL_FILE << EOF
     200        <module><xsl:text>&#xA;          </xsl:text>
     201          <xsl:element name="name">plasma-post-install</xsl:element>
     202          <xsl:element name="version">1.0.0</xsl:element>
     203          <xsl:if test="document(\$installed-packages)//package[name='$packname']">
     204            <xsl:element name="inst-version">
     205              <xsl:value-of
     206                select="document(\$installed-packages
     207                                )//package[name='$packname']/version"/>
     208            </xsl:element>
     209          </xsl:if>
     210<!-- Dependencies -->
     211          <xsl:element name="dependency">
     212            <xsl:attribute name="status">required</xsl:attribute>
     213            <xsl:attribute name="build">before</xsl:attribute>
     214            <xsl:attribute name="name">$precpack</xsl:attribute>
     215            <xsl:attribute name="type">ref</xsl:attribute>
     216          </xsl:element>
     217<!-- End dependencies -->
     218        </module>
     219EOF
     220  fi
     221
    187222  cat >>$SPECIAL_FILE << EOF
    188223     </package>
  • BLFS/xsl/gen_config.xsl

    r35094ed rca368ad  
    310310&#9;&#9;&#9;default&#9;</xsl:text>
    311311      <xsl:choose>
    312         <xsl:when test="contains(../name,'xorg')">
     312      <!-- for compound packages, default to selecting all the subpackages-->
     313        <xsl:when test="contains(../name,'xorg') or
     314                        contains(../name,'plasma') or
     315                        contains(../name,'kf5')">
    313316          <xsl:text>y
    314317
  • BLFS/xsl/gen_pkg_list.xsl

    r35094ed rca368ad  
    359359<!-- do not depend on something which is not a dependency -->
    360360        <xsl:when test="@role='nodep'"/>
    361 <!-- Call list expansion when we have an xorg7 series of packages -->
    362         <xsl:when test="contains(@linkend,'xorg7-')">
     361<!-- Call list expansion when we have a compound package -->
     362        <xsl:when test="contains(@linkend,'xorg7-') or
     363                        @linkend='kf5-frameworks' or
     364                        @linkend='plasma5-build'">
    363365          <xsl:call-template name="expand-deps">
    364366            <xsl:with-param name="section">
  • BLFS/xsl/make_book.xsl

    r35094ed rca368ad  
    5858     Normally, those items are id of nodes.
    5959     Those nodes can be sect1 (normal case),
    60      sect2 (python modules or DBus bindings)
    61      bridgehead (perl modules)
    62      para (dependency of perl modules).
     60     sect2 (python/perl modules/dependencies )
    6361     The templates after this one treat each of those cases.
    64      However, some items are xorg package names, and not id.
     62     However, some items are sub-packages of compound packages (xorg7-*,
     63     kf5, plasma), and not id.
    6564     We need special instructions in that case.
    6665     The difficulty is that some of those names *are* id's,
    6766     because they are referenced in the index.
    68      Hopefully, none of those id's are sect{1,2}, bridgehead or para...-->
     67     Hopefully, none of those id's are sect{1,2}...
     68     We also need a special template for plasma-post-install,
     69     because this one is not an id at all!-->
    6970  <xsl:template name="apply-list">
    7071    <xsl:param name="list" select="''"/>
    7172    <xsl:if test="string-length($list) &gt; 0">
    7273      <xsl:choose>
     74        <!-- iterate if there are several packages in list -->
    7375        <xsl:when test="contains($list,' ')">
    7476          <xsl:call-template name="apply-list">
     
    8183          </xsl:call-template>
    8284        </xsl:when>
     85        <!-- From now on, $list contains only one package -->
     86        <!-- If it is a group, do nothing -->
    8387        <xsl:when test="contains($list,'groupxx')"/>
    8488        <xsl:otherwise>
     
    9195          <xsl:choose>
    9296            <xsl:when test="$is-lfs='true'">
     97            <!-- LFS package -->
    9398              <xsl:message>
    9499                <xsl:value-of select="$list"/>
     
    101106            </xsl:when>
    102107            <xsl:when test="contains(concat($list,' '),'-pass1 ')">
    103 <!-- We need to do it only for sect1 and sect2, because of libva -->
     108<!-- We need to do it for both sect1 and sect2, because of libva -->
    104109              <xsl:variable
    105110                   name="real-id"
     
    112117              </xsl:if>
    113118            </xsl:when>
    114             <xsl:when test="not(id($list)[self::sect1 or self::sect2 or self::para or self::bridgehead])">
     119            <xsl:when test="$list='plasma-post-install'">
    115120              <xsl:apply-templates
    116                    select="//sect1[contains(@id,'xorg7')
    117                                and contains(string(.//userinput),
    118                                             concat($list,'-'))]"
    119                    mode="xorg">
     121                select="//sect1[@id='plasma5-build']"
     122                mode="plasma-post-install"/>
     123            </xsl:when>
     124            <xsl:when test="not(id($list)[self::sect1 or self::sect2])">
     125              <!-- This is a sub-package: parse the corresponding compound
     126                   package-->
     127              <xsl:apply-templates
     128                select="//sect1[(contains(@id,'xorg7') or
     129                                 contains(@id,'frameworks') or
     130                                 contains(@id,'plasma5'))
     131                                 and .//userinput/literal[contains(string(),
     132                                            concat($list,'-'))]]"
     133                 mode="compound">
    120134                <xsl:with-param name="package" select="$list"/>
    121135              </xsl:apply-templates>
     
    496510     but now we need to make an autonomous page from the global
    497511     one -->
    498   <xsl:template match="sect1" mode="xorg">
     512  <xsl:template match="sect1" mode="compound">
    499513    <xsl:param name="package"/>
    500514    <xsl:variable name="tarball">
     
    505519      </xsl:call-template>
    506520    </xsl:variable>
    507     <xsl:variable name="md5sum">
    508       <xsl:call-template name="md5sum">
    509         <xsl:with-param name="package" select="concat(' ',$package,'-')"/>
    510         <xsl:with-param name="cat-md5"
    511                         select=".//userinput[starts-with(string(),'cat ')]"/>
    512       </xsl:call-template>
    513     </xsl:variable>
    514     <xsl:variable name="download-dir">
    515       <xsl:call-template name="download-dir">
    516         <xsl:with-param name="package" select="concat(' ',$package,'-')"/>
    517         <xsl:with-param name="cat-md5"
    518                         select=".//userinput[starts-with(string(),'cat ')]"/>
    519       </xsl:call-template>
    520     </xsl:variable>
    521     <xsl:variable name="install-instructions">
    522       <xsl:call-template name="inst-instr">
    523         <xsl:with-param name="inst-instr"
    524                         select=".//userinput[starts-with(string(),'for ')]"/>
    525       </xsl:call-template>
    526     </xsl:variable>
    527     <xsl:element name="sect1">
    528       <xsl:attribute name="id"><xsl:value-of select="$package"/></xsl:attribute>
    529       <xsl:processing-instruction name="dbhtml">
    530          filename="<xsl:value-of select='$package'/>.html"
    531       </xsl:processing-instruction>
    532       <title><xsl:value-of select="$package"/></title>
    533       <sect2 role="package">
    534         <title>Introduction to <xsl:value-of select="$package"/></title>
    535         <bridgehead renderas="sect3">Package Information</bridgehead>
    536         <itemizedlist spacing="compact">
    537           <listitem>
    538             <para>Download (HTTP): <xsl:element name="ulink">
    539               <xsl:attribute name="url">
    540                 <xsl:value-of
    541                    select=".//para[contains(string(),'(HTTP)')]/ulink/@url"/>
    542                 <xsl:value-of select="$download-dir"/>
    543                 <xsl:value-of select="$tarball"/>
    544               </xsl:attribute>
    545              </xsl:element>
    546             </para>
    547           </listitem>
    548           <listitem>
    549             <para>Download (FTP): <xsl:element name="ulink">
    550               <xsl:attribute name="url">
    551                 <xsl:value-of
    552                    select=".//para[contains(string(),'(FTP)')]/ulink/@url"/>
    553                 <xsl:value-of select="$download-dir"/>
    554                 <xsl:value-of select="$tarball"/>
    555               </xsl:attribute>
    556              </xsl:element>
    557             </para>
    558           </listitem>
    559           <listitem>
    560             <para>
    561               Download MD5 sum: <xsl:value-of select="$md5sum"/>
    562             </para>
    563           </listitem>
    564         </itemizedlist>
    565         <!-- If there is an additional download, we need to output that -->
    566         <xsl:if test=".//bridgehead[contains(string(),'Additional')]">
    567           <xsl:copy-of
    568                  select=".//bridgehead[contains(string(),'Additional')]"/>
    569           <xsl:copy-of
    570                  select=".//bridgehead[contains(string(),'Additional')]
    571                          /following-sibling::itemizedlist[1]"/>
    572         </xsl:if>
    573       </sect2>
    574       <sect2 role="installation">
    575         <title>Installation of <xsl:value-of select="$package"/></title>
    576 
    577         <para>
    578           Install <application><xsl:value-of select="$package"/></application>
    579           by running the following commands:
    580         </para>
    581 
    582         <screen><userinput>packagedir=<xsl:value-of
    583                     select="substring-before($tarball,'.tar.')"/>
    584           <xsl:text>&#xA;</xsl:text>
    585           <xsl:value-of select="substring-before($install-instructions,
    586                                                  'as_root')"/>
    587         </userinput></screen>
    588 
    589         <para>
    590           Now as the <systemitem class="username">root</systemitem> user:
    591         </para>
    592         <screen role='root'>
    593           <userinput><xsl:value-of select="substring-after(
    594                                                  $install-instructions,
    595                                                  'as_root')"/>
    596           </userinput>
    597         </screen>
    598       </sect2>
    599     </xsl:element><!-- sect1 -->
     521    <!-- Unfortunately, there are packages in kf5 and plasma5 that
     522         starts in the same way: for example kwallet in kf5
     523         and kwallet-pam in plasma. So we may arrive here with
     524         package=kwallet and tarball=kwallet-pam-(version).tar.xz.
     525         We should not continue in this case. For checking, transform
     526         digits into X, and check that package-X occurs in tarball. We
     527         have to translate package too, since it may contain digits.-->
     528    <xsl:if test=
     529        "contains(translate($tarball,'0123456789','XXXXXXXXXX'),
     530                  concat(translate($package,'0123456789','XXXXXXXXXX'),'-X'))">
     531      <xsl:variable name="md5sum">
     532        <xsl:call-template name="md5sum">
     533          <xsl:with-param name="package" select="concat(' ',$package,'-')"/>
     534          <xsl:with-param name="cat-md5"
     535                          select=".//userinput[starts-with(string(),'cat ')]"/>
     536        </xsl:call-template>
     537      </xsl:variable>
     538      <xsl:variable name="download-dir">
     539        <xsl:call-template name="download-dir">
     540          <xsl:with-param name="package" select="concat(' ',$package,'-')"/>
     541          <xsl:with-param name="cat-md5"
     542                          select=".//userinput[starts-with(string(),'cat ')]"/>
     543        </xsl:call-template>
     544      </xsl:variable>
     545      <xsl:variable name="install-instructions">
     546        <xsl:call-template name="inst-instr">
     547          <xsl:with-param name="inst-instr"
     548            select=
     549              "substring-after(
     550                 substring-after(.//userinput[starts-with(string(),'for ') or
     551                                              starts-with(string(),'while ')],
     552                                 'pushd'),
     553                 '&#xA;')"/>
     554          <xsl:with-param name="package" select="$package"/>
     555        </xsl:call-template>
     556      </xsl:variable>
     557      <xsl:element name="sect1">
     558        <xsl:attribute name="id">
     559          <xsl:value-of select="$package"/>
     560        </xsl:attribute>
     561        <xsl:processing-instruction name="dbhtml">
     562           filename="<xsl:value-of select='$package'/>.html"
     563        </xsl:processing-instruction>
     564        <title><xsl:value-of select="$package"/></title>
     565        <sect2 role="package">
     566          <title>Introduction to <xsl:value-of select="$package"/></title>
     567          <bridgehead renderas="sect3">Package Information</bridgehead>
     568          <itemizedlist spacing="compact">
     569            <listitem>
     570              <para>Download (HTTP): <xsl:element name="ulink">
     571                <xsl:attribute name="url">
     572                  <xsl:value-of
     573                     select=".//para[contains(string(),'(HTTP)')]/ulink/@url"/>
     574                  <xsl:value-of select="$download-dir"/>
     575                  <!-- $download-dir contains the trailing / for xorg,
     576                       but not for KDE... -->
     577                  <xsl:if test="contains(@id,'frameworks') or
     578                                contains(@id,'plasma5')">
     579                    <xsl:text>/</xsl:text>
     580                  </xsl:if>
     581                  <!-- Some kf5 packages are in a subdirectory -->
     582                  <xsl:if test="$package='khtml' or
     583                                $package='kdelibs4support' or
     584                                $package='kdesignerplugin' or
     585                                $package='kdewebkit' or
     586                                $package='kjs' or
     587                                $package='kjsembed' or
     588                                $package='kmediaplayer' or
     589                                $package='kross' or
     590                                $package='kxmlrpcclient'">
     591                    <xsl:text>portingAids/</xsl:text>
     592                  </xsl:if>
     593                  <xsl:value-of select="$tarball"/>
     594                </xsl:attribute>
     595               </xsl:element>
     596              </para>
     597            </listitem>
     598            <!-- don't use FTP, although they are available for xorg -->
     599            <listitem>
     600              <para>Download (FTP): <ulink url=" "/>
     601              </para>
     602            </listitem>
     603            <listitem>
     604              <para>
     605                Download MD5 sum: <xsl:value-of select="$md5sum"/>
     606              </para>
     607            </listitem>
     608          </itemizedlist>
     609          <!-- If there is an additional download, we need to output that -->
     610          <xsl:if test=".//bridgehead[contains(string(),'Additional')]">
     611            <xsl:copy-of
     612                   select=".//bridgehead[contains(string(),'Additional')]"/>
     613            <xsl:copy-of
     614                   select=".//bridgehead[contains(string(),'Additional')]
     615                           /following-sibling::itemizedlist[1]"/>
     616          </xsl:if>
     617        </sect2>
     618        <sect2 role="installation">
     619          <title>Installation of <xsl:value-of select="$package"/></title>
     620
     621          <para>
     622            Install <application><xsl:value-of select="$package"/></application>
     623            by running the following commands:
     624          </para>
     625          <!-- packagedir is used in xorg lib instructions -->
     626          <screen><userinput>packagedir=<xsl:value-of
     627                      select="substring-before($tarball,'.tar.')"/>
     628           <!-- name is used in kf5 instructions -->
     629            <xsl:text>
     630name=$(echo $packagedir | sed 's/-[[:digit:]].*//')
     631</xsl:text>
     632            <xsl:value-of select="substring-before($install-instructions,
     633                                                   'as_root')"/>
     634          </userinput></screen>
     635
     636          <para>
     637            Now as the <systemitem class="username">root</systemitem> user:
     638          </para>
     639          <screen role='root'>
     640            <userinput><xsl:value-of select="substring-after(
     641                                                   $install-instructions,
     642                                                   'as_root')"/>
     643            </userinput>
     644          </screen>
     645        </sect2>
     646      </xsl:element><!-- sect1 -->
     647    </xsl:if>
    600648
    601649  </xsl:template>
     
    603651<!-- get the tarball name from the text that comes from the .md5 file -->
    604652  <xsl:template name="tarball">
     653    <!-- $package must start with a space, and finish with a "-", to be
     654         sure to match exactly the package. Note that if we have two
     655         packages named e.g. "pkg1" and "pkg1-add", the second one may be
     656         matched by " pkg1-". So this only works if "pkg1" comes before
     657         "pkg1-add" in the md5 file. Presently this is the case in the book...
     658    -->
    605659    <xsl:param name="package"/>
    606660    <xsl:param name="cat-md5"/>
    607 <!-- DEBUG
    608 <xsl:message><xsl:text>Entering "tarball" template:
    609   package is: </xsl:text>
    610 <xsl:value-of select="$package"/><xsl:text>
    611   cat-md5 is: </xsl:text>
    612 <xsl:value-of select="$cat-md5"/>
    613 </xsl:message>
    614 END DEBUG -->
    615661    <xsl:choose>
    616662      <xsl:when test="contains(substring-before($cat-md5,$package),'&#xA;')">
     
    680726
    681727  <xsl:template name="inst-instr">
     728    <!-- This template is necessary because of the "kapidox" case in kf5:
     729         Normally, the general instructions extract the package and change
     730         to the extracted dir for running the installation instructions.
     731         When installing a sub-package of a compound package, the installation
     732         instructions to be run are located between a pushd and a popd,
     733         *except* for kf5, where a popd occurs inside a case for kapidox...
     734         So we call this template with a "inst-instr" string that contains
     735         everything after the pushd.-->
    682736    <xsl:param name="inst-instr"/>
    683     <xsl:choose>
    684       <xsl:when test="contains($inst-instr,'pushd')">
    685         <xsl:call-template name="inst-instr">
    686           <xsl:with-param name="inst-instr"
    687                           select="substring-after(
    688                                    substring-after($inst-instr,'pushd'),
    689                                    '&#xA;')"/>
    690         </xsl:call-template>
    691       </xsl:when>
    692       <xsl:otherwise>
     737    <xsl:param name="package"/>
     738    <xsl:choose>
     739      <!-- first the case of kf5: there are two "popd"-->
     740      <xsl:when test="contains(substring-after($inst-instr,'popd'),'popd')">
     741        <xsl:choose>
     742          <xsl:when test="$package='kapidox'">
     743            <!-- only the instructions inside the "case" and before popd -->
     744            <xsl:copy-of select="substring-after(substring-before($inst-instr,'popd'),'kapidox)')"/>
     745          </xsl:when>
     746          <xsl:otherwise>
     747            <!-- all what is after the esac -->
     748            <xsl:call-template name="inst-instr">
     749              <xsl:with-param
     750                name="inst-instr"
     751                select="substring-after($inst-instr,'esac&#xA;')"/>
     752            </xsl:call-template>
     753          </xsl:otherwise>
     754        </xsl:choose>
     755      </xsl:when>
     756      <xsl:otherwise>
     757        <!-- normal case: everything that is before popd -->
    693758        <xsl:copy-of select="substring-before($inst-instr,'popd')"/>
    694759      </xsl:otherwise>
    695760    </xsl:choose>
    696761  </xsl:template>
     762
     763  <xsl:template match="sect1" mode="plasma-post-install">
     764    <xsl:variable name="package" select="'plasma-post-install'"/>
     765    <xsl:element name="sect1">
     766      <xsl:attribute name="id">
     767        <xsl:value-of select="$package"/>
     768      </xsl:attribute>
     769      <xsl:processing-instruction name="dbhtml">
     770         filename="<xsl:value-of select='$package'/>.html"
     771      </xsl:processing-instruction>
     772      <title><xsl:value-of select="$package"/></title>
     773      <sect2 role="installation">
     774        <title>Installation of <xsl:value-of select="$package"/></title>
     775
     776        <para>
     777          Install <application><xsl:value-of select="$package"/></application>
     778          by running the following commands:
     779        </para>
     780        <screen role="root">
     781          <userinput>
     782            <xsl:call-template name="plasma-sessions">
     783              <xsl:with-param
     784                name="p-sessions-text"
     785                select="string(.//userinput[contains(text(),'xsessions')])"/>
     786            </xsl:call-template>
     787          </userinput>
     788        </screen>
     789        <xsl:copy-of select=".//screen[@role='root']"/>
     790      </sect2>
     791    </xsl:element><!-- sect1 -->
     792  </xsl:template>
     793
     794  <xsl:template name="plasma-sessions">
     795    <xsl:param name="p-sessions-text"/>
     796    <xsl:choose>
     797      <xsl:when test="string-length($p-sessions-text)=0"/>
     798      <xsl:when test="contains($p-sessions-text,'as_root')">
     799        <xsl:call-template name="plasma-sessions">
     800          <xsl:with-param
     801            name="p-sessions-text"
     802            select="substring-before($p-sessions-text,'as_root')"/>
     803        </xsl:call-template>
     804        <xsl:call-template name="plasma-sessions">
     805          <xsl:with-param
     806            name="p-sessions-text"
     807            select="substring-after($p-sessions-text,'as_root ')"/>
     808        </xsl:call-template>
     809      </xsl:when>
     810      <xsl:otherwise>
     811        <xsl:copy-of select="$p-sessions-text"/>
     812      </xsl:otherwise>
     813    </xsl:choose>
     814  </xsl:template>
     815
    697816</xsl:stylesheet>
  • BLFS/xsl/process-replaceable.xsl

    r35094ed rca368ad  
    113113      <xsl:when test="string()='&lt;EXAMPLE.ORG&gt;'">
    114114        <xsl:copy-of select="$DOMAINNAME"/>
     115        <xsl:if test="contains(preceding-sibling::text()[1],'kdb5_util')">
     116          <xsl:text> -P rtpw </xsl:text>
     117        </xsl:if>
    115118      </xsl:when>
    116119      <xsl:when test="string()='&lt;example.org&gt;'">
     
    122125<!-- in this case, even root can be used -->
    123126      <xsl:when test="string()='&lt;loginname&gt;'">
     127        <xsl:if test="contains(preceding-sibling::text()[1],'-policy')">
     128          <xsl:text>-pw lupw </xsl:text>
     129        </xsl:if>
    124130        <xsl:text>$USER</xsl:text>
     131        <xsl:if test="contains(preceding-sibling::text()[1],'kinit')">
     132          <xsl:text> &lt;&lt; PASS_EOF
     133lupw
     134PASS_EOF
     135</xsl:text>
     136        </xsl:if>
    125137      </xsl:when>
    126138<!-- for xorg environment. Note that libreoffice too uses &lt;PREFIX&gt; -->
  • BLFS/xsl/scripts.xsl

    r35094ed rca368ad  
    8080<!-- include the template for replaceable tags -->
    8181  <xsl:include href="process-replaceable.xsl"/>
     82
     83<!-- include the template for prompt tags -->
     84  <xsl:include href="process-prompt.xsl"/>
    8285
    8386<!--=================== Begin processing ========================-->
     
    386389      <xsl:when test="@role = 'configuration'">
    387390        <xsl:text>&#xA;</xsl:text>
    388         <xsl:apply-templates mode="config"
    389              select=".//screen[not(@role = 'nodump') and ./userinput]"/>
     391        <xsl:choose>
     392          <xsl:when test=".//screen/userinput/prompt">
     393            <xsl:call-template name="process-prompt">
     394              <xsl:with-param
     395                name="instructions"
     396                select=".//screen[not(@role = 'nodump') and ./userinput]"/>
     397              <xsl:with-param name="root-seen" select="false"/>
     398              <xsl:with-param name="prompt-seen" select="false"/>
     399            </xsl:call-template>
     400          </xsl:when>
     401          <xsl:otherwise>
     402            <xsl:apply-templates mode="config"
     403                 select=".//screen[not(@role = 'nodump') and ./userinput]"/>
     404          </xsl:otherwise>
     405        </xsl:choose>
    390406      </xsl:when><!-- @role="configuration" -->
    391407
Note: See TracChangeset for help on using the changeset viewer.