<!-- global processing -->
<xsl:template match="/">
-#!/bin/sh -f
+#!/bin/sh
#
# glite-wn_installer
# usage: glite-wn_installer [-u]
#
# glite-wn_installer installs the gLite Worker Node Deployment Unit
#
- <xsl:apply-templates/>
-# Install dependencies and gLite RPMS
-rpm -Uvh *.rpm
- </xsl:template>
+<!-- Put here pre-install instructions -->
- <xsl:template match="dependencies">
-# Download gLite dependencies RPMS from repository
- <xsl:apply-templates/>
+###############################################################################
+# Download global dependencies
+ <xsl:for-each select="node/dependencies">
+ <xsl:apply-templates/>
+ </xsl:for-each>
+###############################################################################
+
+ <xsl:for-each select="node/services/service">
+###############################################################################
+# Download <xsl:value-of select="@name"/> dependencies RPMS from repository
+ <xsl:for-each select="dependencies">
+ <xsl:apply-templates/>
+ </xsl:for-each>
+###############################################################################
+# Download <xsl:value-of select="@name"/> RPMS from repository
+ <xsl:for-each select="components">
+ <xsl:apply-templates/>
+ </xsl:for-each>
+###############################################################################
+ </xsl:for-each>
+
+###############################################################################
+# Install all RPMS
+rpm -Uvh *.rpm
+###############################################################################
</xsl:template>
- <xsl:template match="service">
-# Download gLite RPMS from repository
- <xsl:apply-templates/>
+ <xsl:template name="dependencies" match="external">
+ <xsl:variable name="package"><xsl:value-of select="@name"/>-<xsl:value-of select="@version"/>-<xsl:value-of select="@age"/>.<xsl:value-of select="@arch"/>.rpm</xsl:variable>
+wget <xsl:value-of select="$ext-repository"/><xsl:value-of select="$package"/>
</xsl:template>
-
- <xsl:template name="components" match="components/component">
+
+ <xsl:template name="components" match="component">
<xsl:variable name="package"><xsl:value-of select="@name"/>-<xsl:value-of select="@version"/>-<xsl:value-of select="@age"/>.<xsl:value-of select="@arch"/>.rpm</xsl:variable>
wget <xsl:value-of select="$repository"/><xsl:value-of select="@arch"/>/RPMS/<xsl:value-of select="$package"/>
</xsl:template>
- <xsl:template name="dependencies" match="external">
- <xsl:variable name="package"><xsl:value-of select="@name"/>-<xsl:value-of select="@version"/>-<xsl:value-of select="@age"/>.<xsl:value-of select="@arch"/>.rpm</xsl:variable>
-wget <xsl:value-of select="$ext-repository"/><xsl:value-of select="$package"/>
- </xsl:template>
</xsl:stylesheet>
-