Use new installer script format
authorAlberto Di Meglio <alberto.di.meglio@cern.ch>
Sun, 17 Oct 2004 22:34:39 +0000 (22:34 +0000)
committerAlberto Di Meglio <alberto.di.meglio@cern.ch>
Sun, 17 Oct 2004 22:34:39 +0000 (22:34 +0000)
Use global filters
Use RH standard expat rpm in sdf template

org.glite.deployment.lb/build.xml
org.glite.deployment.lb/project/glite-lb.sdf.xml.template
org.glite.deployment.lb/project/lxscript-rpm.xsl

index 8274bcb..0ceaee9 100644 (file)
@@ -13,6 +13,9 @@
 
        Revision history:
        $Log$
+       Revision 1.4  2004/10/14 16:07:53  dimeglio
+       Removed wms.thirdparty-globus-ssl-utils
+       
        Revision 1.3  2004/10/14 11:50:22  dimeglio
        Fixed some name and formatting issues
        
 
        <target name="localcompile"
                description="Module specific compilation tasks">
-               <copy file="${module.project.dir}/${global.prefix}-${component.prefix}.sdf.xml.template"
-                       tofile="${module.project.dir}/${global.prefix}-${component.prefix}.sdf.xml" overwrite="true">
-                       <filterset>
-                               <filter token="org.glite.lb.client-interface.version" value="${org.glite.lb.client-interface.version}" />
-                               <filter token="org.glite.lb.client-interface.age" value="${org.glite.lb.client-interface.age}" />
-                               <filter token="org.glite.lb.client-interface.build" value="${org.glite.lb.client-interface.build}" />
-
-                               <filter token="org.glite.lb.common.version" value="${org.glite.lb.common.version}" />
-                               <filter token="org.glite.lb.common.age" value="${org.glite.lb.common.age}" />
-                               <filter token="org.glite.lb.common.build" value="${org.glite.lb.common.build}" />
-
-                               <filter token="org.glite.lb.logger.version" value="${org.glite.lb.logger.version}" />
-                               <filter token="org.glite.lb.logger.age" value="${org.glite.lb.logger.age}" />
-                               <filter token="org.glite.lb.logger.build" value="${org.glite.lb.logger.build}" />
-
-                               <filter token="org.glite.lb.server.version" value="${org.glite.lb.server.version}" />
-                               <filter token="org.glite.lb.server.age" value="${org.glite.lb.server.age}" />
-                               <filter token="org.glite.lb.server.build" value="${org.glite.lb.server.build}" />
-
-                               <filter token="org.glite.wms-utils.jobid.version" value="${org.glite.wms-utils.jobid.version}" />
-                               <filter token="org.glite.wms-utils.jobid.age" value="${org.glite.wms-utils.jobid.age}" />
-                               <filter token="org.glite.wms-utils.jobid.build" value="${org.glite.wms-utils.jobid.build}" />
-
-
-                               <filter token="org.glite.wms-utils.exception.version" value="${org.glite.wms-utils.exception.version}" />
-                               <filter token="org.glite.wms-utils.exception.age" value="${org.glite.wms-utils.exception.age}" />
-                               <filter token="org.glite.wms-utils.exception.build" value="${org.glite.wms-utils.exception.build}" />
-
-                               <filter token="org.glite.security.proxyrenewal.version" value="${org.glite.security.proxyrenewal.version}" />
-                               <filter token="org.glite.security.proxyrenewal.age" value="${org.glite.security.proxyrenewal.age}" />
-                               <filter token="org.glite.security.proxyrenewal.build" value="${org.glite.security.proxyrenewalon.build}" />
-
-
-                       </filterset>
-               </copy>
        </target>
 
        <target name="localclean"
index 2756451..e9dba5d 100644 (file)
@@ -5,7 +5,7 @@
        For license conditions see the license file or http://eu-egee.org/license.html
 -->
 
-<node name="glite-lb-node">
+<node name="glite-lb-node" version="@module.version@">
        <services>
                <service name="glite-lb-service">
                        <components>
@@ -62,8 +62,8 @@
                                        age="0"
                                        arch="i386"/>                             
                                <external name="expat"
-                                       version="1.95.7"
-                                       age="EGEE"
+                                       version="1.95.5"
+                                       age="6"
                                        arch="i386"/>                             
                                <external name="ares"
                                        version="1.1.1"
@@ -90,4 +90,4 @@
        </services>
        <dependencies>
        </dependencies>
-</node>
\ No newline at end of file
+</node>
index 860a2c3..20c12b8 100644 (file)
        <!-- global processing -->
        <xsl:template match="/">
 #!/bin/sh
+
+# Copyright (c) Members of the EGEE Collaboration. 2004 
+# See http://eu-egee.org/partners/ for details on the copyright holders
+# For license conditions see the license file or http://eu-egee.org/license.html
+
+# glite-lb_installer v. <xsl:value-of select="/node/@version"/>
 #
-# glite-lb_installer
-# usage: glite-lb_installer [-u]
-#               -u             uninstall
-#
-# glite-wn_installer installs the gLite <xsl:value-of select="/node/@name"/> Worker Node Deployment Unit
+# The glite-lb_installer installs the gLite <xsl:value-of select="/node/@name"/> Deployment Unit
 #
-<!-- Put here pre-install instructions -->
+# Usage: glite-lb_installer [-u|-v|--help]
+#        -u          uninstall
+#        -v          print version
+#        --help      print script usage info
+# Return codes: 0 - Ok
+#               1 - if a file could not be downloaded
 
 ###############################################################################
-# Download global dependencies 
-               <xsl:for-each select="node/dependencies">
-                       <xsl:apply-templates/>
+function install()
+{
+       # Download global dependencies  
+       <xsl:for-each select="node/dependencies">
+               <xsl:apply-templates>
+                               <xsl:with-param name="install">true</xsl:with-param>
+               </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:with-param name="install">true</xsl:with-param>
+                       </xsl:apply-templates>
                </xsl:for-each>
-###############################################################################
+
+       # Download <xsl:value-of select="@name"/> RPMS from repository
+               <xsl:for-each select="components">
+                       <xsl:apply-templates>
+                               <xsl:with-param name="install">true</xsl:with-param>
+                       </xsl:apply-templates>
+               </xsl:for-each>
+
+       </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>
+       # Install all RPMS
+       rpm -Uvh $RPMLIST
+}
+
 ###############################################################################
+function uninstall()
+{
+       # Global dependencies   
+       <xsl:for-each select="node/dependencies">
+               <xsl:apply-templates>
+                       <xsl:with-param name="install">false</xsl:with-param>
+               </xsl:apply-templates>
+       </xsl:for-each>
+               
+       <xsl:for-each select="node/services/service">
+
+       # <xsl:value-of select="@name"/> dependencies RPMS from repository
+               <xsl:for-each select="dependencies">
+                       <xsl:apply-templates>
+                               <xsl:with-param name="install">false</xsl:with-param>
+                       </xsl:apply-templates>
+               </xsl:for-each>
+
+       # <xsl:value-of select="@name"/> RPMS from repository
+               <xsl:for-each select="components">
+                       <xsl:apply-templates>
+                               <xsl:with-param name="install">false</xsl:with-param>
+                       </xsl:apply-templates>
                </xsl:for-each>
+
+       </xsl:for-each>
                
+       # Uninstall all RPMS
+       rpm -e $RPMLIST
+}
+
 ###############################################################################
-# Install all RPMS
-rpm -Uvh *.rpm
+function usage()
+{
+       echo 
+       echo Copyright \(c\) Members of the EGEE Collaboration. 2004 
+       echo See http://eu-egee.org/partners/ for details on the copyright holders
+       echo For license conditions see the license file or http://eu-egee.org/license.html
+       echo 
+       echo glite-lb_installer v. <xsl:value-of select="/node/@version"/>
+       echo 
+       echo The glite-lb_installer installs the gLite <xsl:value-of select="/node/@name"/> Deployment Unit
+       echo 
+       echo Usage: glite-lb_installer \[-u\|-v\|--help\]
+       echo -u          uninstall
+       echo -v          print version
+       echo --help      print script usage info
+       echo 
+       echo Return codes:
+       echo 0 - Ok
+       echo 1 - if a file could not be downloaded
+       echo 
+}
+
 ###############################################################################
+function version
+{
+       echo 
+       echo Copyright \(c\) Members of the EGEE Collaboration. 2004 
+       echo See http://eu-egee.org/partners/ for details on the copyright holders
+       echo For license conditions see the license file or http://eu-egee.org/license.html
+       echo 
+       echo glite-lb_installer v. <xsl:value-of select="/node/@version"/>
+       echo 
+}
+
+
+RPMLIST=
+
+###############################################################################
+# Main
+
+while getopts uvh opt
+do
+       case $opt in
+               'u') uninstall
+                    exit 0     
+                    ;;
+               'v') version
+                    exit 0     
+                    ;;
+               'h') usage
+                    exit 0     
+                    ;;
+       esac
+done
+
+install
+
+exit 0
        </xsl:template>
 
        <xsl:template name="dependencies" match="external">
+               <xsl:param name="install"/>
                <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:choose>
+                       <xsl:when test="$install = 'true'">
+wget -N --non-verbose <xsl:value-of select="$ext-repository"/><xsl:value-of select="$package"/>
+if [ ! -f "<xsl:value-of select="$package"/>" ]
+then
+       echo 
+       echo ERROR: <xsl:value-of select="$package"/> could not be downloaded!
+       exit 1
+fi
+                       </xsl:when>
+               </xsl:choose>
+RPMLIST="$RPMLIST <xsl:value-of select="$package"/>"
        </xsl:template>
        
        <xsl:template name="components" match="component">
+               <xsl:param name="install"/>
                <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:choose>
+                       <xsl:when test="$install='true'">
+wget -N --non-verbose <xsl:value-of select="$repository"/><xsl:value-of select="@arch"/>/RPMS/<xsl:value-of select="$package"/>
+if [ ! -f "<xsl:value-of select="$package"/>" ]
+then
+       echo 
+       echo ERROR: <xsl:value-of select="$package"/> could not be downloaded!
+       exit 1
+fi
+                       </xsl:when>
+               </xsl:choose>
+RPMLIST="$RPMLIST <xsl:value-of select="$package"/>"
        </xsl:template>
 
 </xsl:stylesheet>