You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2014/03/26 13:11:37 UTC
svn commit: r1581803 - in /tomee/tomee/trunk/tomee/tomee-deb/src/main:
groovy/org/apache/tomee/deb/ resources/control/ resources/init/
Author: tveronezi
Date: Wed Mar 26 12:11:37 2014
New Revision: 1581803
URL: http://svn.apache.org/r1581803
Log:
we can now install more than one version of the server in the same box.
Modified:
tomee/tomee/trunk/tomee/tomee-deb/src/main/groovy/org/apache/tomee/deb/PackageBuilder.groovy
tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/control.template
tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/postinst.sh
tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/prerm.sh
tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/setenv.sh
tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/tomee.sh
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/groovy/org/apache/tomee/deb/PackageBuilder.groovy
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/groovy/org/apache/tomee/deb/PackageBuilder.groovy?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/groovy/org/apache/tomee/deb/PackageBuilder.groovy (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/groovy/org/apache/tomee/deb/PackageBuilder.groovy Wed Mar 26 12:11:37 2014
@@ -68,6 +68,19 @@ class PackageBuilder {
return "${md5} ${file.absolutePath.substring(root.absolutePath.length() + 1)}"
}
+ private void writeTemplate(File file, String templatePath, Map variables) {
+ try {
+ file.withWriter { BufferedWriter out ->
+ def template = new GStringTemplateEngine().createTemplate(
+ this.class.getResource(templatePath)
+ ).make(variables)
+ out.write(template.toString())
+ }
+ } catch (e) {
+ throw new RuntimeException("Error building $templatePath", e)
+ }
+ }
+
String createControlDir(String dataDirPath) {
def dataDir = new File(dataDirPath)
def controlDir = new File(dataDir.parent, 'control')
@@ -81,27 +94,16 @@ class PackageBuilder {
}
}
Double installedSize = dataDir.directorySize() / 1024
- new File(controlDir, 'control').withWriter { BufferedWriter out ->
- def template = new GStringTemplateEngine().createTemplate(
- this.class.getResource('/control/control.template')
- ).make([
- tomeeVersion: properties.tomeeVersion,
- inMB : installedSize.longValue()
- ])
- out.write(template.toString())
- }
- new File(controlDir, 'postinst').withWriter { BufferedWriter out ->
- out.write(this.class.getResource('/control/postinst.sh').text)
- }
- new File(controlDir, 'prerm').withWriter { BufferedWriter out ->
- out.write(this.class.getResource('/control/prerm.sh').text)
- }
- new File(controlDir, 'postrm').withWriter { BufferedWriter out ->
- out.write(this.class.getResource('/control/postrm.sh').text)
- }
+ writeTemplate(new File(controlDir, 'control'), '/control/control.template', [
+ tomeeVersion: properties.tomeeVersion,
+ inMB : installedSize.longValue()
+ ])
+ writeTemplate(new File(controlDir, 'postinst'), '/control/postinst.sh', [tomeeVersion: properties.tomeeVersion])
+ writeTemplate(new File(controlDir, 'prerm'), '/control/prerm.sh', [tomeeVersion: properties.tomeeVersion])
+ writeTemplate(new File(controlDir, 'postrm'), '/control/postrm.sh', [tomeeVersion: properties.tomeeVersion])
new File(controlDir, 'conffiles').withWriter { BufferedWriter out ->
- new File(dataDir, 'etc/tomee').eachFile {
- out.writeLine("/etc/tomee/${it.name}")
+ new File(dataDir, "etc/tomee/${properties.tomeeVersion}").eachFile {
+ out.writeLine("/etc/tomee/${properties.tomeeVersion}/${it.name}")
}
out.writeLine('/etc/init.d/tomee')
}
@@ -113,47 +115,44 @@ class PackageBuilder {
def outputDir = new File(exploded.parent, 'output')
def dataDir = new File(outputDir, 'data')
dataDir.mkdirs()
- def distributionTomeeDir = new File(dataDir, 'usr/share/tomee')
+ def distributionTomeeDir = new File(dataDir, "usr/share/tomee/${properties.tomeeVersion}")
ant.move(todir: distributionTomeeDir.absolutePath) {
fileset(dir: explodedPath) {
include(name: "**/*")
}
}
- ant.move(todir: new File(dataDir, 'etc/tomee').absolutePath) {
+ ant.move(todir: new File(dataDir, "etc/tomee/${properties.tomeeVersion}").absolutePath) {
fileset(dir: new File(distributionTomeeDir, 'conf')) {
include(name: "**/*")
}
}
def initd = new File(dataDir, 'etc/init.d/')
initd.mkdirs()
- new File(initd, 'tomee').withWriter { BufferedWriter out ->
- out.write(this.class.getResource('/init/tomee.sh').text)
- }
- ant.move(todir: new File(dataDir, 'usr/share/doc/tomee/').absolutePath) {
+ writeTemplate(new File(initd, 'tomee'), '/init/tomee.sh', [
+ tomeeVersion: properties.tomeeVersion
+ ])
+ ant.move(todir: new File(dataDir, "usr/share/doc/tomee/${properties.tomeeVersion}/").absolutePath) {
fileset(file: new File(distributionTomeeDir, 'LICENSE').absolutePath)
fileset(file: new File(distributionTomeeDir, 'NOTICE').absolutePath)
fileset(file: new File(distributionTomeeDir, 'RELEASE-NOTES').absolutePath)
fileset(file: new File(distributionTomeeDir, 'RUNNING.txt').absolutePath)
}
- new File(dataDir, 'var/log/tomee').mkdirs()
- new File(dataDir, 'var/lib/tomee/temp').mkdirs()
- new File(dataDir, 'var/lib/tomee/work').mkdirs()
- new File(dataDir, 'var/lib/tomee/webapps').mkdirs()
+ new File(dataDir, "var/log/tomee/${properties.tomeeVersion}").mkdirs()
+ new File(dataDir, "var/lib/tomee/${properties.tomeeVersion}/temp").mkdirs()
+ new File(dataDir, "var/lib/tomee/${properties.tomeeVersion}/work").mkdirs()
+ new File(dataDir, "var/lib/tomee/${properties.tomeeVersion}/webapps").mkdirs()
new File(distributionTomeeDir, 'conf').delete() // add link from "/usr/lib/tomee/conf" to "/etc/tomee"
new File(distributionTomeeDir, 'logs').delete() // add link from "/usr/lib/tomee/logs" to "/var/log/tomee"
new File(distributionTomeeDir, 'temp').delete() // add link from "/usr/lib/tomee/temp" to "/var/lib/tomee/temp"
new File(distributionTomeeDir, 'work').delete() // add link from "/usr/lib/tomee/work" to "/var/lib/tomee/work"
- new File(dataDir, 'usr/share/doc/tomee/copyright').withWriter { BufferedWriter out ->
- def template = new GStringTemplateEngine().createTemplate(
- this.class.getResource('/copyright.template')
- ).make([
- formattedDate: new Date().toString()
- ])
- out.write(template.toString())
- }
- new File(distributionTomeeDir, 'bin/setenv.sh').withWriter { BufferedWriter out ->
- out.write(this.class.getResource('/init/setenv.sh').text)
- }
+ writeTemplate(
+ new File(dataDir, "usr/share/doc/tomee/${properties.tomeeVersion}/copyright"),
+ '/copyright.template',
+ [formattedDate: new Date().toString()]
+ )
+ writeTemplate(new File(distributionTomeeDir, 'bin/setenv.sh'), '/init/setenv.sh', [
+ tomeeVersion: properties.tomeeVersion
+ ])
exploded.delete()
dataDir.absolutePath
}
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/control.template
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/control.template?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/control.template (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/control.template Wed Mar 26 12:11:37 2014
@@ -1,4 +1,5 @@
-Package: tomee
+Package: tomee-${tomeeVersion}
+Provides: tomee
Version: ${tomeeVersion}
Section: java
Priority: optional
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/postinst.sh
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/postinst.sh?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/postinst.sh (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/postinst.sh Wed Mar 26 12:11:37 2014
@@ -1,17 +1,17 @@
#!/bin/sh
-ln -sf /etc/tomee /usr/share/tomee/conf
-ln -sf /var/log/tomee /usr/share/tomee/logs
-ln -sf /var/lib/tomee/temp /usr/share/tomee/temp
-ln -sf /var/lib/tomee/work /usr/share/tomee/work
-ln -sf /var/lib/tomee/webapps /usr/share/tomee/webapps
+ln -sf /etc/tomee/${tomeeVersion} /usr/share/tomee/${tomeeVersion}/conf
+ln -sf /var/log/tomee/${tomeeVersion} /usr/share/tomee/${tomeeVersion}/logs
+ln -sf /var/lib/tomee/${tomeeVersion}/temp /usr/share/tomee/${tomeeVersion}/temp
+ln -sf /var/lib/tomee/${tomeeVersion}/work /usr/share/tomee/${tomeeVersion}/work
+ln -sf /var/lib/tomee/${tomeeVersion}/webapps /usr/share/tomee/${tomeeVersion}/webapps
groupadd apachetomee
useradd apachetomee -g apachetomee
-chown -R apachetomee:apachetomee /usr/share/tomee
-chown -R apachetomee:apachetomee /var/log/tomee
-chown -R apachetomee:apachetomee /var/lib/tomee
+chown -R apachetomee:apachetomee /usr/share/tomee/${tomeeVersion}
+chown -R apachetomee:apachetomee /var/log/tomee/${tomeeVersion}
+chown -R apachetomee:apachetomee /var/lib/tomee/${tomeeVersion}
update-rc.d tomee defaults
-echo "Reboot your machine or run 'service tomee start' to start the Apache TomEE server"
\ No newline at end of file
+echo "Reboot your machine or run 'service tomee start' to start the Apache TomEE server (version: ${tomeeVersion})"
\ No newline at end of file
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/prerm.sh
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/prerm.sh?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/prerm.sh (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/control/prerm.sh Wed Mar 26 12:11:37 2014
@@ -1,13 +1,13 @@
#!/bin/sh
-CATALINA_HOME=/usr/share/tomee
-su - apachetomee -c "$CATALINA_HOME/bin/shutdown.sh -force"
+CATALINA_HOME=/usr/share/tomee/${tomeeVersion}
+su - apachetomee -c "\$CATALINA_HOME/bin/shutdown.sh -force"
-rm -f /usr/share/tomee/conf
-rm -f /usr/share/tomee/logs
-rm -f /usr/share/tomee/temp
-rm -f /usr/share/tomee/work
-rm -f /usr/share/tomee/webapps
+rm -f /usr/share/tomee/${tomeeVersion}/conf
+rm -f /usr/share/tomee/${tomeeVersion}/logs
+rm -f /usr/share/tomee/${tomeeVersion}/temp
+rm -f /usr/share/tomee/${tomeeVersion}/work
+rm -f /usr/share/tomee/${tomeeVersion}/webapps
-rm -Rf /var/lib/tomee/*
-rm -Rf /var/log/tomee/*
+rm -Rf /var/lib/tomee/${tomeeVersion}/*
+rm -Rf /var/log/tomee/${tomeeVersion}/*
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/setenv.sh
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/setenv.sh?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/setenv.sh (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/setenv.sh Wed Mar 26 12:11:37 2014
@@ -1,2 +1,2 @@
#!/bin/sh
-export CATALINA_PID=/usr/share/tomee/temp/tomee.pid
\ No newline at end of file
+export CATALINA_PID=/usr/share/tomee/${tomeeVersion}/temp/tomee.pid
\ No newline at end of file
Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/tomee.sh
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/tomee.sh?rev=1581803&r1=1581802&r2=1581803&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/tomee.sh (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/init/tomee.sh Wed Mar 26 12:11:37 2014
@@ -1,28 +1,28 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: tomee
-# Short-Description: Apache TomEE
+# Short-Description: Apache TomEE ${tomeeVersion}
# Description: Manages the Apache TomEE server.
### END INIT INFO
-CATALINA_HOME=/usr/share/tomee
+CATALINA_HOME=/usr/share/tomee/${tomeeVersion}
TOMCAT_USER=apachetomee
RETVAL=0
start(){
- echo "Starting TomEE: "
- su - $TOMCAT_USER -c "$CATALINA_HOME/bin/catalina.sh start"
- RETVAL=$?
- return $RETVAL
+ echo "Starting TomEE ${properties.tomeeVersion}: "
+ su - \$TOMCAT_USER -c "\$CATALINA_HOME/bin/catalina.sh start"
+ RETVAL=\$?
+ return \$RETVAL
}
stop(){
- echo "Shutting down TomEE: "
- su - $TOMCAT_USER -c "$CATALINA_HOME/bin/shutdown.sh -force"
- RETVAL=$?
- return $RETVAL
+ echo "Shutting down TomEE ${properties.tomeeVersion}: "
+ su - \$TOMCAT_USER -c "\$CATALINA_HOME/bin/shutdown.sh -force"
+ RETVAL=\$?
+ return \$RETVAL
}
-case "$1" in
+case "\$1" in
start)
start
;;
@@ -34,8 +34,8 @@ case "$1" in
start
;;
*)
- echo $"Usage: $0 {start|stop|restart}"
+ echo \$"Usage: \$0 {start|stop|restart}"
exit 1
;;
esac
-exit $?
\ No newline at end of file
+exit \$?
\ No newline at end of file