changeset 10:07bab12cf4c9 default tip

Updated felix-scr and thermostat to use felix-scr 1.6.2. Added kxml package.
author Jie Kang <jkang@redhat.com>
date Wed, 17 Jun 2015 15:04:52 -0400
parents 8660c12b2bce
children
files rpmbuild/SOURCES/fix_bundle_loading-new.patch rpmbuild/SOURCES/kxml-2.3.0-OSGI-MANIFEST.MF rpmbuild/SOURCES/kxml-2.3.0-clean.tar.gz rpmbuild/SOURCES/kxml2-2.3.0.pom rpmbuild/SOURCES/kxml2-min-2.3.0.pom rpmbuild/SOURCES/org.apache.felix.scr-1.6.2.tar.gz rpmbuild/SOURCES/thermostat-1.99.2-1.6.2-1.tar.gz rpmbuild/SPECS/felix-scr-1.6.2.spec rpmbuild/SPECS/kxml.spec rpmbuild/SPECS/thermostat-1.6.2.spec
diffstat 10 files changed, 1539 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rpmbuild/SOURCES/fix_bundle_loading-new.patch	Thu Jun 11 11:20:26 2015 -0400
+++ b/rpmbuild/SOURCES/fix_bundle_loading-new.patch	Wed Jun 17 15:04:52 2015 -0400
@@ -1,5 +1,3 @@
-# HG changeset patch
-# Parent 569c59a6b65ee1cf8e85a4ae9bf1218ff063fea4
 diff --git a/distribution/config/commands/agent-info.properties b/distribution/config/commands/agent-info.properties
 --- a/distribution/config/commands/agent-info.properties
 +++ b/distribution/config/commands/agent-info.properties
@@ -208,7 +206,7 @@
 diff --git a/main/src/main/resources/com/redhat/thermostat/main/impl/bootstrapbundles.properties b/main/src/main/resources/com/redhat/thermostat/main/impl/bootstrapbundles.properties
 --- a/main/src/main/resources/com/redhat/thermostat/main/impl/bootstrapbundles.properties
 +++ b/main/src/main/resources/com/redhat/thermostat/main/impl/bootstrapbundles.properties
-@@ -4,6 +4,7 @@
+@@ -4,8 +4,9 @@
          thermostat-common-core-${project.version}.jar, \
          thermostat-plugin-validator-${project.version}.jar, \
          thermostat-launcher-${project.version}.jar, \
@@ -218,6 +216,9 @@
 +        jansi.jar, \
 +        commons-cli.jar, \
          org.apache.felix.scr-${felix.scr.version}.jar, \
+-        kxml2-2.3.0.jar, \
++        kxml2.jar, \
+         org.osgi.compendium.jar, \
 diff --git a/storage-profile/distribution/thermostat-plugin.xml b/storage-profile/distribution/thermostat-plugin.xml
 --- a/storage-profile/distribution/thermostat-plugin.xml
 +++ b/storage-profile/distribution/thermostat-plugin.xml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SOURCES/kxml-2.3.0-OSGI-MANIFEST.MF	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,12 @@
+Bundle-SymbolicName: kxml2-2.3.0
+Export-Package: org.kxml2.io;version="2.3.0",
+ org.kxml2.kdom;version="2.3.0",
+ org.kxml2.wap;version="2.3.0",
+ org.kxml2.syncml;version="2.3.0",
+ org.kxml2.wml;version="2.3.0",
+ org.kxml2.wv;version="2.3.0",
+ org.xmlpull.v1;version="2.3.0"
+Bundle-Version: 2.3.0
+Bundle-Vendor: fedoraproject.org
+Bundle-Name: kxml2-2.3.0
+Bundle-ManifestVersion: 2
Binary file rpmbuild/SOURCES/kxml-2.3.0-clean.tar.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SOURCES/kxml2-2.3.0.pom	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,32 @@
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.sf.kxml</groupId>
+    <artifactId>kxml2</artifactId>
+    <version>2.3.0</version>
+    <packaging>jar</packaging>
+    <name>kXML 2 is a small XML pull parser based on the common XML pull API</name>
+    <url>http://kxml.sourceforge.net/</url>
+    <description>kXML is a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices. In contrast to kXML 1, kXML 2 is based on the common XML pull API.</description>
+    <licenses>
+        <license>
+            <name>BSD style</name>
+            <url>http://kxml.cvs.sourceforge.net/viewvc/kxml/kxml2/license.txt?view=markup</url>
+            <distribution>repo</distribution>
+            <comments>The license applies to the kXML2 classes (all classes below the org.kxml2 package).</comments>
+        </license>
+        <license>
+            <name>Public Domain</name>
+            <url>http://creativecommons.org/licenses/publicdomain</url>
+            <distribution>repo</distribution>
+            <comments>The license applies to the XmlPull API (all classes directly in the org.xmlpull.v1 package)</comments>
+        </license>
+    </licenses>
+    <scm>
+        <url>http://kxml.cvs.sourceforge.net/viewvc/kxml/kxml2/</url>
+    </scm>
+    <organization>
+        <name>Stefan Haustein, Oberhausen, Rhld., Germany</name>
+        <url>http://kxml.sourceforge.net/</url>
+    </organization>
+    <dependencies/>
+</project>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SOURCES/kxml2-min-2.3.0.pom	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,32 @@
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>net.sf.kxml</groupId>
+    <artifactId>kxml2-min</artifactId>
+    <version>2.3.0</version>
+    <packaging>jar</packaging>
+    <name>kXML 2 is a small XML pull parser based on the common XML pull API</name>
+    <url>http://kxml.sourceforge.net/</url>
+    <description>kXML is a small XML pull parser, specially designed for constrained environments such as Applets, Personal Java or MIDP devices. In contrast to kXML 1, kXML 2 is based on the common XML pull API. This archive contains only the kXML 2 parser.</description>
+    <licenses>
+        <license>
+            <name>BSD style</name>
+            <url>http://kxml.cvs.sourceforge.net/viewvc/kxml/kxml2/license.txt?view=markup</url>
+            <distribution>repo</distribution>
+            <comments>The license applies to the kXML2 classes (all classes below the org.kxml2 package).</comments>
+        </license>
+        <license>
+            <name>Public Domain</name>
+            <url>http://creativecommons.org/licenses/publicdomain</url>
+            <distribution>repo</distribution>
+            <comments>The license applies to the XmlPull API (all classes directly in the org.xmlpull.v1 package)</comments>
+        </license>
+    </licenses>
+    <scm>
+        <url>http://kxml.cvs.sourceforge.net/viewvc/kxml/kxml2/</url>
+    </scm>
+    <organization>
+        <name>Stefan Haustein, Oberhausen, Rhld., Germany</name>
+        <url>http://kxml.sourceforge.net/</url>
+    </organization>
+    <dependencies/>
+</project>
Binary file rpmbuild/SOURCES/org.apache.felix.scr-1.6.2.tar.gz has changed
Binary file rpmbuild/SOURCES/thermostat-1.99.2-1.6.2-1.tar.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SPECS/felix-scr-1.6.2.spec	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,95 @@
+%global project felix
+%global bundle  org.apache.felix.scr
+Name:          felix-scr
+Version:       1.6.2
+Release:       2%{?dist}
+Summary:       Apache Felix Declarative Services
+License:       ASL 2.0
+URL:           http://felix.apache.org/
+# Latest release use org.osgi:org.osgi.enterprise:jar:5.0.0 & org.osgi:org.osgi.core:jar:5.0.0
+# To build tarball from vcs use:
+# svn export http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.scr-1.8.2
+# tar -czvf org.apache.felix.scr-1.8.2.tar.gz org.apache.felix.scr-1.8.2
+Source0:       %{bundle}-%{version}.tar.gz
+
+BuildRequires: maven-local
+BuildRequires: mvn(net.sf.kxml:kxml2)
+BuildRequires: mvn(org.apache.felix:felix-parent:pom:)
+BuildRequires: mvn(org.apache.felix:org.apache.felix.framework)
+BuildRequires: mvn(org.apache.felix:org.apache.felix.gogo.runtime)
+BuildRequires: mvn(org.apache.felix:org.apache.felix.shell)
+BuildRequires: mvn(org.apache.felix:org.apache.felix.utils)
+BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
+BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin)
+#BuildRequires: mvn(org.eclipse:osgi)
+BuildRequires: mvn(org.osgi:org.osgi.compendium)
+BuildRequires: mvn(org.osgi:org.osgi.core)
+
+BuildArch:     noarch
+
+%description
+Implementation of the Declarative Services specification 1.2.
+
+%package javadoc
+Summary:       Javadoc for %{name}
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%setup -q -n %{bundle}-%{version}
+
+%pom_remove_plugin :animal-sniffer-maven-plugin
+
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions/pom:Private-Package"
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions/pom:Embed-Dependency"
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions/pom:Export-Package"
+%pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions" '
+<Export-Package>
+    org.apache.felix.scr;version=1.7,
+    org.apache.felix.scr.component;version=1.0;
+        mandatory:="status"; status="provisional"
+</Export-Package>'
+%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions/pom:Import-Package"
+%pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-bundle-plugin']/pom:configuration/pom:instructions" '
+<Import-Package>
+    org.apache.felix.service.command;resolution:=optional,
+    org.apache.felix.shell;provide:=true;resolution:=optional,
+    org.osgi.framework;version="[1.4,2)",
+    org.osgi.service.log;version="[1.3,2)";resolution:=optional,
+    org.osgi.service.packageadmin;version="[1.2,2)";resolution:=optional,
+    org.osgi.service.component;provide:=true,
+    org.apache.felix.scr;provide:=true,
+    org.kxml2.io,
+    org.osgi.util.tracker, org.xmlpull.v1
+</Import-Package>'
+
+%pom_xpath_remove "pom:project/pom:dependencies/pom:dependency[pom:scope='test']"
+
+%pom_remove_dep org.ops4j.base:
+
+# error: type ServiceReference does not take parameters (java7 build fix)
+sed -i "s|public void configureComponentHolders(final ServiceReference<ConfigurationAdmin>|public void configureComponentHolders(final ServiceReference|" \
+ src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java
+
+%mvn_file :%{bundle} %{project}/%{bundle}
+
+%build
+
+# no test deps availables e.g org.ops4j.pax.url:pax-url-wrap:1.4.0.RC1
+%mvn_build -f -- -Dproject.build.sourceEncoding=UTF-8
+
+%install
+%mvn_install
+
+%files -f .mfiles
+%doc changelog.txt
+
+%files javadoc -f .mfiles-javadoc
+
+%changelog
+* Wed Jun 17 2015 Jie Kang <jkang@redhat.com> - 1.6.2-2
+- Changed to vcs source as tarball no longer available
+
+* Sun Oct 06 2013 gil cattaneo <puntogil@libero.it> 1.6.2-1
+- initial rpm
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SPECS/kxml.spec	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,184 @@
+# Copyright (c) 2000-2008, JPackage Project
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name of the JPackage Project nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+Name:           kxml
+Version:        2.3.0
+Release:        8%{?dist}
+Summary:        Small XML pull parser
+License:        MIT
+URL:            http://kxml.sourceforge.net/
+# ./create-tarball %%{version}
+Source0:        %{name}-%{version}-clean.tar.gz
+Source1:        http://repo1.maven.org/maven2/net/sf/kxml/kxml2/%{version}/kxml2-%{version}.pom
+Source2:        http://repo1.maven.org/maven2/net/sf/kxml/kxml2-min/%{version}/kxml2-min-%{version}.pom
+Source3:        %{name}-%{version}-OSGI-MANIFEST.MF
+
+BuildRequires:  java-devel
+BuildRequires:  ant >= 0:1.6.5
+BuildRequires:  xpp3 >= 0:1.1.3.1
+Requires:       java-headless
+Requires:       xpp3 >= 0:1.1.3.1
+
+BuildArch:      noarch
+
+%description
+kXML is a small XML pull parser, specially designed for constrained
+environments such as Applets, Personal Java or MIDP devices.
+
+%package        javadoc
+Summary:        Javadoc for %{name}
+
+%description    javadoc
+API documentation for %{name}.
+
+%prep
+%setup -q
+ln -sf $(build-classpath xpp3) lib/xmlpull_1_1_3_1.jar
+
+%build
+ant
+
+pushd dist
+mkdir META-INF
+unzip -o %{name}2-%{version}.jar META-INF/MANIFEST.MF
+cat %{SOURCE3} >> META-INF/MANIFEST.MF
+sed -i '/^\r$/d' META-INF/MANIFEST.MF
+zip -u %{name}2-%{version}.jar META-INF/MANIFEST.MF
+popd
+
+
+%install
+install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
+
+install -m 644 %{SOURCE1} \
+        $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}.pom
+install -m 644 %{SOURCE2} \
+        $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}-min.pom
+
+# jars
+install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
+install -m 644 dist/%{name}2-%{version}.jar \
+        $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
+install -m 644 dist/%{name}2-min-%{version}.jar \
+        $RPM_BUILD_ROOT%{_javadir}/%{name}-min.jar
+
+%add_maven_depmap JPP-%{name}.pom %{name}.jar
+%add_maven_depmap JPP-%{name}-min.pom %{name}-min.jar
+
+# javadoc
+install -p -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+cp -pr www/kxml2/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+
+%files -f .mfiles
+%doc license.txt
+%{_javadir}/*.jar
+
+%files javadoc
+%doc license.txt
+%{_javadocdir}/%{name}
+
+%changelog
+* Tue Jun 16 2015 Jie Kang <jkang@redhat.com> - 2.3.0-8
+- Add aqute bnd instructions to produce OSGi metadata.
+
+* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Thu May 29 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-6
+- Use .mfiles generated during build
+
+* Tue Mar 04 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 2.3.0-5
+- Use Requires: java-headless rebuild (#1067528)
+
+* Wed Feb 19 2014 Michal Srb <msrb@redhat.com> - 2.3.0-4
+- Install POM+depmap for net.sf.kxml:kxml2-min
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Wed Jul 24 2013 Michal Srb <msrb@redhat.com> - 2.3.0-2
+- Clean up tarball
+- Drop group tag
+- Fix R
+
+* Thu Jan 24 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.0-1
+- Update to upstream version 2.3.0
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Apr 30 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.2.2-11
+- Fix license tag
+- Add missing Requires
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Nov 29 2011 Alexander Kurtakov <akurtako@redhat.com> 2.2.2-9
+- Adapt to current guidelines.
+
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Dec 9 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> 2.2.2-7
+- Fix pom dependency from xmlpull to xpp3
+
+* Wed Dec 8 2010 Alexander Kurtakov <akurtako@redhat.com> 2.2.2-6
+- Remove versioned jar and javadoc.
+- Fix pom name.
+
+* Thu Sep 3 2009 Alexander Kurtakov <akurtako@redhat.com> 2.2.2-5
+- Fix Summary and description.
+- Fix line length.
+- Use pom from the URL.
+
+* Thu Sep 3 2009 Alexander Kurtakov <akurtako@redhat.com> 2.2.2-4
+- Adapt for Fedora.
+
+* Mon Dec 08 2008 Will Tatam <will.tatam@red61.com> 2.2.2-3
+- Auto rebuild for JPackage 5 in mock
+
+* Wed May 07 2008 Ralph Apel <r.apel@r-apel.de> 0:2.2.2-2jpp
+- Add xpp3 (B)R
+
+* Wed May 07 2008 Ralph Apel <r.apel@r-apel.de> 0:2.2.2-1jpp
+- 2.2.2
+
+* Thu Aug 26 2004 Fernando Nasser <fnasser@redhat.com> 0:2.1.8-4jpp
+- Pro-forma rebuild with Ant 1.6.2
+
+* Mon Jan 26 2004 David Walluck <david@anti-microsoft.org> 0:2.1.8-3jpp
+- remove fractal reference
+
+* Sun Jan 25 2004 David Walluck <david@anti-microsoft.org> 0:2.1.8-2jpp
+- fix license
+
+* Sun Jan 25 2004 David Walluck <david@anti-microsoft.org> 0:2.1.8-1jpp
+- release
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rpmbuild/SPECS/thermostat-1.6.2.spec	Wed Jun 17 15:04:52 2015 -0400
@@ -0,0 +1,1180 @@
+# Thermostat version
+%global major        1
+%global minor        99
+%global patchlevel   2
+# Thermostat requires exact versions for bundle dependencies.
+# We use those versions to pass to the maven build in order for
+# it to set it in relevant files.
+
+# Real OSGi Bundle-Version is 3.6.6.Final
+%global netty_bundle_version       3.6.6
+%global jcommon_bundle_version     1.0.23
+%global jfreechart_bundle_version  1.0.19
+# apache-commons-beanutils
+%global beanutils_bundle_version   1.9.2
+# apache-commons-codec
+%global codec_bundle_version       1.9.0
+# apache-commons-collections
+%global collections_bundle_version 3.2.1
+# apache-commons-logging
+%global logging_bundle_version     1.1.3
+# Real OSGi Bundle-Version is 2.11.3.RELEASE
+%global mongo_bundle_version       2.11.3
+%global hc_core_bundle_version     4.3.2
+%global hc_client_bundle_version   4.3.5
+%global gson_bundle_version        2.2.4
+# Declarative Services
+%global scr_version                1.6.2
+%global scr_annotations_version    1.9.6
+%global maven_scr_version          1.20.0
+# Flag set to 1 if it's an SCL build. 0 otherwise.
+%global is_scl_build %( test -n "$(rpm --eval '%{?scl}')" && echo 1 || echo 0)
+
+# Base path to the JDK which will be used in boot scripts
+%global jdk_base /etc/alternatives/java_sdk_openjdk
+
+%{?scl:%scl_package thermostat}
+%{!?scl:%global pkg_name %{name}}
+
+# Global directory definitions
+%global system_datadir %{_localstatedir}/lib/%{pkg_name}
+%global system_cachedir %{_localstatedir}/cache/%{pkg_name}
+%global system_logdir %{_localstatedir}/log/%{pkg_name}
+%global system_statedir %{_localstatedir}/run/%{pkg_name}
+# _root_<foo> don't seem to be defined in non-SCL context.
+# Define some vars we use instead in order for the build to work
+# for SCL/non-SCL contexts.
+%if %{is_scl_build}
+  %global system_confdir %{_root_sysconfdir}
+  %global system_root_datadir %{_root_datadir}
+  %global system_tmpfilesdir %{_root_exec_prefix}/lib/tmpfiles.d
+%else
+  %global system_confdir %{_sysconfdir}
+  %global system_root_datadir %{_datadir}
+  %global system_tmpfilesdir %{_tmpfilesdir}
+%endif
+# system java dir definition (non-scl)
+%global system_javadir %{system_root_datadir}/java
+%global scl_javadir %{_javadir}
+
+# THERMOSTAT_HOME and USER_THERMOSTAT_HOME variables. Note that
+# we use USER_THERMOSTAT_HOME only for systemd related setup.
+%global thermostat_home %{_datarootdir}/%{pkg_name}
+%if %{is_scl_build}
+  %global user_thermostat_home %{_scl_root}
+%else
+  # Prefix is "/" for non-scl
+  %global user_thermostat_home /
+%endif
+
+# thermostat-webapp specific variables
+%if %{is_scl_build}
+  %global thermostat_catalina_base %{_datarootdir}/tomcat
+%else
+  %global thermostat_catalina_base %{_localstatedir}/lib/tomcats/%{pkg_name}
+%endif
+# The port tomcat will be listening on
+%global thermostat_catalina_port 8999
+
+# Uncomment to build from snapshot out of hg.  See also Release and Source0
+#%%global hgrev b7c6db90e034
+
+Name:       %{?scl_prefix}thermostat
+Version:    %{major}.%{minor}.%{patchlevel}
+# If building from snapshot out of hg, uncomment and adjust below value as appropriate
+#Release:    0.1.20131122hg%{hgrev}%{?dist}
+Release:    9%{?dist}
+Summary:    A monitoring and serviceability tool for OpenJDK
+License:    GPLv2+ with exceptions and OFL
+URL:        http://icedtea.classpath.org/thermostat/
+# This is the source URL to be used for released versions
+Source0:    %{pkg_name}-%{version}-1.6.2-1.tar.gz
+# This is the source to be used for hg snapshot versions from HEAD
+#wget -O thermostat-%{hgrev}.tar.bz2 http://icedtea.classpath.org/hg/%{pkg_name}/archive/%{hgrev}.tar.bz2
+#Source0:    thermostat-%{hgrev}.tar.bz2
+# This is the source to be used for hg snapshot versions from a release branch
+#wget -O thermostat-%{major}.%{minor}-%{hgrev}.tar.bz2 http://icedtea.classpath.org/hg/release/%{pkg_name}-%{major}.${minor}/archive/%{hgrev}.tar.bz2
+#Source0:    thermostat-%{major}.%{minor}-%{hgrev}.tar.bz2
+# This is _NOT_ suitable for upstream at this point.
+# It's very Fedora specific.
+Source1:    thermostat-sysconfig
+Source2:    thermostat_icon_64px.svg
+# SCL only sources
+Source3:    scl-thermostat-tomcat-service-sysconfig
+Source4:    thermostat-local
+# This is _NOT_ suitable for upstream at this point.
+# jfreechart isn't a bundle upstream. Also some httpclient* related bundles
+# include transitive deps upstream, which isn't the case in Fedora (i.e. is
+# properly done in Fedora)
+Patch0:     fix_bundle_loading-new.patch
+# Patch proposed upstream, but was denied.
+# See http://icedtea.classpath.org/pipermail/thermostat/2013-October/008602.html
+# For now _NOT_ suitable for upstream until felix ships an API only package which
+# is 4.3 OSGi spec.
+Patch1:     osgi_spec_fixes.patch
+# This is _NOT_ suitable for upstream at this point.
+# Adds an CLI option to the Thermostat main class so that it ignores
+# bundle symbolic names and versions it has in the config files.
+# The config files are set in stone at build time and updates of
+# transitive deps (which we can't control) might break thermostat.
+# We rely on RPM's dep solving mechanism instead.
+# See: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1591
+Patch2:     ignore_bundle_versions.patch
+
+Patch3:     remove-system-scope.patch
+
+# Play nice with mongodb 2.6
+# FIXME: Propose a variant of this upstream
+#Patch3:     mongodb26_setup_changes.patch
+# Allow 'thermostat web-storage-service' to read configs from
+# ~/.thermostat, by using a custom jaas config.
+Patch4:     webstorage_service_custom_jaas.patch
+Patch5:     web_storage_endpoint_fix.patch
+
+# Self-BR in order for xmvn-subst to work for symlinking
+# thermostat deps.
+#BuildRequires: thermostat-webapp = %{version}
+# BRs for core thermostat
+BuildRequires: java-devel >= 1:1.8.0
+BuildRequires: javapackages-tools
+BuildRequires: maven-local
+BuildRequires: maven-dependency-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-war-plugin
+BuildRequires: maven-clean-plugin
+BuildRequires: maven-assembly-plugin
+BuildRequires: maven-plugin-bundle
+BuildRequires: maven-javadoc-plugin
+BuildRequires: libgnome-keyring-devel
+# laf-utils JNI need pkconfig files for gtk2+
+BuildRequires: gtk2-devel
+BuildRequires: mvn(org.apache.felix:org.apache.felix.framework)
+BuildRequires: mvn(org.fusesource:fusesource-pom:pom:)
+BuildRequires: mvn(org.apache.commons:commons-cli)
+# jline 2.10 is known to work
+BuildRequires: mvn(jline:jline) >= 2.10
+BuildRequires: mvn(org.fusesource.jansi:jansi)
+# Lucene 4.7.0-2 has the BREE fix which made thermostat
+# to not boot at all.
+#
+# lucene a bootstrap bundle, eh? nonesense!
+# See: http://icedtea.classpath.org/hg/thermostat/rev/9f495243fcd7
+BuildRequires: mvn(org.apache.lucene:lucene-core) >= 4.7.0
+BuildRequires: mvn(org.apache.lucene:lucene-analyzers) >= 4.7.0
+BuildRequires: mvn(com.google.code.gson:gson)
+BuildRequires: mvn(org.jfree:jfreechart)
+BuildRequires: mvn(org.jfree:jcommon)
+BuildRequires: mvn(org.apache.commons:commons-beanutils)
+BuildRequires: mvn(org.mongodb:mongo-java-driver)
+# Change to netty 4 once RHBZ#1053619 is
+# resolved.
+# The version number in mvn() means it's a compat package.
+BuildRequires: mvn(io.netty:netty:%{netty_bundle_version})
+
+# BRs for webapp sub-package
+BuildRequires: tomcat
+BuildRequires: mvn(javax.servlet:servlet-api) >= 2.5
+BuildRequires: mvn(org.apache.commons:commons-fileupload)
+
+# thermostat web-storage-service BRs
+BuildRequires: mvn(org.eclipse.jetty:jetty-server)
+BuildRequires: mvn(org.eclipse.jetty:jetty-jaas)
+BuildRequires: mvn(org.eclipse.jetty:jetty-webapp)
+BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-schemas)
+
+###################################################
+# The following BRs are specified via osgi's
+# symbolic name. This is to ensure exact versions
+# as specified in thermostat's bundle list has
+# a chance of working at runtime.
+###################################################
+# 1.0.14-7 has OSGi metadata and itext dep fix
+BuildRequires: osgi(org.jfree.jfreechart) = %{jfreechart_bundle_version}
+# 1.0.17-4 has OSGi metadata
+BuildRequires: osgi(org.jfree.jcommon) = %{jcommon_bundle_version}
+BuildRequires: osgi(org.apache.commons.logging) = %{logging_bundle_version}
+BuildRequires: osgi(org.apache.commons.beanutils) = %{beanutils_bundle_version}
+BuildRequires: osgi(org.apache.commons.codec) = %{codec_bundle_version}
+BuildRequires: osgi(org.mongodb.mongo-java-driver) = %{mongo_bundle_version}
+BuildRequires: osgi(org.jboss.netty) = %{netty_bundle_version}
+BuildRequires: osgi(com.google.gson) = %{gson_bundle_version}
+BuildRequires: osgi(org.apache.httpcomponents.httpcore) = %{hc_core_bundle_version}
+# httpmime comes from httpcomponents-client just like httpclient itself
+BuildRequires: osgi(org.apache.httpcomponents.httpclient) = %{hc_client_bundle_version}
+BuildRequires: osgi(org.apache.httpcomponents.httpmime) = %{hc_client_bundle_version}
+
+#Declarative Services
+BuildRequires: osgi(org.apache.felix.scr) = %{scr_version}
+BuildRequires: mvn(org.apache.felix:org.apache.felix.scr.annotations) = %{scr_annotations_version}
+BuildRequires: mvn(org.apache.felix:maven-scr-plugin) = %{maven_scr_version}
+BuildRequires: mvn(net.sf.kxml:kxml2)
+
+Requires: java >= 1:1.8.0
+Requires: jpackage-utils
+Requires: java-devel >= 1:1.8.0
+# Only require mongodb-server on arches where it's available
+%ifarch %{arm} %{ix86} x86_64
+Requires: mongodb-server
+# Fedora's thermostat-setup uses mongo directly
+Requires: mongodb
+%endif
+Requires: libgnome-keyring
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+###################################################
+# The following Rs are specified via osgi's
+# symbolic name. This is to ensure exact versions
+# as specified in thermostat's bundle list has
+# a chance of working at runtime.
+###################################################
+Requires: osgi(org.jfree.jfreechart) >= %{jfreechart_bundle_version}
+Requires: osgi(org.jfree.jcommon) >= %{jcommon_bundle_version}
+Requires: osgi(org.apache.commons.logging) >= %{logging_bundle_version}
+Requires: osgi(org.apache.commons.beanutils) >= %{beanutils_bundle_version}
+Requires: osgi(org.apache.commons.codec) >= %{codec_bundle_version}
+Requires: osgi(org.mongodb.mongo-java-driver) >= %{mongo_bundle_version}
+Requires: osgi(org.jboss.netty) = %{netty_bundle_version}
+Requires: osgi(com.google.gson) >= %{gson_bundle_version}
+Requires: osgi(org.apache.httpcomponents.httpcore) >= %{hc_core_bundle_version}
+# httpmime comes from httpcomponents-client just like httpclient itself
+Requires: osgi(org.apache.httpcomponents.httpclient) >= %{hc_client_bundle_version}
+Requires: osgi(org.apache.httpcomponents.httpmime) >= %{hc_client_bundle_version}
+
+#Declarative Services
+Requires: osgi(org.apache.felix.scr) = %{scr_version}
+Requires: mvn(org.apache.felix:org.apache.felix.scr.annotations) = %{scr_annotations_version}
+Requires: mvn(net.sf.kxml:kxml2)
+
+# This module has been removed to fix CVE-2014-8120
+Obsoletes: %{?scl_prefix}mvn(com.redhat.thermostat:thermostat-agent-proxy-common) <= %{version}
+
+%{?scl:Requires: %scl_runtime}
+
+%description
+Thermostat is a monitoring and instrumentation tool for the Hotspot JVM,
+with support for monitoring multiple JVM instances. The system is made
+up of two processes: an Agent, which collects data, and a Client which
+allows users to visualize this data. These components communicate via
+a MongoDB-based storage layer. A pluggable agent and gui framework
+allows for collection and visualization of performance data beyond that
+which is included out of the box.
+
+%package javadoc
+Summary:    Javadocs for %{name}
+Group:      Documentation
+Requires:   jpackage-utils
+
+BuildArch:  noarch
+
+%description javadoc
+This package contains the API documentation for %{name}
+
+%package webapp
+Summary:    Web storage endpoint for Thermostat
+BuildArch:  noarch
+# Not sure if we need this, but better be safe than sorry.
+# This version will allow custom catalina-base/systemd stuff as
+# we do it.
+Requires:   tomcat >= 7.0.42-3
+Requires:   %{name} = %{version}-%{release}
+
+%description webapp
+This package contains the exploded web archive. This web application
+contains the server-side parts for deploying thermostat with improved
+security.
+
+%prep
+# When Source0 is released version.
+%setup -q -n %{pkg_name}-%{version}-1.6.2-1
+# When Source0 is a snapshot from HEAD.
+#%%setup -q -n %%{pkg_name}-%%{hgrev}
+# When Source 0 is a snapshot from a release branch.
+#%%setup -q -n %%{pkg_name}-%%{major}-%%{minor}-%%{hgrev}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+
+# Fix up artifact names which have different name upstream
+#  lucene
+%pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene" vm-heap-analysis/common
+%pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene" vm-heap-analysis/distribution
+%pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene-analyzers-common" vm-heap-analysis/common
+%pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene-analyzers-common" vm-heap-analysis/distribution
+%pom_add_dep "org.apache.lucene:lucene-analyzers:4.7.0" vm-heap-analysis/common
+%pom_add_dep "org.apache.lucene:lucene-analyzers:4.7.0" vm-heap-analysis/distribution
+%pom_add_dep "org.apache.lucene:lucene-core:4.7.0" vm-heap-analysis/common
+%pom_add_dep "org.apache.lucene:lucene-core:4.7.0" vm-heap-analysis/distribution
+#  httpclient
+%pom_remove_dep org.apache.httpcomponents:httpclient-osgi web/client
+%pom_add_dep org.apache.httpcomponents:httpclient:4.4.0 web/client
+%pom_remove_dep org.apache.httpcomponents:httpclient-osgi client/command
+%pom_add_dep org.apache.httpcomponents:httpclient:4.4.0 client/command
+#  add httpmime dep. this is included in upstreams' strange jar
+%pom_add_dep org.apache.httpcomponents:httpmime:4.4.0 web/client
+#  httpcore
+%pom_remove_dep org.apache.httpcomponents:httpcore-osgi web/client
+%pom_add_dep org.apache.httpcomponents:httpcore:4.4.0 web/client
+# need jline 2.10 (otherwise this resolves to jline 1)
+%pom_xpath_remove "pom:properties/pom:jline.version"
+%pom_xpath_inject "pom:properties" "<jline.version>2.10</jline.version>"
+#  netty
+#%%pom_remove_dep org.jboss.netty:netty 
+%pom_remove_dep org.jboss.netty:netty common/command
+%pom_remove_dep org.jboss.netty:netty client/command
+%pom_remove_dep org.jboss.netty:netty agent/command
+%pom_add_dep io.netty:netty:%{netty_bundle_version} common/command
+%pom_add_dep io.netty:netty:%{netty_bundle_version} client/command
+%pom_add_dep io.netty:netty:%{netty_bundle_version} agent/command
+
+# Don't use maven-exec-plugin. We do things manually in order to avoid this
+# additional dep. It's used in agent/core/pom.xml and in keyring/pom.xml
+%pom_remove_plugin org.codehaus.mojo:exec-maven-plugin agent/core
+%pom_remove_plugin org.codehaus.mojo:exec-maven-plugin keyring
+%pom_remove_plugin org.codehaus.mojo:exec-maven-plugin laf-utils
+
+# Remove license plugin in main pom.xml
+%pom_remove_plugin com.mycila:license-maven-plugin
+
+# Remove javacoco-coverage plugin (in main pom.xml and web/war/pom.xml)
+%pom_remove_plugin org.jacoco:jacoco-maven-plugin
+%pom_remove_plugin org.jacoco:jacoco-maven-plugin web/war
+
+# Remove pmd plugin
+%pom_remove_plugin org.apache.maven.plugins:maven-pmd-plugin
+
+# Remove m2e's lifecyle plugin
+%pom_remove_plugin org.eclipse.m2e:lifecycle-mapping
+
+# Disable dev and test modules
+%pom_disable_module dev
+%pom_disable_module testutils storage
+%pom_disable_module test common
+%pom_disable_module integration-tests
+%pom_remove_dep com.redhat.thermostat:thermostat-storage-testutils vm-cpu/common
+%pom_remove_dep com.redhat.thermostat:thermostat-storage-testutils vm-profiler/common
+%pom_remove_dep com.redhat.thermostat:thermostat-storage-testutils thread/collector
+
+# Remove depencency on the web archive for web-storage-service we'll make deps
+# available manually
+%pom_remove_dep "com.redhat.thermostat:thermostat-web-war" web/endpoint-plugin/web-service
+
+# Skip automatic installation of zip artifacts. We only use it for our build
+# to assemble plug-ins.
+%mvn_package com.redhat.thermostat::zip: __noinstall
+# Skip automatic installation of the war module.
+# We install it manually. Without this "config" %mvn_build -f
+# fails. See RHBZ#963838
+%mvn_package com.redhat.thermostat:thermostat-web-war __noinstall
+# Don't install :thermostat-common-test, it's a test only dep which
+# aren't run during the build.
+%mvn_package com.redhat.thermostat:thermostat-common-test __noinstall
+
+# These are just upstream build helpers. Don't install them.
+%mvn_package com.redhat.thermostat:thermostat-distribution __noinstall
+%mvn_package com.redhat.thermostat:thermostat-assembly __noinstall
+# The automatic requires generator gets confused by build-deps. We have
+# to __noinstall it in order for mvn() requires generation to work.
+%mvn_package com.redhat.thermostat:thermostat-build-deps __noinstall
+
+# thermostat-web-server and thermostat-web-endpoint should be part of
+# the webapp sub-package
+%mvn_package com.redhat.thermostat:thermostat-web-server webapp
+%mvn_package "com.redhat.thermostat:thermostat-web-endpoint-plugin" webapp
+%mvn_package "com.redhat.thermostat:thermostat-web-endpoint:pom:" webapp
+%mvn_package "com.redhat.thermostat:thermostat-web-endpoint-distribution:pom:" webapp
+
+# copy the thermostat-local script into place. This is downstream only.
+cp %{SOURCE4} distribution/scripts
+
+%build
+export CFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS"
+# Set JAVA_HOME. make uses this
+. /usr/share/java-utils/java-functions
+set_jvm
+export JAVA_HOME
+
+################## Build JNI bits ########################
+# JNI bits depend on NativeLibraryResolver so compile that
+# first and relevant Java classes with native methods
+# after.
+pushd annotations
+  mkdir -p target/classes
+  javac -d target/classes \
+           src/main/java/com/redhat/thermostat/annotations/Service.java
+popd
+pushd config
+  mkdir -p target/classes
+  javac -d target/classes \
+        -cp ../annotations/target/classes \
+           src/main/java/com/redhat/thermostat/shared/config/NativeLibraryResolver.java \
+           src/main/java/com/redhat/thermostat/shared/config/CommonPaths.java \
+           src/main/java/com/redhat/thermostat/shared/config/internal/CommonPathsImpl.java \
+           src/main/java/com/redhat/thermostat/shared/config/InvalidConfigurationException.java \
+           src/main/java/com/redhat/thermostat/shared/locale/Translate.java \
+           src/main/java/com/redhat/thermostat/shared/locale/LocalizedString.java \
+           src/main/java/com/redhat/thermostat/shared/locale/internal/LocaleResources.java
+popd
+pushd keyring
+  mkdir -p target/classes
+  javac -cp ../config/target/classes:../annotations/target/classes \
+        -d target/classes \
+           src/main/java/com/redhat/thermostat/utils/keyring/Keyring.java \
+           src/main/java/com/redhat/thermostat/utils/keyring/KeyringException.java \
+           src/main/java/com/redhat/thermostat/utils/keyring/impl/KeyringImpl.java
+  make all
+popd
+pushd agent/core
+  mkdir -p target/classes
+  javac -cp ../../config/target/classes:../../annotations/target/classes \
+        -d target/classes \
+         src/main/java/com/redhat/thermostat/agent/utils/hostname/HostName.java \
+         src/main/java/com/redhat/thermostat/agent/utils/username/UserNameUtil.java \
+         src/main/java/com/redhat/thermostat/agent/utils/username/UserNameLookupException.java \
+         src/main/java/com/redhat/thermostat/utils/username/internal/UserNameUtilImpl.java
+  make all
+popd
+pushd laf-utils
+  mkdir -p target/classes
+  javac -cp ../config/target/classes \
+        -d target/classes src/main/java/com/redhat/thermostat/internal/utils/laf/gtk/GTKThemeUtils.java
+  make all
+popd
+################## Build JNI bits (end) ##################
+
+# This is roughly equivalent to:
+#   mvn 
+#     -Dthermostat.home=%{_datarootdir}/%{pkg_name} \
+#    install javadoc:aggregate
+# Everything after '--' is passed to plain xmvn/mvn
+%mvn_build -f -- -Dthermostat.home=%{thermostat_home} \
+                 -Dthermostat.web.deploy.dir=$(pwd)/webstorage-webapp \
+                 -Dthermostat.system.user=thermostat \
+                 -Dthermostat.system.group=thermostat \
+                 -Dnetty.version=%{netty_bundle_version}.Final \
+                 -Dcommons-logging.version=%{logging_bundle_version} \
+                 -Dcommons-collections.version=%{collections_bundle_version} \
+                 -Dcommons-codec.osgi-version=%{codec_bundle_version} \
+                 -Dcommons-beanutils.version=%{beanutils_bundle_version} \
+                 -Dgson.version=%{gson_bundle_version} \
+                 -Dmongo-driver.osgi-version=%{mongo_bundle_version}.RELEASE \
+                 -Dhttpcomponents.core.version=%{hc_core_bundle_version} \
+                 -Dhttpcomponents.client.version=%{hc_client_bundle_version} \
+                 -Dhttpcomponents.mime.version=%{hc_client_bundle_version} \
+                 -Djcommon.osgi.version=%{jcommon_bundle_version} \
+                 -Djfreechart.osgi.version=%{jfreechart_bundle_version} \
+                 -Dlucene-core.bundle.symbolic-name=org.apache.lucene.core \
+                 -Dlucene-analysis.bundle.symbolic-name=org.apache.lucene.analysis \
+                 -Dosgi.compendium.bundle.symbolic-name=org.osgi.compendium \
+                 -Dosgi.compendium.osgi-version=4.1.0
+
+# Make path to java so that it keeps working after updates.
+# We require java >= 1.7.0
+sed -i 's|^JAVA=.*|JAVA="%{jdk_base}/bin/java"|' distribution/target/image/bin/thermostat
+sed -i 's|^JAVA=.*|JAVA="%{jdk_base}/bin/java"|' distribution/target/image/bin/thermostat-agent-proxy
+# Fix path to tools.jar
+sed -i 's|^TOOLS_JAR=.*|TOOLS_JAR="%{jdk_base}/lib/tools.jar"|' distribution/target/image/bin/thermostat
+sed -i 's|^TOOLS_JAR=.*|TOOLS_JAR="%{jdk_base}/lib/tools.jar"|' distribution/target/image/bin/thermostat-agent-proxy
+
+# Remove duplicate tools-SYSTEM.jar. The startup scripts add tools.jar
+# to the classpath for us
+pushd distribution/target
+find -name tools-SYSTEM.jar -delete
+popd
+
+%install
+#######################################################
+# Thermostat core
+#######################################################
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{_sysconfdir}/%{pkg_name}
+mkdir -p %{buildroot}%{system_confdir}/sysconfig
+mkdir -p %{buildroot}%{_datarootdir}/java/%{?scl_prefix}%{pkg_name}
+# JNI things live there
+mkdir -p %{buildroot}%{_libdir}/%{pkg_name}
+mkdir -p %{buildroot}%{_jnidir}
+# Systemd files live there
+mkdir -p %{buildroot}%{_unitdir}
+# Thermostat icon lives there
+mkdir -p %{buildroot}%{_datarootdir}/icons/hicolor/scalable/apps
+# Thermostat desktop lives there
+mkdir -p %{buildroot}%{_datarootdir}/applications
+
+# Dance the xmvn install limbo. This only makes sense if %mvn_build does NOT
+# have the '-i' switch.
+%mvn_install
+
+pushd distribution/target/image/libs
+# JNI jars need to be in %{_jnidir}, we symlink to
+# %{_libdir}/%{pkg_name} files. Files are moved to
+# %{_libdir}/%{pkg_name} next.
+for i in thermostat-keyring-*.jar \
+    thermostat-agent-core-*.jar \
+    thermostat-laf-utils-*.jar; do
+  ln -s %{_libdir}/%{pkg_name}/$i %{buildroot}%{_jnidir}/$i
+done
+# JNI files are in %{_libdir}
+mv thermostat-keyring-*.jar \
+   thermostat-agent-core-*.jar \
+   thermostat-laf-utils-*.jar \
+   %{buildroot}%{_libdir}/%{pkg_name}
+# Make native libs executable so that debuginfos get properly
+# generated
+chmod +x native/*.so
+mv native/* %{buildroot}%{_libdir}/%{pkg_name}
+popd
+
+# Install systemd unit files
+pushd distribution/target/packaging/systemd
+  sed -i 's/User=thermostat/User=root/g' thermostat-agent.service
+  sed -i 's/Group=thermostat/Group=root/g' thermostat-agent.service
+  # FIXME: install or not-to-install agent service running as root?
+  #        Currently: Don't install.
+  cp -a thermostat-storage.service %{buildroot}%{_unitdir}/
+popd
+
+# Move the thermostat desktop file to /usr/share/applications
+# This makes "thermostat gui" show up in gnome shell.
+pushd distribution/target/packaging/desktop
+sed -i 's#Exec=.*#Exec=%{thermostat_home}/bin/thermostat-local#g' %{pkg_name}.desktop
+cp %{pkg_name}.desktop %{buildroot}%{_datarootdir}/applications/%{pkg_name}.desktop
+# Install the SVG icon
+cp %{SOURCE2} %{buildroot}%{_datarootdir}/icons/hicolor/scalable/apps/%{pkg_name}.svg
+popd
+
+# Install tmpfiles.d config file for /var/run/%{pkg_name}
+pushd distribution/target/packaging/systemd
+mkdir -p %{buildroot}%{system_tmpfilesdir}
+install -m 0644 tmpfiles.d/%{pkg_name}.conf %{buildroot}%{system_tmpfilesdir}/%{pkg_name}.conf
+popd
+
+rm -rf distribution/target/image/bin/%{pkg_name}.orig
+# Remove developer setup things. They woudn't work anyway.
+rm distribution/target/image/bin/thermostat-devsetup
+rm distribution/target/image/etc/devsetup.input
+
+# For some reason webapp as produced by the build doesn't
+# include WEB-INF/web.xml. I wasn't able to convince maven-war-plugin
+# to NOT ignore that file.
+rm -rf distribution/target/image/webapp
+# Move everything else into $THERMOSTAT_HOME
+cp -a distribution/target/image %{buildroot}%{thermostat_home}
+
+# Replace jars with symlinks to installed libs
+pushd %{buildroot}%{thermostat_home}/libs
+  xmvn-subst .
+popd
+# Provide version-less symlinks so as for our bootstrap bundles
+# to work correctly
+pushd %{buildroot}%{thermostat_home}/libs
+  for i in $(find -type l -name '*.jar'); do
+    newFileName=$(echo $i | sed 's/-\([0-9]\+\.\)\+[0-9]\+\(-[a-zA-Z0-9]\+\)\?//')
+    if [ ! -e $newFileName ]; then
+      ln -s $i $newFileName
+    fi
+  done
+  # We have jline2.jar in properties files.
+  ln -s jline.jar jline2.jar
+popd
+# Do the same for thermostat plugin dirs
+pushd %{buildroot}%{thermostat_home}/plugins
+for plugin_name in $(ls); do
+  pushd $plugin_name
+    xmvn-subst .
+  popd
+done
+popd
+
+pushd %{buildroot}%{_libdir}/%{pkg_name}
+# symlink JNI jars
+for i in *.jar; do
+  ln -s %{_libdir}/%{pkg_name}/$i \
+        %{buildroot}%{thermostat_home}/libs/$i
+done
+# symlink shared libs
+for i in *.so; do
+  ln -s %{_libdir}/%{pkg_name}/$i \
+        %{buildroot}%{thermostat_home}/libs/native/$i
+done
+popd
+
+# symlink the tools jar coming from the JVM
+ln -s /usr/lib/jvm/java-openjdk/lib/tools.jar \
+    %{buildroot}%{thermostat_home}/libs/
+
+# Symlink the thermostat script(s) in /usr/bin
+ln -s %{_datarootdir}/%{pkg_name}/bin/thermostat \
+    %{buildroot}%{_bindir}/thermostat
+ln -s %{_datarootdir}/%{pkg_name}/bin/thermostat-setup \
+    %{buildroot}%{_bindir}/thermostat-setup
+
+# create required config directory
+mkdir -p %{buildroot}%{thermostat_home}/etc/plugins.d/
+# move config files to /etc and symlink stuff under $THERMOSTAT_HOME/etc to it
+mv %{buildroot}%{thermostat_home}/etc/* \
+   %{buildroot}%{_sysconfdir}/%{pkg_name}
+rmdir %{buildroot}%{thermostat_home}/etc
+ln -s %{_sysconfdir}/%{pkg_name}/ \
+          %{buildroot}%{thermostat_home}/etc
+
+# Install sysconfig file. This is so as to set various env vars
+# which controls how thermostat behaves. In the systemd case we
+# want thermostat to run as system user.
+sed 's#__thermostat_home__#%{thermostat_home}/#g' %{SOURCE1} > thermostat_sysconfig.env
+sed -i 's#__thermostat_user_home__#%{user_thermostat_home}#g' thermostat_sysconfig.env
+cp thermostat_sysconfig.env %{buildroot}%{system_confdir}/sysconfig/%{pkg_name}
+
+# Set up directory structure for running thermostat storage/
+# thermostat agend via systemd
+%{__install} -d -m 0775 %{buildroot}%{system_datadir}
+echo "setup-complete.stamp for thermostat-storage systemd service" > %{buildroot}%{system_datadir}/setup-complete.stamp
+%{__install} -d -m 0775 %{buildroot}%{system_cachedir}
+%{__install} -d -m 0775 %{buildroot}%{system_logdir}
+%{__install} -d -m 0775 %{buildroot}%{system_statedir}
+# Symlink storage/agent directories so that they can be run
+# as systemd services. The target directories will have
+# appropriate permissions for the thermostat user to allow
+# writing.
+ln -s %{system_datadir} %{buildroot}%{thermostat_home}/data
+ln -s %{system_statedir} %{buildroot}%{thermostat_home}/run
+ln -s %{system_logdir} %{buildroot}%{thermostat_home}/logs
+ln -s %{system_cachedir} %{buildroot}%{thermostat_home}/cache
+#######################################################
+# Thermostat web storage webapp
+#######################################################
+mkdir -p %{buildroot}%{thermostat_catalina_base}/webapps
+pushd webstorage-webapp
+# Fixup THERMOSTAT_HOME in web.xml
+ sed -i '/<param-name>THERMOSTAT_HOME<[/]param-name>/,/<param-value>.*<[/]param-value>/{ s$<param-value>.*</param-value>$<param-value>%{thermostat_home}</param-value>$ }' \
+ WEB-INF/web.xml
+popd
+cp -r webstorage-webapp %{buildroot}%{thermostat_catalina_base}/webapps/%{pkg_name}
+# Provide a link to webapp in THERMOSTAT_HOME
+ln -s %{thermostat_catalina_base}/webapps/%{pkg_name} %{buildroot}%{thermostat_home}/webapp
+ 
+# Replace jars with symlinks
+pushd %{buildroot}%{thermostat_catalina_base}/webapps/%{pkg_name}/WEB-INF/lib
+  xmvn-subst .
+popd
+
+# We use a custom CATALINA_BASE with core tomcat directories
+# symlinked. This allows us to deploy the thermostat webapp
+# nicely configured without any configuration required prior
+# starting tomcat via systemd.
+sed 's#__jaas_config__#%{_sysconfdir}/%{pkg_name}/%{pkg_name}_jaas.conf#g' %{SOURCE3} > tomcat_service_thermostat.txt
+cp tomcat_service_thermostat.txt %{buildroot}%{system_confdir}/sysconfig/tomcat@%{pkg_name}
+# Create a symlinked CATALINA_BASE in order to make tomcat deploy
+# the scl-ized tomcat web-app. We use our own copy of conf/server.xml in order
+# to not port-conflict with system tomcat. See RHBZ#1054396
+pushd %{buildroot}/%{thermostat_catalina_base}
+  for i in lib logs work temp; do
+    ln -s %{system_root_datadir}/tomcat/$i $i
+  done
+  mkdir conf
+popd
+# Symlink everything other than server.xml
+pushd %{system_root_datadir}/tomcat/conf
+  for i in *; do
+    ln -s %{system_root_datadir}/tomcat/conf/$i %{buildroot}/%{thermostat_catalina_base}/conf/$i
+  done
+  rm %{buildroot}/%{thermostat_catalina_base}/conf/server.xml
+  cp -p server.xml %{buildroot}/%{thermostat_catalina_base}/conf/server.xml
+popd
+pushd %{buildroot}/%{thermostat_catalina_base}/conf
+  # Fix the connector port, use a different access log file name
+  sed -i -e 's/<Connector port="8080"/<Connector port="%{thermostat_catalina_port}"/g' \
+         -e 's/prefix="localhost_access_log."/prefix="localhost_thermostat_access_log."/g' server.xml
+popd
+
+%check
+# Perform some sanity checks on paths to JAVA/TOOLS_JAR
+# in important boot scripts. See RHBZ#1052992 and
+# RHBZ#1053123
+TOOLS_JAR="$(grep 'TOOLS_JAR=' %{buildroot}/%{thermostat_home}/bin/thermostat | cut -d= -f2 | cut -d\" -f2)"
+test "${TOOLS_JAR}" = "%{jdk_base}/lib/tools.jar"
+TOOLS_JAR="$(grep 'TOOLS_JAR=' %{buildroot}/%{thermostat_home}/bin/thermostat-agent-proxy | cut -d= -f2 | cut -d\" -f2)"
+test "${TOOLS_JAR}" = "%{jdk_base}/lib/tools.jar"
+JAVA="$(grep 'JAVA=' %{buildroot}/%{thermostat_home}/bin/thermostat | cut -d= -f2 | cut -d\" -f2)"
+test "${JAVA}" = "%{jdk_base}/bin/java"
+JAVA="$(grep 'JAVA=' %{buildroot}/%{thermostat_home}/bin/thermostat-agent-proxy | cut -d= -f2 | cut -d\" -f2)"
+test "${JAVA}" = "%{jdk_base}/bin/java"
+
+%pre
+# add the thermostat user and group
+%{_sbindir}/groupadd -r thermostat 2>/dev/null || :
+%{_sbindir}/useradd -c "Thermostat system user" -g thermostat \
+    -s /sbin/nologin -r -d %{thermostat_home} thermostat 2>/dev/null || :
+
+%post
+# Install but don't activate
+%systemd_post %{pkg_name}-storage.service
+# Required for icon cache (i.e. Thermostat icon)
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+%preun
+%systemd_preun %{pkg_name}-storage.service
+
+%postun
+# Required for icon cache (i.e. Thermostat icon)
+if [ $1 -eq 0 ] ; then
+    /bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null
+    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+fi
+%systemd_postun %{pkg_name}-storage.service
+
+%posttrans
+# Required for icon cache (i.e. Thermostat icon)
+/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+# The 1.0.2-2 update changed the conf symlink in CATALINA_BASE with
+# a directory. This is necessary in order for the update using rpm
+# to work. YUM based updates are still broken with this. See:
+# RHBZ#447156 and RHBZ#975909
+%pretrans webapp -p <lua>
+src = "%{thermostat_catalina_base}/conf"
+if posix.stat(src, "type") == "link" then
+  os.remove(src)
+  posix.mkdir(src)
+end
+
+%files -f .mfiles
+%doc LICENSE
+%license COPYING
+%license OFL.txt
+%doc README
+%doc README.api
+# Own appropriate files in /etc/ part of them belong to the
+# webapp sub-package
+%config(noreplace) %dir %{_sysconfdir}/%{pkg_name}
+# This file is only used by the systemd service running agent.
+# Only root should be able to read/write to it.
+%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/%{pkg_name}/agent.auth
+%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/%{pkg_name}/web.auth
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/agent.properties
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/db.properties
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/logging.properties
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/plugins.d
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/ssl.properties
+%config %{_sysconfdir}/%{pkg_name}/commands
+%config %{_sysconfdir}/%{pkg_name}/osgi-export.properties
+# Required for systemd services
+%config(noreplace) %{system_confdir}/sysconfig/%{pkg_name}
+# thermostat.desktop lives in /usr/share/applications
+%{_datadir}/applications/%{pkg_name}.desktop
+# thermostat icon
+%{_datadir}/icons/hicolor/scalable/apps/%{pkg_name}.svg
+%{_datadir}/%{pkg_name}/etc
+%{_datadir}/%{pkg_name}/bin
+%{_datadir}/%{pkg_name}/libs
+%{_datadir}/%{pkg_name}/plugins/host-cpu
+%{_datadir}/%{pkg_name}/plugins/host-memory
+%{_datadir}/%{pkg_name}/plugins/host-overview
+%{_datadir}/%{pkg_name}/plugins/killvm
+%{_datadir}/%{pkg_name}/plugins/notes
+%{_datadir}/%{pkg_name}/plugins/numa
+%{_datadir}/%{pkg_name}/plugins/storage-profile
+%{_datadir}/%{pkg_name}/plugins/thread
+%{_datadir}/%{pkg_name}/plugins/validate
+%{_datadir}/%{pkg_name}/plugins/vm-classstat
+%{_datadir}/%{pkg_name}/plugins/vm-cpu
+%{_datadir}/%{pkg_name}/plugins/vm-gc
+%{_datadir}/%{pkg_name}/plugins/vm-heap-analysis
+%{_datadir}/%{pkg_name}/plugins/vm-jmx
+%{_datadir}/%{pkg_name}/plugins/vm-memory
+%{_datadir}/%{pkg_name}/plugins/vm-overview
+%{_datadir}/%{pkg_name}/plugins/vm-profiler
+%{_datadir}/%{pkg_name}/plugins/vm-io
+%{_datadir}/%{pkg_name}/cache
+%{_datadir}/%{pkg_name}/data
+%{_datadir}/%{pkg_name}/logs
+%{_datadir}/%{pkg_name}/run
+%{_libdir}/%{pkg_name}
+%{_jnidir}/thermostat-*.jar
+%{_bindir}/thermostat
+%{_bindir}/thermostat-setup
+%{_unitdir}/%{pkg_name}-storage.service
+%{system_tmpfilesdir}/%{pkg_name}.conf
+# To these directories get written to when thermostat storage/agent
+# run as systemd services
+%attr(0770,thermostat,thermostat) %dir %{system_datadir}
+%attr(0660,thermostat,thermostat) %{system_datadir}/setup-complete.stamp
+%attr(0770,thermostat,thermostat) %dir %{system_cachedir}
+%attr(0770,thermostat,thermostat) %dir %{system_logdir}
+%attr(0770,thermostat,thermostat) %dir %{system_statedir}
+
+%files javadoc
+%doc LICENSE
+%license COPYING
+%license OFL.txt
+%{_datarootdir}/javadoc/%{?scl_prefix}%{pkg_name}
+
+%files webapp -f .mfiles-webapp
+%{thermostat_catalina_base}
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/%{pkg_name}_jaas.conf
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/%{pkg_name}_webstorageservice_jaas.conf
+%config(noreplace) %{_sysconfdir}/%{pkg_name}/web-storage-service.properties
+# Those files should be readable by root and tomcat only
+%attr(0640,root,tomcat) %config(noreplace) %{_sysconfdir}/%{pkg_name}/%{pkg_name}-users.properties
+%attr(0640,root,tomcat) %config(noreplace) %{_sysconfdir}/%{pkg_name}/%{pkg_name}-roles.properties
+%attr(0640,root,tomcat) %config(noreplace) %{_sysconfdir}/%{pkg_name}/web.auth
+# We need an extra file in order to make thermostat-webapp work with
+# our custom CATALINA_BASE. This sets the JAAS-config option.
+%config(noreplace) %{system_confdir}/sysconfig/tomcat@%{pkg_name}
+%{_datadir}/%{pkg_name}/webapp
+%{_datadir}/%{pkg_name}/plugins/embedded-web-endpoint
+
+%changelog
+* Thu May 21 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-9
+- Read mongodb credentials from separate file.
+- Resolves: CVE-2015-3201
+
+* Tue Mar 31 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-8
+- Rebuild for updated httpcomponents-client.
+
+* Tue Mar 24 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-7
+- Fix vm-stat bundle wiring issues.
+
+* Mon Mar 23 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-6
+- Move endpoint plugin to thermostat-webapp package.
+
+* Mon Mar 23 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-5
+- Use custom JAAS config for web-storage-service.
+
+* Fri Mar 20 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-4
+- Rebuild for updated httpcomponents-core.
+
+* Wed Mar 18 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-3
+- Fix thermostat-storage systemd service.
+
+* Mon Mar 16 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-2
+- Re-enable self-BR (for proper xmvn-subst substitution).
+
+* Mon Mar 16 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.2-1
+- Update to upstream 1.2.2 release.
+
+* Thu Feb 26 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-13
+- Add mongodb requirement for thermostat-setup.
+
+* Mon Feb 16 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-12
+- Re-enable self-BR (for proper xmvn-subst substitution).
+
+* Mon Feb 16 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-11
+- Rebuild with latest netty3.
+- Disable self-BR.
+
+* Thu Jan 29 2015 Omair Majid <omajid@redhat.com> - 1.2.0-10
+- Do not create an admin account in thermostat database.
+
+* Thu Jan 29 2015 Omair Majid <omajid@redhat.com> - 1.2.0-9
+- Fix setup script for mongodb 2.6 compatiblity.
+
+* Wed Jan 28 2015 Omair Majid <omajid@redhat.com> - 1.2.0-8
+- Use %%license instead of %%doc for license files
+- Include README.api as %%doc
+
+* Tue Jan 27 2015 Omair Majid <omajid@redhat.com> - 1.2.0-7
+- Add a plugins.d configuration directory
+- Do not build common-test module
+
+* Tue Jan 27 2015 Omair Majid <omajid@redhat.com> - 1.2.0-6
+- Fix various bundle loading issues.
+
+* Mon Jan 26 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-5
+- Re-introduce self-BR (for proper xmvn-subst substitution).
+
+* Mon Jan 26 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-4
+- Disable self-BR and conditionalize mongodb-server requires.
+
+* Fri Jan 23 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-3
+- BR thermostat in order for xmvn-subst to properly generate
+  symlinks to own jars. Using jars from same reactor does not yet
+  work.
+
+* Thu Jan 22 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-2
+- Clean up spec file and make it buildable.
+
+* Wed Jan 21 2015 Severin Gehwolf <sgehwolf@redhat.com> - 1.2.0-1
+- Initial 1.2 build (contributed by Omair Majid <omajid@redhat.com>).
+
+* Thu Dec 18 2014 Elliott Baron <ebaron@redhat.com> - 1.0.6-1
+- Update to latest maintenance release.
+- Update apache-commons-codec to v1.10.0.
+- Resolves: CVE-2014-8120
+
+* Mon Oct 13 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-9
+- Use /etc/alternatives/java_sdk_openjdk as jdk_base.
+
+* Mon Oct 13 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-8
+- Remove obsolete gnome-icon-theme requires.
+
+* Thu Sep 04 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-7
+- Fix package to use java-1.8.0-openjdk.
+- Fix hawtjni-runtime.jar symlink.
+
+* Tue Sep 02 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-6
+- Rebuild for updated jcommon/jfreechart versions.
+
+* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Tue Aug 05 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-4
+- Rebuild for updated httpcomponents-client (v4.3.5) and
+  apache-commons-logging (v1.2.0) builds.
+
+* Tue Jun 10 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-3
+- Drop manual requires in favour of mvn()-style auto-requires.
+- Switch to mvn()-style BRs.
+- Use io.netty:netty over org.jboss.netty:netty in order to keep
+  thermostat installable.
+
+* Fri Jun 06 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-2
+- Rebuild for updated httpcomonents-client (v4.3.4) and
+  apache-commons-beanutils (v1.9.2) builds.
+
+* Wed Jun 04 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.4-1
+- Update to latest bugfix release.
+- Drop maven-surefire-provider-junit4 BR.
+
+* Mon May 12 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-8
+- Rebuild for updated httpcomponents-core (v4.3.2) build.
+
+* Thu Mar 20 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-7
+- Make thermostat-webapp's tomcat listen on non-conflicting
+  tomcat port. Fixes RHBZ#1054396.
+- Require exact core version in -webapp subpackage.
+
+* Wed Mar 19 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-6
+- Add lucene-analysis BR due to package split of lucene.
+- Fix symlink to lucene analyzers.
+
+* Thu Mar 06 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-5
+- Also start lucene-analyzers as bootstrap bundle.
+
+* Wed Mar 05 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-4
+- Update to lucene 4.7.0
+- Contributed-by: Michael Simacek
+
+* Wed Mar 05 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-3
+- Fix netty3 symlink.
+
+* Tue Mar 04 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-2
+- Update spec due to newer httpcomponents-client version.
+
+* Fri Feb 14 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.2-1
+- Update to latest upstream release.
+
+* Tue Feb 11 2014 Omair Majid <omajid@redhat.com> - 1.0.0-3
+- Fix License to match what the source tarball says
+
+* Tue Feb 11 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.0-3
+- Fix FTBFS (changed dependency).
+
+* Fri Jan 17 2014 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.0-2
+- Fix path to jdk/tools.jar in boot scripts.
+- Build against netty3 for now. See RHBZ#1053619.
+- Fix build bundle versions.
+
+* Thu Nov 28 2013 Severin Gehwolf <sgehwolf@redhat.com> - 1.0.0-1
+- Update to upstream 1.0.0 release.
+- Add support for building release branch snapshots.
+
+* Tue Nov 05 2013 Severin Gehwolf <sgehwolf@redhat.com> - 0.15.0-2
+- Change BR/R from jline2 to jline. Resolves RHBZ#1023024
+
+* Tue Nov 05 2013 Severin Gehwolf <sgehwolf@redhat.com> - 0.15.0-1
+- Update to latest upstream release.
+- Use osgi-style R/BR in order to ensure that things work during
+  runtime.
+- Use custom CATALINA_BASE for thermostat-webapp deployment.
+- Reduce symlinked jars in thermostat-webapp classpath.
+- Thermostat tomcat is started via:
+  $ systemctl start tomcat@thermostat
+
+* Wed Oct 23 2013 Severin Gehwolf <sgehwolf@redhat.com> - 0.9.2-7
+- SCL-ize thermostat.
+
+* Fri Aug 23 2013 Omair Majid <omajid@redhat.com> 0.9.2-6
+- Don't use %{_var}.
+
+* Fri Aug 02 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.2-5
+- Bump release, rebuild for arm.
+
+* Wed Jun 05 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.2-4
+- Don't install thermostat-agent.service due to IcedTea BZ#1460.
+
+* Fri May 31 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.2-3
+- Add thermostat SVG icon.
+- Add systemd requires.
+
+* Wed May 29 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.2-2
+- Fix warning on uninstall.
+
+* Fri May 24 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.2-1
+- Update to upstream 0.9.2 release.
+- With this update, storage/agent systemd services work in
+  permissive mode.
+
+* Wed May 22 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.9.0-1
+- Update to upstream 0.9.0 release.
+- Remove thermostat-client script.
+- Fixes RHBZ#966892.
+
+* Tue May 21 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.8.0-0.1.20130521hg97e66ed2e4ae
+- Update to 0.8.0 pre-release.
+- Install systemd unit files.
+
+* Tue May 21 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-18
+- Move require of servlet API to webapp sub-package.
+
+* Mon May 20 2013 Omair Majid <omajid@redhat.com> 0.6.0-17
+- COPYING and LICENSE should be included in all packages
+- javadoc subpackage should be noarch
+
+* Fri May 17 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-17
+- Finish move to new-style mvn packaging.
+
+* Fri May 17 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-16
+- More xmvn + proper pom installation packaging progress.
+
+* Fri May 17 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-15
+- Require xmvn >= 0.4.2-1.1 in order to be able to skip installation
+  of the web archive module.
+- More work towards new-style packaging.
+
+* Thu May 16 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-14
+- More fixes using pom macros.
+- Experiment with new-style packaging. Hit a road-block. Need a
+  web archive installer which xmvn doesn't support :(
+
+* Thu May 16 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-13
+- Remove one more patch which can be replaced by pom macros.
+
+* Fri Mar 15 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-12
+- Remove plugins we don't need via pom macros.
+- Add missing BR maven-javadoc-plugin.
+
+* Fri Mar 15 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-11
+- Fix webapp so as to allow symlinking deps.
+- Add default users for webstorage.
+
+* Fri Mar 15 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-10
+- Fixup web.xml in thermostat-webapp.
+
+* Thu Mar 14 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-9
+- Fix thermostat-webapp so as to include web-server.jar
+
+* Thu Mar 14 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-8
+- Make disable_webservice_cmd.patch smaller (use pom macros instead).
+- Remove unwanted files in /usr/share/thermostat which are generated by
+  maven.
+- Put all config files in /etc and symlink from appropriate places.
+
+* Thu Mar 14 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-7
+- Use pom macros instead of patches.
+
+* Wed Mar 13 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-6
+- Add webapp subpackage.
+
+* Wed Mar 13 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-5
+- Fix NPE on help.
+- Fix bundle resolution errors for heap analysis commands.
+
+* Tue Mar 12 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-4
+- Fix bundle-loading patch so that all commands depending on
+  httpcomponents-*.jars also start httpmime.
+
+* Tue Mar 12 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-3
+- Update init-layout-patch (was missing plugins symlink).
+- Fix OSGi filter syntax (prevented thermostat gui from booting).
+
+* Mon Mar 11 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.6.0-2
+- Disable webservice command.
+- Do a tomcat-only build.
+- Work around jline2 jar not being there (see RHBZ#919640).
+
+* Fri Mar 8 2013 Jon VanAlten <jon.vanalten@redhat.com> - 0.6.0-1
+- Update to upstream 0.6.0 release.
+- Also fix RHBZ 914544 (ftbfs)
+
+* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-0.28.20121123hgd6145521e208
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 0.5.0-0.27.20121123hgd6145521e208
+- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
+- Replace maven BuildRequires with maven-local
+
+* Mon Jan 7 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.26.20121123hgd6145521e208
+- Remove felix-osgi-compendium BR/R since we don't use it (yet).
+
+* Mon Jan 7 2013 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.25.20121123hgd6145521e208
+- Fix for RHBZ 891840 (NoSuchMethodError on boot).
+
+* Thu Dec 20 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.24.20121123hgd6145521e208
+- Fix broken symlinks in %{_jnidir}. See RHBZ#889187.
+
+* Wed Dec 19 2012 Stanislav Ochotnicky <sochotnicky@redhat.com> - 0.5.0-0.23.20121123hgd6145521e208
+- revbump after jnidir change
+
+* Fri Nov 23 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.22.20121123hgd6145521e208
+- Update to more recent snapshot.
+- New BR maven-war-plugin.
+
+* Fri Nov 23 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.21.20121121hg09c2918d8656
+- Require better lucene which has the javax.management
+  ImportPackage header.
+
+* Thu Nov 22 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.5.0-0.20.20121121hg09c2918d8656
+- Build a first pre-release version of thermostat.
+- Includes web layer.
+
+* Thu Nov 15 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-7
+- Export JAVA_HOME before calling make.
+
+* Thu Nov 15 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-6
+- Set JAVA_HOME via set_jvm.
+
+* Wed Nov 14 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-5
+- Don't use maven-exec-plugin for compiling native bits.
+
+* Mon Oct 22 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-4
+- Require >= jline2-2.5-7 since it has the import-package fix
+  (see RHBZ#868291).
+
+* Mon Oct 22 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-3
+- Fix RHBZ#868486
+- Debug-infos were not properly generated.
+- Do not override CFLAGS/LDFLAGS.
+
+* Fri Oct 19 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-2
+- Fix jfreechart.jar symlink name.
+
+* Tue Oct 16 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.4.0-1
+- Update to upstream 0.4 release.
+- Starts dependencies as bundles.
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Jul 19 2012 Severin Gehwolf <sgehwolf@redhat.com> 0.3-2
+- Removed now obsolete patch (with jfreechart updated to 1.0.14)
+- Added BR
+
+* Thu Jul 12 2012 Omair Majid <omajid@redhat.com> - 0.3-1
+- Update to upstream 0.3 release
+
+* Sun May 06 2012 Omair Majid <omajid@redhat.com> - 0.2-0.20120506hg2140a7c81a4b
+- Resolve RH813539
+- Remove uneeded require on fusesource-pom
+- Fix jar to use jline2 instead of jline
+
+* Fri May 04 2012 Omair Majid <omajid@redhat.com> - 0.2-0.20120503hg2140a7c81a4b
+- Update to pre-release upstream snapshot
+
+* Mon Feb 13 2012 Omair Majid <omajid@redhat.com> - 0.1-1
+- Updated description
+
+* Tue Feb 07 2012 Omair Majid <omajid@redhat.com> - 0.1-1
+- Intial package