%global debug_package %{nil} %global amqhome /usr/share/%{name} %if %{_arch} == x86_64 %global amqarch 64 %else %global amqarch 32 %endif %if 0%{?fedora} >= 16 || 0%{?rhel} >= 7 %global with_systemd 1 %else %global with_systemd 0 %endif Name: activemq Version: 5.6.0 Release: 6%{?dist} Summary: Open source messaging and Integration Patterns server Group: Development/Libraries License: ASL 2.0 URL: http://activemq.apache.org # git clone -b activemq-5.6.0 https://github.com/apache/activemq.git activemq-core-5.6.0 # rm -rf activemq-core-5.6.0/.git # tar cJf activemq-core-5.6.0.tar.xz activemq-core-5.6.0 Source0: activemq-5.6.0.tar.xz Source1: activemq-conf Source2: activemq.service BuildRequires: activeio BuildRequires: activemq-protobuf #BuildRequires: apacheds-core #BuildRequires: apacheds-server #BuildRequires: apacheds-utils BuildRequires: apache-commons-collections-testframework BuildRequires: apache-commons-daemon BuildRequires: derby BuildRequires: directory-project BuildRequires: gentlyweb-utils BuildRequires: geronimo-jta BuildRequires: jasypt BuildRequires: javacc-maven-plugin BuildRequires: java-devel BuildRequires: jettison BuildRequires: jmock BuildRequires: josql BuildRequires: jpackage-utils BuildRequires: maven-clean-plugin BuildRequires: maven-compiler-plugin BuildRequires: maven-enforcer-plugin BuildRequires: maven-gpg-plugin BuildRequires: maven-idea-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-local BuildRequires: maven-plugin-cobertura BuildRequires: maven-pmd-plugin BuildRequires: maven-release-plugin BuildRequires: maven-shade-plugin BuildRequires: maven-source-plugin BuildRequires: maven-surefire-plugin BuildRequires: maven-surefire-provider-junit4 BuildRequires: maven-xbean-plugin BuildRequires: springframework-jms %if %{with_systemd} Requires: systemd %else Requires: systemd %endif # Required for /usr/share/java/activemq directory Requires: activemq-protobuf Requires: java Requires: jpackage-utils %description The most popular and powerful open source messaging and Integration Patterns server. %package javadoc Group: Documentation Summary: Javadoc for %{name} Requires: jpackage-utils %description javadoc This package contains javadoc for %{name} %package core Group: Development/Libraries Summary: ActiveMQ Core Requires: %{name} = %{version}-%{release} Requires: %{name}-jaas = %{version}-%{release} Requires: %{name}-kahadb = %{version}-%{release} Requires: jpackage-utils Requires: java Requires: activemq-protobuf Requires: activeio Requires: jettison Requires: springframework-jms Requires: geronimo-jta Requires: derby Requires: jasypt %description core ActiveMQ Core Library %package jaas Group: Development/Libraries Summary: ActiveMQ Jaas Requires: %{name} = %{version}-%{release} Requires: jpackage-utils Requires: java %description jaas ActiveMQ Jaas Library %package kahadb Group: Development/Libraries Summary: ActiveMQ KahaDB Requires: %{name} = %{version}-%{release} Requires: jpackage-utils Requires: java Requires: activemq-protobuf Requires: activeio %description kahadb A file based persistence database that is local to the message broker that is using it. It has been optimized for fast persistence and is the the default storage mechanism from ActiveMQ 5.4 onwards. KahaDB uses less file descriptors and provides faster recovery than its predecessor, the AMQ Message Store. %package console Group: Development/Libraries Summary: ActiveMQ Console Requires: %{name} = %{version}-%{release} Requires: %{name}-core = %{version}-%{release} Requires: jpackage-utils Requires: java Requires: activemq-protobuf Requires: activeio Requires: jettison Requires: springframework-jms Requires: geronimo-jta Requires: derby Requires: jasypt %description console ActiveMQ Console %prep %setup -q -n %{name}-%{version} # Disable modules for m in all camel fileserver blueprint karaf \ openwire-generator optional pool ra rar spring \ tooling web web-demo web-console xmpp jmdns_1.0 do %pom_disable_module %{name}-${m} done %pom_disable_module assembly # Remove missing plugin for activemq-core %pom_remove_dep xsddoc:maven-xsddoc-plugin %{name}-core/pom.xml # Remove missing plugin %pom_remove_plugin org.codehaus.mojo:ianal-maven-plugin # Remove missing test dependencies %pom_remove_dep org.springframework:spring-test # Remove missing optional dependencies %pom_remove_dep org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec # Remove xstream support (fedora version is out of date) rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/stomp rm -rf %{name}-core/src/main/java/org/apache/activemq/util/XStreamFactoryBean.java %pom_remove_dep com.thoughtworks.xstream:xstream %{name}-core/pom.xml # Remove jmdns support rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/discovery/zeroconf %pom_remove_dep org.apache.activemq:activemq-jmdns_1.0 %{name}-core/pom.xml # Remove leveldb support rm -rf %{name}-core/src/main/java/org/apache/activemq/store/leveldb %pom_remove_dep org.fusesource.fuse-extra:fusemq-leveldb %{name}-core/pom.xml # Remove mqtt support rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/mqtt %pom_remove_dep org.fusesource.mqtt-client:mqtt-client %{name}-core/pom.xml # Remove other optional dependencies %pom_remove_dep org.apache.activemq:activemq-openwire-generator %{name}-core/pom.xml %pom_remove_dep org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec %{name}-core/pom.xml %pom_remove_dep org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec %{name}-core/pom.xml %pom_remove_dep org.apache.geronimo.specs:geronimo-jacc_1.1_spec %{name}-core/pom.xml %pom_remove_dep org.apache.geronimo.specs:geronimo-annotation_1.0_spec %{name}-core/pom.xml %pom_remove_dep org.springframework:spring-test %{name}-core/pom.xml %pom_remove_dep org.jasypt:jasypt %{name}-core/pom.xml %pom_remove_dep commons-primitives:commons-primitives %{name}-core/pom.xml %pom_remove_dep axion:axion %{name}-core/pom.xml %pom_remove_dep org.apache.ftpserver:ftpserver-core %{name}-core/pom.xml chmod 644 LICENSE README.txt # Fix license file encoding mv LICENSE LICENSE.orig iconv -f iso-8859-1 -t utf-8 LICENSE.orig > LICENSE %build mvn-rpmbuild -Dmaven.test.skip=true \ -Dproject.build.sourceEncoding=UTF-8 \ install javadoc:aggregate %install install -d -m 755 %{buildroot}%{_javadir}/%{name} install -d -m 755 %{buildroot}%{_mavenpomdir} for m in %{name}-core %{name}-jaas %{name}-console kahadb; do install -pm 644 ${m}/target/${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 ${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar done # Parent POM install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %add_maven_depmap JPP-%{name}.pom mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name} # amqhome - general mkdir -p $RPM_BUILD_ROOT%{amqhome} mkdir -p $RPM_BUILD_ROOT/var/run/%{name} mkdir -p $RPM_BUILD_ROOT/var/lib/%{name}/data mkdir -p $RPM_BUILD_ROOT/var/log/%{name} ln -s /var/lib/%{name}/data $RPM_BUILD_ROOT%{amqhome}/data ln -s /var/log/%{name} $RPM_BUILD_ROOT%{amqhome}/log cp -a assembly/src/release/{lib,webapps} $RPM_BUILD_ROOT%{amqhome} # cp -a assembly/src/release/{docs,example,lib,webapps} $RPM_BUILD_ROOT%{amqhome} # amqhome - config files mkdir -p $RPM_BUILD_ROOT/etc/%{name}/ install -pm 644 assembly/src/release/conf/* $RPM_BUILD_ROOT/etc/%{name}/ install -D -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/etc/activemq.conf ln -s /etc/%{name}/ $RPM_BUILD_ROOT%{amqhome}/conf # amqhome - binaries mkdir -p $RPM_BUILD_ROOT%{amqhome}/bin/ install -pm 755 assembly/src/release/bin/activemq $RPM_BUILD_ROOT%{amqhome}/bin/ install -pm 755 assembly/src/release/bin/activemq-admin $RPM_BUILD_ROOT%{amqhome}/bin/ install -pm 755 assembly/src/release/bin/wrapper.jar $RPM_BUILD_ROOT%{amqhome}/bin/ mkdir -p $RPM_BUILD_ROOT/usr/bin ln -s %{amqhome}/bin/activemq-admin $RPM_BUILD_ROOT/usr/bin/activemq-admin ln -s %{amqhome}/bin/activemq $RPM_BUILD_ROOT/usr/bin/activemq mkdir -p $RPM_BUILD_ROOT/%{_libdir}/%{name}/linux install -pm 755 assembly/src/release/bin/linux-x86-%{amqarch}/libwrapper.so $RPM_BUILD_ROOT/%{_libdir}/%{name}/linux/ install -pm 755 assembly/src/release/bin/linux-x86-%{amqarch}/wrapper $RPM_BUILD_ROOT/%{_libdir}/%{name}/linux/ install -pm 755 assembly/src/release/bin/linux-x86-%{amqarch}/wrapper.conf $RPM_BUILD_ROOT/etc/%{name}/ %if %{with_systemd} mkdir -p $RPM_BUILD_ROOT%{_unitdir} install -pm 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_unitdir} %else mkdir -p $RPM_BUILD_ROOT%{_initddir} install -pm 755 assembly/src/release/bin/linux-x86-%{amqarch}/activemq $RPM_BUILD_ROOT/%{_initddir} %endif %if %{with_systemd} %post %systemd_post activemq.service %preun %systemd_preun activemq.service %postun %systemd_postun_with_restart activemq.service %endif %files %doc LICENSE NOTICE README.txt %doc assembly/src/release/docs %doc assembly/src/release/example # Not owning /usr/share/java/activemq since it is owned by activemq-protobuf %{_mavenpomdir}/JPP-%{name}.pom %{_mavendepmapfragdir}/%{name} %{amqhome} /usr/bin/ %config(noreplace) /etc/activemq.conf %dir /etc/%{name} %config(noreplace) /etc/%{name}/* /var/run/%{name} /var/lib/%{name} /var/log/%{name} %{_libdir} %if %{with_systemd} %{_unitdir} %else %{_initddir} %endif %files javadoc %doc LICENSE NOTICE %{_javadocdir}/%{name} %files core %doc LICENSE NOTICE %{_javadir}/%{name}/%{name}-core.jar %{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %files jaas %doc LICENSE NOTICE %{_javadir}/%{name}/%{name}-jaas.jar %{_mavenpomdir}/JPP.%{name}-%{name}-jaas.pom %files kahadb %doc LICENSE NOTICE %{_javadir}/%{name}/kahadb.jar %{_mavenpomdir}/JPP.%{name}-kahadb.pom %files console %doc LICENSE NOTICE %{_javadir}/%{name}/%{name}-console.jar %{_mavenpomdir}/JPP.%{name}-%{name}-console.pom %changelog * Fri Apr 19 2013 Troy Dawson - 5.6.0-6 - Added server binaries - Added config files - Added startup/shutdown scripts - Changed to be arch dependant * Sun Mar 03 2013 Matt Spaulding - 5.6.0-5 - Removed optional geronimo-annotation dependency from activemq-core * Wed Feb 13 2013 Fedora Release Engineering - 5.6.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Wed Sep 19 2012 Matt Spaulding - 5.6.0-3 - Added NOTICE to all subpackages * Wed Sep 19 2012 Matt Spaulding - 5.6.0-2 - Removed references to RPM_BUILD_ROOT for consistency * Mon Sep 10 2012 Matt Spaulding - 5.6.0-1 - Initial RPM package