[Fedora-directory-commits] dsmlgw build.fhs.properties, NONE, 1.1 build.fhsopt.properties, NONE, 1.1 build.prefix.properties, NONE, 1.1 build.properties, 1.1, 1.2 build.xml, 1.3, 1.4

Richard Allen Megginson (rmeggins) fedora-directory-commits at redhat.com
Wed Apr 23 16:56:00 UTC 2008


Author: rmeggins

Update of /cvs/dirsec/dsmlgw
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3561/dsmlgw

Modified Files:
	build.properties build.xml 
Added Files:
	build.fhs.properties build.fhsopt.properties 
	build.prefix.properties 
Log Message:
initial commit for packaging - allow fhs, fhsopt, and straight prefix packaging - added setup and start scripts


--- NEW FILE build.fhs.properties ---
prefix=/usr
dsmlgwdatadir=${prefix}/share/${project.name.base}/${ant.project.name}
dsmlgwconfigdir=/etc/${project.name.base}/${ant.project.name}
dsmlgwlogdir=/var/log/${project.name.base}/${ant.project.name}
dsmlgwrundir=/var/run/${project.name.base}/${ant.project.name}
dsmlgwsbindir=${prefix}/sbin


--- NEW FILE build.fhsopt.properties ---
dsmlgwdatadir=${prefix}/share/${ant.project.name}
dsmlgwconfigdir=/etc${prefix}/${ant.project.name}
dsmlgwlogdir=/var${prefix}/${ant.project.name}/log
dsmlgwrundir=/var${prefix}/${ant.project.name}/run
dsmlgwsbindir=${prefix}/sbin


--- NEW FILE build.prefix.properties ---
dsmlgwdatadir=${prefix}/share/${ant.project.name}
dsmlgwconfigdir=${prefix}/etc/${ant.project.name}
dsmlgwlogdir=${prefix}/log/${ant.project.name}
dsmlgwrundir=${prefix}/run/${ant.project.name}
dsmlgwsbindir=${prefix}/sbin


Index: build.properties
===================================================================
RCS file: /cvs/dirsec/dsmlgw/build.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.properties	18 Apr 2008 16:43:38 -0000	1.1
+++ build.properties	23 Apr 2008 16:55:58 -0000	1.2
@@ -1,3 +1,11 @@
+project.name.base=dirsrv
+version=1.1.0
+# default prefix to use for packaging
+prefix=/opt/${project.name.base}
+# default user id for tomcat - override to "daemon" on hpux -Ddsmlgwuser=daemon
+dsmlgwuser=nobody
+runtime.java.home=${java.home}
+
 axisbin.url=http://apache.mirrors.tds.net/ws/axis/1_4/
 #axisbin.dir=/path/to/
 axisbin.tgz=axis-bin-1_4.tar.gz


Index: build.xml
===================================================================
RCS file: /cvs/dirsec/dsmlgw/build.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- build.xml	21 Apr 2008 17:58:54 -0000	1.3
+++ build.xml	23 Apr 2008 16:55:58 -0000	1.4
@@ -20,6 +20,19 @@
 
 	<property file="build.properties" />
 	<property file="${user.home}/build.properties" />
+	<!-- pkg type is for packaging - there are three different ways
+		to package:
+		fhs - use the FHS layout (/etc, /var, /usr/share)
+		fhsopt - use the FHS for /opt packages (/opt/projectname, /etc/opt/projectname, /var/opt/projectname)
+		prefix - just put everything under a single prefix (/opt/projectname)
+		The default is prefix.  To specify a different one, use
+		ant ... -Dpkg.type=fhs
+	-->
+	<property name="pkg.type"     value="prefix"/>
+    <!-- prefix, fhs, or fhsopt -->
+	<property file="build.${pkg.type}.properties" />
+	<!-- name of command to use to start tomcat - will be called from start-ds-dsmlgw -->
+	<property name="tomcat.cmd"   value="${tomcat.home}/bin/startup.sh"/>
 
 	<!-- ******************** Adjustable Properties *********************** -->
 	<property name="globaldist.dir" location="/usr/share/java" />
@@ -31,7 +44,7 @@
 		 on the command line - otherwise, it will default to using
 		 /usr/share/java and /usr/share/java/axis
 	-->
-	<property name="axisdist.dir" location="/usr/share/java/axis" />
+	<property name="axisdist.dir"  location="/usr/share/java/axis" />
 	<property name="axis.lib.dir"  location="/usr/share/java/axis" />
 
 	<!-- These are the jars needed for building - the first 3 are usually
@@ -65,6 +78,7 @@
 	<property name="build.dir" value="${mcom.root}/built/dsmlgw" />
 	<!-- place to write final jar file and webapps files/dirs -->
 	<property name="dist.dir" value="${mcom.root}/../dist/dsmlgw" />
+	<property name="pkg.dir"  value="${dist.dir}/pkg"/>
 
 	<!-- see if we are using the binary axis package and if it is local -->
 	<available file="${axisdist.dir}/webapps/axis" type="dir"
@@ -160,6 +174,69 @@
 			</fileset>
 		</war>
 	</target>
+	
+	<target name="makepkg" description="create the distribution package" depends="makewar">
+		<mkdir dir="${pkg.dir}${dsmlgwdatadir}/webapps/axis"/>
+		<mkdir dir="${pkg.dir}${dsmlgwconfigdir}"/>
+		<mkdir dir="${pkg.dir}${dsmlgwlogdir}"/>
+		<mkdir dir="${pkg.dir}${dsmlgwrundir}"/>
+		<mkdir dir="${pkg.dir}${dsmlgwsbindir}"/>
+		<unjar src="${dist.dir}/dsmlgw.war" dest="${pkg.dir}${dsmlgwdatadir}/webapps/axis"/>
+		<copy file="misc/setup-ds-dsmlgw.in" tofile="${pkg.dir}${dsmlgwsbindir}/setup-ds-dsmlgw">
+			<filterchain>
+				<replacetokens>
+			    	<token key="package_name"      value="${ant.project.name}"/>
+			    	<token key="runtime_javahome"  value="${runtime.java.home}"/>
+			    	<token key="tomcat_home"       value="${tomcat.home}"/>
+			    	<token key="tomcat_cmd"        value="${tomcat.cmd}"/>
+			    	<token key="dsmlgwdatadir"     value="${dsmlgwdatadir}"/>
+			    	<token key="dsmlgwconfigdir"   value="${dsmlgwconfigdir}"/>
+			    	<token key="dsmlgwlogdir"      value="${dsmlgwlogdir}"/>
+			    	<token key="dsmlgwrundir"      value="${dsmlgwrundir}"/>
+			    	<token key="dsmlgwsbindir"     value="${dsmlgwsbindir}"/>
+			    	<token key="dsmlgwuser"        value="${dsmlgwuser}"/>
+			    </replacetokens>
+			</filterchain>		
+		</copy>
+		<copy file="misc/start-ds-dsmlgw.in" tofile="${pkg.dir}${dsmlgwsbindir}/start-ds-dsmlgw">
+			<filterchain>
+				<replacetokens>
+			    	<token key="package_name"      value="${ant.project.name}"/>
+			    	<token key="runtime_javahome"  value="${runtime.java.home}"/>
+			    	<token key="tomcat_home"       value="${tomcat.home}"/>
+			    	<token key="tomcat_cmd"        value="${tomcat.cmd}"/>
+			    	<token key="dsmlgwdatadir"     value="${dsmlgwdatadir}"/>
+			    	<token key="dsmlgwconfigdir"   value="${dsmlgwconfigdir}"/>
+			    	<token key="dsmlgwlogdir"      value="${dsmlgwlogdir}"/>
+			    	<token key="dsmlgwrundir"      value="${dsmlgwrundir}"/>
+			    	<token key="dsmlgwsbindir"     value="${dsmlgwsbindir}"/>
+			    	<token key="dsmlgwuser"        value="${dsmlgwuser}"/>
+			    </replacetokens>
+			</filterchain>		
+		</copy>
+		<copy file="misc/dsmlgw.env.in" tofile="${pkg.dir}${dsmlgwconfigdir}/dsmlgw.env">
+			<filterchain>
+				<replacetokens>
+			    	<token key="package_name"      value="${ant.project.name}"/>
+			    	<token key="runtime_javahome"  value="${runtime.java.home}"/>
+			    	<token key="tomcat_home"       value="${tomcat.home}"/>
+			    	<token key="tomcat_cmd"        value="${tomcat.cmd}"/>
+			    	<token key="dsmlgwdatadir"     value="${dsmlgwdatadir}"/>
+			    	<token key="dsmlgwconfigdir"   value="${dsmlgwconfigdir}"/>
+			    	<token key="dsmlgwlogdir"      value="${dsmlgwlogdir}"/>
+			    	<token key="dsmlgwrundir"      value="${dsmlgwrundir}"/>
+			    	<token key="dsmlgwsbindir"     value="${dsmlgwsbindir}"/>
+			    	<token key="dsmlgwuser"        value="${dsmlgwuser}"/>
+			    </replacetokens>
+			</filterchain>		
+		</copy>
+		<copy file="misc/dsmlgw.cfg" todir="${pkg.dir}${dsmlgwconfigdir}"/>
+		<tar destfile="${dist.dir}/${ant.project.name}-${version}.tar"
+			basedir="${pkg.dir}"/>
+		<gzip zipfile="${dist.dir}/${ant.project.name}-${version}.tar.gz"
+			src="${dist.dir}/${ant.project.name}-${version}.tar"/>
+		<delete file="${dist.dir}/${ant.project.name}-${version}.tar"/>
+	</target>
 
 	<target name="prepare" description="prepares the output directories">
 		<mkdir dir="${build.dir}" />




More information about the Fedora-directory-commits mailing list