Ignore:
Timestamp:
11/17/2015 08:22:04 PM (9 years ago)
Author:
Pierre Labastie <pierre@…>
Branches:
2.4, ablfs-more, legacy, new_features, trunk
Children:
82bd7a6
Parents:
5fb012d
Message:

Automate the process of choosing action when there are circular dependencies.
This has to be tested, but hopefully, it should allow to find a coherent
build order when there are not too many circular dependencies

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BLFS/xsl/dependencies.xsl

    r5fb012d r7dc8595  
    2121
    2222  <xsl:template match="package">
    23     <xsl:apply-templates select="./dependency[@status='required']"/>
     23    <xsl:apply-templates select="./dependency[@status='required']">
     24      <xsl:with-param name="priority" select="1"/>
     25    </xsl:apply-templates>
    2426    <xsl:if test="$dependencies &gt; '1'">
    25       <xsl:apply-templates select="./dependency[@status='recommended']"/>
     27      <xsl:apply-templates select="./dependency[@status='recommended']">
     28        <xsl:with-param name="priority" select="2"/>
     29      </xsl:apply-templates>
    2630      <xsl:if test="$dependencies = '3'">
    27         <xsl:apply-templates select="./dependency[@status='optional']"/>
     31        <xsl:apply-templates select="./dependency[@status='optional']">
     32          <xsl:with-param name="priority" select="3"/>
     33        </xsl:apply-templates>
    2834      </xsl:if>
    2935    </xsl:if>
     
    3137
    3238  <xsl:template match="module">
    33     <xsl:apply-templates select="./dependency[@status='required']"/>
     39    <xsl:apply-templates select="./dependency[@status='required']">
     40      <xsl:with-param name="priority" select="1"/>
     41    </xsl:apply-templates>
    3442    <xsl:if test="$dependencies &gt; '1'">
    35       <xsl:apply-templates select="./dependency[@status='recommended']"/>
     43      <xsl:apply-templates select="./dependency[@status='recommended']">
     44        <xsl:with-param name="priority" select="2"/>
     45      </xsl:apply-templates>
    3646      <xsl:if test="$dependencies = '3'">
    37         <xsl:apply-templates select="./dependency[@status='optional']"/>
     47        <xsl:apply-templates select="./dependency[@status='optional']">
     48          <xsl:with-param name="priority" select="3"/>
     49        </xsl:apply-templates>
    3850      </xsl:if>
    3951    </xsl:if>
     
    4153
    4254  <xsl:template match="dependency">
     55    <xsl:param name="priority"/>
    4356    <xsl:variable name="depname">
    4457      <xsl:choose>
     
    6881      </xsl:choose>
    6982    </xsl:variable>
    70     <xsl:apply-templates select="dependency"/>
     83    <xsl:apply-templates select="dependency">
     84      <xsl:with-param name="priority" select="1"/>
     85    </xsl:apply-templates>
    7186    <xsl:if test="number($install_it)">
     87      <xsl:value-of select="$priority"/>
     88      <xsl:text> </xsl:text>
    7289      <xsl:value-of select="$depname"/>
    7390      <xsl:text>&#xA;</xsl:text>
Note: See TracChangeset for help on using the changeset viewer.