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/04/11 20:02:45 UTC

svn commit: r1586731 - in /tomee/tomee/trunk/tomee/tomee-deb/src/main: groovy/org/apache/tomee/deb/PackageBuilder.groovy resources/changelog.template resources/control/postinst.sh resources/control/prerm.sh resources/init/tomee.sh

Author: tveronezi
Date: Fri Apr 11 18:02:45 2014
New Revision: 1586731

URL: http://svn.apache.org/r1586731
Log:
removing some lintian violations
- missing changelog
- bad changelog name
- bad changelog format
- changelog not compressed
- config file not in etc
- missing "force-reload" target

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/changelog.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/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=1586731&r1=1586730&r2=1586731&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 Fri Apr 11 18:02:45 2014
@@ -36,14 +36,19 @@ class PackageBuilder {
     def properties
 
     def getJiraData = {
-        def factory = new AsynchronousJiraRestClientFactory()
-        def restClient = factory.create(new URI(JIRA_SRV), new AnonymousAuthenticationHandler())
+        def restClient = null
         try {
+            def factory = new AsynchronousJiraRestClientFactory()
+            restClient = factory.create(new URI(JIRA_SRV), new AnonymousAuthenticationHandler())
             String version = properties.tomeeVersion
             version = version.replaceAll('-SNAPSHOT$', '')
             def query = "project = TOMEE AND issuetype in standardIssueTypes() AND affectedVersion in (${version}) AND status in (Resolved, Closed)"
             return restClient.searchClient.searchJql(query).get(1, TimeUnit.MINUTES)
-        } finally {
+        } catch (e) {
+            e.printStackTrace()
+            return null
+        }
+        finally {
             restClient?.close()
         }
     }.memoize() // execute it just once per instance
@@ -53,7 +58,7 @@ class PackageBuilder {
         String version = properties.tomeeVersion
         version = version.replaceAll('-SNAPSHOT$', '')
         def templateFile = this.class.getResource('/changelog.template')
-        getJiraData().issues.each { Issue issue ->
+        getJiraData()?.issues?.each { Issue issue ->
             def urgency
             switch (issue.priority.name) {
                 case 'Blocker':
@@ -90,12 +95,18 @@ class PackageBuilder {
 
     void buildChangelog(File docDir, String classifier) {
         def issues = buildChangelogContent(classifier)
-        new File(docDir, 'changelog.txt').withWriter { BufferedWriter writer ->
+        if(!issues) {
+            return
+        }
+        def changelogFile = new File(docDir, 'changelog.Debian')
+        changelogFile.withWriter { BufferedWriter writer ->
             issues.each { String issue ->
-                writer.write(issue)
-                writer.writeLine('')
+                writer.writeLine(issue)
             }
         }
+        def changelogFileGz = new File(changelogFile.parent, 'changelog.Debian.gz')
+        ant.gzip(src: changelogFile.absolutePath, destfile: changelogFileGz.absolutePath)
+        changelogFile.delete()
     }
 
     String unzip(String classifier, String tarPath) {
@@ -189,20 +200,15 @@ class PackageBuilder {
         writeTemplate(new File(controlDir, 'prerm'), '/control/prerm.sh', [tomeeVersion: properties.tomeeVersion, classifier: classifier])
         writeTemplate(new File(controlDir, 'postrm'), '/control/postrm.sh', [tomeeVersion: properties.tomeeVersion, classifier: classifier])
         new File(controlDir, 'conffiles').withWriter { BufferedWriter out ->
-            new File(dataDir, "etc/tomee-${classifier}-${properties.tomeeVersion}").eachFile {
-                out.writeLine("/etc/tomee-${classifier}-${properties.tomeeVersion}/${it.name}")
-            }
-            out.writeLine("/etc/init.d/tomee-${classifier}")
-            new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/conf").eachFile {
+            new File(dataDir, "etc/tomee-${classifier}").eachFile {
                 if (it.isFile()) {
-                    out.writeLine("/var/lib/tomee-${classifier}-${properties.tomeeVersion}/conf/${it.name}")
+                    out.writeLine("/etc/tomee-${classifier}/${it.name}")
                 }
             }
-            new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/conf/conf.d").eachFile {
-                if (it.isFile()) {
-                    out.writeLine("/var/lib/tomee-${classifier}-${properties.tomeeVersion}/conf/conf.d/${it.name}")
-                }
+            new File(dataDir, "etc/tomee-${classifier}/conf.d").eachFile {
+                out.writeLine("/etc/tomee-${classifier}/conf.d/${it.name}")
             }
+            out.writeLine("/etc/init.d/tomee-${classifier}")
         }
         controlDir.absolutePath
     }
@@ -212,72 +218,67 @@ class PackageBuilder {
         def outputDir = new File(exploded.parent, "output-${classifier}")
         def dataDir = new File(outputDir, 'data')
         dataDir.mkdirs()
-        def distributionTomeeDir = new File(dataDir, "usr/share/tomee-${classifier}-${properties.tomeeVersion}")
+        def distributionTomeeDir = new File(dataDir, "usr/share/tomee-${classifier}")
         ant.move(todir: distributionTomeeDir.absolutePath) {
             fileset(dir: explodedPath) {
                 include(name: "**/*")
             }
         }
-        def homeConf = new File(dataDir, "etc/tomee-${classifier}-${properties.tomeeVersion}")
+        new File(distributionTomeeDir, 'LICENSE').delete() // Unnecessary (lintian complains about this guy.)
+        def homeConf = new File(dataDir, "etc/tomee-${classifier}")
         ant.move(todir: homeConf.absolutePath) {
             fileset(dir: new File(distributionTomeeDir, 'conf')) {
                 include(name: "**/*")
             }
         }
-        def initd = new File(dataDir, 'etc/init.d/')
-        initd.mkdirs()
-        writeTemplate(new File(initd, "tomee-${classifier}"), '/init/tomee.sh', [
-                classifier  : classifier,
-                tomeeVersion: properties.tomeeVersion
-        ])
-        def docDir = new File(dataDir, "usr/share/doc/tomee-${classifier}-${properties.tomeeVersion}/")
-        ant.move(todir: docDir.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)
-        }
-        buildChangelog(docDir, classifier)
-        new File(dataDir, "var/log/tomee-${classifier}-${properties.tomeeVersion}").mkdirs()
-        def baseConfDir = new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/conf")
-        baseConfDir.mkdirs()
-        ant.copy(todir: baseConfDir.absolutePath) {
-            fileset(file: new File(homeConf, 'server.xml'))
-            fileset(file: new File(homeConf, 'tomcat-users.xml'))
-        }
-        new File(baseConfDir.absolutePath, 'openejb.conf').withWriter { BufferedWriter out ->
+        new File(homeConf, 'openejb.conf').withWriter { BufferedWriter out ->
             def data = this.class.getResource('/default.openejb.conf').text
             out.write(data)
         }
-        def baseConfDDir = new File(baseConfDir, 'conf.d')
-        baseConfDDir.mkdirs()
+        def homeConfD = new File(homeConf, 'conf.d')
+        homeConfD.mkdirs()
         // Saving default configuration files
-        new File(baseConfDDir, 'cxf.properties').withWriter { BufferedWriter out ->
+        new File(homeConfD, 'cxf.properties').withWriter { BufferedWriter out ->
             def data = this.class.getResource('/META-INF/org.apache.openejb.server.ServerService/cxf').text
             out.write(data)
         }
-        new File(baseConfDDir, 'cxf-rs.properties').withWriter { BufferedWriter out ->
+        new File(homeConfD, 'cxf-rs.properties').withWriter { BufferedWriter out ->
             def data = this.class.getResource('/META-INF/org.apache.openejb.server.ServerService/cxf-rs').text
             out.write(data)
         }
-        new File(baseConfDDir, 'hsql.properties').withWriter { BufferedWriter out ->
+        new File(homeConfD, 'hsql.properties').withWriter { BufferedWriter out ->
             def data = this.class.getResource('/META-INF/org.apache.openejb.server.ServerService/hsql').text
             out.write(data)
         }
-        new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/temp").mkdirs()
-        new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/work").mkdirs()
-        new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/webapps").mkdirs()
-        new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/apps").mkdirs()
+        def initd = new File(dataDir, 'etc/init.d/')
+        initd.mkdirs()
+        writeTemplate(new File(initd, "tomee-${classifier}"), '/init/tomee.sh', [
+                classifier  : classifier,
+                tomeeVersion: properties.tomeeVersion
+        ])
+        def docDir = new File(dataDir, "usr/share/doc/tomee-${classifier}/")
+        ant.move(todir: docDir.absolutePath) {
+            fileset(file: new File(distributionTomeeDir, 'NOTICE').absolutePath)
+            fileset(file: new File(distributionTomeeDir, 'RELEASE-NOTES').absolutePath)
+            fileset(file: new File(distributionTomeeDir, 'RUNNING.txt').absolutePath)
+        }
+        buildChangelog(docDir, classifier)
+        new File(dataDir, "var/log/tomee-${classifier}").mkdirs()
+        new File(dataDir, "var/lib/tomee-${classifier}/conf").mkdirs()
+        new File(dataDir, "var/lib/tomee-${classifier}/temp").mkdirs()
+        new File(dataDir, "var/lib/tomee-${classifier}/work").mkdirs()
+        new File(dataDir, "var/lib/tomee-${classifier}/webapps").mkdirs()
+        new File(dataDir, "var/lib/tomee-${classifier}/apps").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"
         writeTemplate(
-                new File(dataDir, "usr/share/doc/tomee-${classifier}-${properties.tomeeVersion}/copyright"),
+                new File(dataDir, "usr/share/doc/tomee-${classifier}/copyright"),
                 '/copyright.template',
                 [formattedDate: new Date().toString()]
         )
-        def baseBinDir = new File(dataDir, "var/lib/tomee-${classifier}-${properties.tomeeVersion}/bin")
+        def baseBinDir = new File(dataDir, "var/lib/tomee-${classifier}/bin")
         baseBinDir.mkdirs()
         writeTemplate(new File(baseBinDir, 'setenv.sh'), '/init/setenv.sh', [
                 classifier  : classifier,

Modified: tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/changelog.template
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/changelog.template?rev=1586731&r1=1586730&r2=1586731&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/changelog.template (original)
+++ tomee/tomee/trunk/tomee/tomee-deb/src/main/resources/changelog.template Fri Apr 11 18:02:45 2014
@@ -2,4 +2,5 @@ tomee-${classifier} (${tomeeVersion}) st
 
   * ${issueTitle}
     https://issues.apache.org/jira/browse/${issueID}
-  -- ${issueMaintainer} <${issueMaintainerEmail}>  ${issueFixDate}
+
+ -- ${issueMaintainer} <${issueMaintainerEmail}>  ${issueFixDate}
\ No newline at end of file

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=1586731&r1=1586730&r2=1586731&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 Fri Apr 11 18:02:45 2014
@@ -1,16 +1,27 @@
 #!/bin/sh -e
 
-ln -sf /etc/tomee-${classifier}-${tomeeVersion} /usr/share/tomee-${classifier}-${tomeeVersion}/conf
-ln -sf /var/log/tomee-${classifier}-${tomeeVersion} /var/lib/tomee-${classifier}-${tomeeVersion}/logs
+ln -sf /etc/tomee-${classifier} /usr/share/tomee-${classifier}/conf
+ln -sf /var/log/tomee-${classifier} /var/lib/tomee-${classifier}/logs
+
+# Creating links from catalina_base to the configuration files in catalina_home
+ln -sf /etc/tomee-${classifier}/server.xml /var/lib/tomee-${classifier}/conf/server.xml
+ln -sf /etc/tomee-${classifier}/tomcat-users.xml /var/lib/tomee-${classifier}/conf/tomcat-users.xml
+ln -sf /etc/tomee-${classifier}/openejb.conf /var/lib/tomee-${classifier}/conf/openejb.conf
+ln -sf /etc/tomee-${classifier}/conf.d /var/lib/tomee-${classifier}/conf/conf.d
 
 groupadd apachetomee || true
 useradd --system apachetomee -g apachetomee || true
 
-chown -R root:apachetomee /var/log/tomee-${classifier}-${tomeeVersion}
-chown -R root:apachetomee /var/lib/tomee-${classifier}-${tomeeVersion}
-chown -R root:apachetomee /etc/tomee-${classifier}-${tomeeVersion}
-chmod -R g+w /var/log/tomee-${classifier}-${tomeeVersion}
-chmod -R g+w /var/lib/tomee-${classifier}-${tomeeVersion}
+chown -R root:apachetomee /var/log/tomee-${classifier}
+chown -R root:apachetomee /var/lib/tomee-${classifier}
+chown -R root:apachetomee /etc/tomee-${classifier}
+
+# users from the apachetomee group should be able to change settings.
+# there is no need to be root.
+chmod -R g+w /etc/tomee-${classifier}
+
+chmod -R g+w /var/log/tomee-${classifier}
+chmod -R g+w /var/lib/tomee-${classifier}
 
 update-rc.d tomee-${classifier} defaults
 

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=1586731&r1=1586730&r2=1586731&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 Fri Apr 11 18:02:45 2014
@@ -6,20 +6,21 @@ service tomee-${classifier} stop || true
 update-alternatives --remove tomee /etc/init.d/tomee-${classifier}
 
 # removing link to /var/logs
-rm -f /var/lib/tomee-${classifier}-${tomeeVersion}/logs
+rm -f /var/lib/tomee-${classifier}/logs
 
 # removing non-configuration files
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/apps
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/bin
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/temp
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/webapps
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/work
+rm -Rf /var/lib/tomee-${classifier}/apps
+rm -Rf /var/lib/tomee-${classifier}/conf
+rm -Rf /var/lib/tomee-${classifier}/bin
+rm -Rf /var/lib/tomee-${classifier}/temp
+rm -Rf /var/lib/tomee-${classifier}/webapps
+rm -Rf /var/lib/tomee-${classifier}/work
 
 # removing files created by tomcat
-rm -Rf /var/lib/tomee-${classifier}-${tomeeVersion}/conf/Catalina
+rm -Rf /var/lib/tomee-${classifier}/conf/Catalina
 
 # removing link to /etc
-rm -f /usr/share/tomee-${classifier}-${tomeeVersion}/conf
+rm -f /usr/share/tomee-${classifier}/conf
 
 # removing logs
-rm -Rf /var/log/tomee-${classifier}-${tomeeVersion}/*
+rm -Rf /var/log/tomee-${classifier}/*

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=1586731&r1=1586730&r2=1586731&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 Fri Apr 11 18:02:45 2014
@@ -8,8 +8,8 @@
 # Short-Description: Apache TomEE ${classifier} ${tomeeVersion}
 # Description:       Manages the Apache TomEE server.
 ### END INIT INFO
-TOMEE_HOME=/usr/share/tomee-${classifier}-${tomeeVersion}
-export CATALINA_BASE=/var/lib/tomee-${classifier}-${tomeeVersion}
+TOMEE_HOME=/usr/share/tomee-${classifier}
+export CATALINA_BASE=/var/lib/tomee-${classifier}
 TOMEE_USER=apachetomee
 
 start(){
@@ -35,6 +35,10 @@ case \$1 in
       stop
       start
       ;;
+   force-reload)
+      stop
+      start
+      ;;
    version)
       echo "TomEE ${classifier} (version ${tomeeVersion})"
       ;;