Blame activemq.spec

Matt Spaulding e41b34c
Name:          activemq
Matt Spaulding e41b34c
Version:       5.6.0
Matt Spaulding e41b34c
Release:       2%{?dist}
Matt Spaulding e41b34c
Summary:       Open source messaging and Integration Patterns server
Matt Spaulding e41b34c
Group:         Development/Libraries
Matt Spaulding e41b34c
License:       ASL 2.0
Matt Spaulding e41b34c
URL:           http://activemq.apache.org
Matt Spaulding e41b34c
# git clone -b activemq-5.6.0 https://github.com/apache/activemq.git activemq-core-5.6.0
Matt Spaulding e41b34c
# rm -rf activemq-core-5.6.0/.git
Matt Spaulding e41b34c
# tar cJf activemq-core-5.6.0.tar.xz activemq-core-5.6.0
Matt Spaulding e41b34c
Source0:       activemq-5.6.0.tar.xz
Matt Spaulding e41b34c
Matt Spaulding e41b34c
BuildRequires: activeio
Matt Spaulding e41b34c
BuildRequires: activemq-protobuf
Matt Spaulding e41b34c
BuildRequires: derby
Matt Spaulding e41b34c
BuildRequires: geronimo-jta
Matt Spaulding e41b34c
BuildRequires: jasypt
Matt Spaulding e41b34c
BuildRequires: javacc-maven-plugin
Matt Spaulding e41b34c
BuildRequires: java-devel
Matt Spaulding e41b34c
BuildRequires: jettison
Matt Spaulding e41b34c
BuildRequires: jpackage-utils
Matt Spaulding e41b34c
BuildRequires: maven-clean-plugin
Matt Spaulding e41b34c
BuildRequires: maven-compiler-plugin
Matt Spaulding e41b34c
BuildRequires: maven-enforcer-plugin
Matt Spaulding e41b34c
BuildRequires: maven-gpg-plugin
Matt Spaulding e41b34c
BuildRequires: maven-idea-plugin
Matt Spaulding e41b34c
BuildRequires: maven-javadoc-plugin
Matt Spaulding e41b34c
BuildRequires: maven-plugin-cobertura
Matt Spaulding e41b34c
BuildRequires: maven-pmd-plugin
Matt Spaulding e41b34c
BuildRequires: maven-release-plugin
Matt Spaulding e41b34c
BuildRequires: maven-source-plugin
Matt Spaulding e41b34c
BuildRequires: maven-surefire-plugin
Matt Spaulding e41b34c
BuildRequires: maven-surefire-provider-junit4
Matt Spaulding e41b34c
BuildRequires: maven-xbean-plugin
Matt Spaulding e41b34c
BuildRequires: springframework-jms
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Required for /usr/share/java/activemq directory
Matt Spaulding e41b34c
Requires: activemq-protobuf
Matt Spaulding e41b34c
Matt Spaulding e41b34c
Requires: java
Matt Spaulding e41b34c
Requires: jpackage-utils
Matt Spaulding e41b34c
Matt Spaulding e41b34c
BuildArch: noarch
Matt Spaulding e41b34c
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%description
Matt Spaulding e41b34c
The most popular and powerful open source messaging and Integration Patterns
Matt Spaulding e41b34c
server.
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%package javadoc
Matt Spaulding e41b34c
Group: Documentation
Matt Spaulding e41b34c
Summary: Javadoc for %{name}
Matt Spaulding e41b34c
Requires: jpackage-utils
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%description javadoc
Matt Spaulding e41b34c
This package contains javadoc for %{name}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%package core
Matt Spaulding e41b34c
Group: Development/Libraries
Matt Spaulding e41b34c
Summary: ActiveMQ Core
Matt Spaulding e41b34c
Requires: %{name}        = %{version}-%{release}
Matt Spaulding e41b34c
Requires: %{name}-jaas   = %{version}-%{release}
Matt Spaulding e41b34c
Requires: %{name}-kahadb = %{version}-%{release}
Matt Spaulding e41b34c
Requires: jpackage-utils
Matt Spaulding e41b34c
Requires: java
Matt Spaulding e41b34c
Requires: activemq-protobuf
Matt Spaulding e41b34c
Requires: activeio
Matt Spaulding e41b34c
Requires: jettison
Matt Spaulding e41b34c
Requires: springframework-jms
Matt Spaulding e41b34c
Requires: geronimo-jta
Matt Spaulding e41b34c
Requires: derby
Matt Spaulding e41b34c
Requires: jasypt
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%description core
Matt Spaulding e41b34c
ActiveMQ Core Library
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%package jaas
Matt Spaulding e41b34c
Group: Development/Libraries
Matt Spaulding e41b34c
Summary: ActiveMQ Jaas
Matt Spaulding e41b34c
Requires: %{name} = %{version}-%{release}
Matt Spaulding e41b34c
Requires: jpackage-utils
Matt Spaulding e41b34c
Requires: java
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%description jaas
Matt Spaulding e41b34c
ActiveMQ Jaas Library
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%package kahadb
Matt Spaulding e41b34c
Group: Development/Libraries
Matt Spaulding e41b34c
Summary: ActiveMQ KahaDB
Matt Spaulding e41b34c
Requires: %{name} = %{version}-%{release}
Matt Spaulding e41b34c
Requires: jpackage-utils
Matt Spaulding e41b34c
Requires: java
Matt Spaulding e41b34c
Requires: activemq-protobuf
Matt Spaulding e41b34c
Requires: activeio
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%description kahadb
Matt Spaulding e41b34c
A file based persistence database that is local to the message broker that
Matt Spaulding e41b34c
is using it. It has been optimized for fast persistence and is the the default
Matt Spaulding e41b34c
storage mechanism from ActiveMQ 5.4 onwards. KahaDB uses less file descriptors
Matt Spaulding e41b34c
and provides faster recovery than its predecessor, the AMQ Message Store.
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%prep
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%setup -q -n %{name}-%{version}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Disable modules
Matt Spaulding e41b34c
for m in all camel console fileserver blueprint karaf \
Matt Spaulding e41b34c
    openwire-generator optional pool ra rar run spring \
Matt Spaulding e41b34c
    tooling web web-demo web-console xmpp jmdns_1.0
Matt Spaulding e41b34c
do
Matt Spaulding e41b34c
    %pom_disable_module %{name}-${m}
Matt Spaulding e41b34c
done
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%pom_disable_module assembly
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove missing plugin for activemq-core
Matt Spaulding e41b34c
%pom_remove_dep xsddoc:maven-xsddoc-plugin %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove missing plugin
Matt Spaulding e41b34c
%pom_remove_plugin org.codehaus.mojo:ianal-maven-plugin
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove missing test dependencies
Matt Spaulding e41b34c
%pom_remove_dep org.springframework:spring-test
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove missing optional dependencies
Matt Spaulding e41b34c
%pom_remove_dep org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove xstream support (fedora version is out of date)
Matt Spaulding e41b34c
rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/stomp
Matt Spaulding e41b34c
rm -rf %{name}-core/src/main/java/org/apache/activemq/util/XStreamFactoryBean.java
Matt Spaulding e41b34c
%pom_remove_dep com.thoughtworks.xstream:xstream %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove jmdns support
Matt Spaulding e41b34c
rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/discovery/zeroconf
Matt Spaulding e41b34c
%pom_remove_dep org.apache.activemq:activemq-jmdns_1.0 %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove leveldb support
Matt Spaulding e41b34c
rm -rf %{name}-core/src/main/java/org/apache/activemq/store/leveldb
Matt Spaulding e41b34c
%pom_remove_dep org.fusesource.fuse-extra:fusemq-leveldb %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove mqtt support
Matt Spaulding e41b34c
rm -rf %{name}-core/src/main/java/org/apache/activemq/transport/mqtt
Matt Spaulding e41b34c
%pom_remove_dep org.fusesource.mqtt-client:mqtt-client %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Remove other optional dependencies
Matt Spaulding e41b34c
%pom_remove_dep org.apache.activemq:activemq-openwire-generator %{name}-core/pom.xml
Matt Spaulding e41b34c
%pom_remove_dep org.apache.geronimo.specs:geronimo-j2ee-management_1.1_spec %{name}-core/pom.xml
Matt Spaulding e41b34c
%pom_remove_dep org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec %{name}-core/pom.xml
Matt Spaulding e41b34c
%pom_remove_dep org.apache.geronimo.specs:geronimo-jacc_1.1_spec %{name}-core/pom.xml
Matt Spaulding e41b34c
Matt Spaulding e41b34c
chmod 644 LICENSE README.txt
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Fix license file encoding
Matt Spaulding e41b34c
mv LICENSE LICENSE.orig
Matt Spaulding e41b34c
iconv -f iso-8859-1 -t utf-8 LICENSE.orig > LICENSE
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%build
Matt Spaulding e41b34c
mvn-rpmbuild -Dmaven.test.skip=true \
Matt Spaulding e41b34c
    -Dproject.build.sourceEncoding=UTF-8 \
Matt Spaulding e41b34c
    install javadoc:aggregate
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%install
Matt Spaulding e41b34c
Matt Spaulding e41b34c
install -d -m 755 %{buildroot}%{_javadir}/%{name}
Matt Spaulding e41b34c
install -d -m 755 %{buildroot}%{_mavenpomdir}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
for m in %{name}-core %{name}-jaas kahadb; do
Matt Spaulding e41b34c
    install -pm 644 ${m}/target/${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar
Matt Spaulding e41b34c
    install -pm 644 ${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom
Matt Spaulding e41b34c
    %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar
Matt Spaulding e41b34c
done
Matt Spaulding e41b34c
Matt Spaulding e41b34c
# Parent POM
Matt Spaulding e41b34c
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
Matt Spaulding e41b34c
%add_maven_depmap JPP-%{name}.pom
Matt Spaulding e41b34c
mkdir -p %{buildroot}%{_javadocdir}/%{name}
Matt Spaulding e41b34c
cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%files
Matt Spaulding e41b34c
%doc LICENSE README.txt
Matt Spaulding e41b34c
# Not owning /usr/share/java/activemq since it is owned by activemq-protobuf
Matt Spaulding e41b34c
%{_mavenpomdir}/JPP-%{name}.pom
Matt Spaulding e41b34c
%{_mavendepmapfragdir}/%{name}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%files javadoc
Matt Spaulding e41b34c
%doc LICENSE
Matt Spaulding e41b34c
%{_javadocdir}/%{name}
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%files core
Matt Spaulding e41b34c
%doc LICENSE
Matt Spaulding e41b34c
%{_javadir}/%{name}/%{name}-core.jar
Matt Spaulding e41b34c
%{_mavenpomdir}/JPP.%{name}-%{name}-core.pom
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%files jaas
Matt Spaulding e41b34c
%doc LICENSE
Matt Spaulding e41b34c
%{_javadir}/%{name}/%{name}-jaas.jar
Matt Spaulding e41b34c
%{_mavenpomdir}/JPP.%{name}-%{name}-jaas.pom
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%files kahadb
Matt Spaulding e41b34c
%doc LICENSE
Matt Spaulding e41b34c
%{_javadir}/%{name}/kahadb.jar
Matt Spaulding e41b34c
%{_mavenpomdir}/JPP.%{name}-kahadb.pom
Matt Spaulding e41b34c
Matt Spaulding e41b34c
%changelog
Matt Spaulding e41b34c
* Wed Sep 19 2012 Matt Spaulding <mspaulding06@gmail.com> - 5.6.0-2
Matt Spaulding e41b34c
- Added NOTICE to all subpackages
Matt Spaulding e41b34c
- Removed references to RPM_BUILD_ROOT for consistency
Matt Spaulding e41b34c
Matt Spaulding e41b34c
* Mon Sep 10 2012 Matt Spaulding <mspaulding06@gmail.com> - 5.6.0-1
Matt Spaulding e41b34c
- Initial RPM package
Matt Spaulding e41b34c