%global namedreltag .Final %global namedversion %{version}%{?namedreltag} Name: hornetq Version: 2.2.13 Release: 1%{?dist} Summary: Putting the buzz in messaging Group: System Environment/Libraries License: ASL 2.0 or LGPLv2+ URL: http://www.jboss.org/hornetq/ # svn export http://anonsvn.jboss.org/repos/hornetq/tags/HornetQ_2_2_13_AS7_Final/ hornetq-2.2.13.Final # find hornetq-2.2.13.Final/ -type f -name '*.jar' -delete # find hornetq-2.2.13.Final/ -name '*.bat' -delete # find hornetq-2.2.13.Final/ -name '*.dll' -delete # find hornetq-2.2.13.Final/ -name '*.exe' -delete # find hornetq-2.2.13.Final/ -name '*.so' -delete # rm -rf hornetq-2.2.13.Final/HornetQ_2_2_13_AS7_Final_Pending/native/disktest-ia64 # rm -rf hornetq-2.2.13.Final/HornetQ_2_2_13_AS7_Final_Pending/native/disktest32 # rm -rf hornetq-2.2.13.Final/HornetQ_2_2_13_AS7_Final_Pending/native/disktest64 # rm -rf hornetq-2.2.13.Final/native/disktest-ia64 # rm -rf hornetq-2.2.13.Final/native/disktest32 # rm -rf hornetq-2.2.13.Final/native/disktest64 # rm -rf hornetq-2.2.13.Final/tools/* # tar czf hornetq-2.2.13.Final-CLEAN-src-svn.tar.gz hornetq-2.2.13.Final Source0: hornetq-%{namedversion}-CLEAN-src-svn.tar.gz Source1: http://repo1.maven.org/maven2/org/hornetq/hornetq-bootstrap/2.2.13.Final/hornetq-bootstrap-2.2.13.Final.pom Source2: http://repo1.maven.org/maven2/org/hornetq/hornetq-core/2.2.13.Final/hornetq-core-2.2.13.Final.pom Source3: http://repo1.maven.org/maven2/org/hornetq/hornetq-core-client/2.2.13.Final/hornetq-core-client-2.2.13.Final.pom Source4: http://repo1.maven.org/maven2/org/hornetq/hornetq-jboss-as-integration/2.2.13.Final/hornetq-jboss-as-integration-2.2.11.Final.pom Source5: http://repo1.maven.org/maven2/org/hornetq/hornetq-jms/2.2.13.Final/hornetq-jms-2.2.13.Final.pom Source6: http://repo1.maven.org/maven2/org/hornetq/hornetq-jms-client/2.2.13.Final/hornetq-jms-client-2.2.13.Final.pom Source7: http://repo1.maven.org/maven2/org/hornetq/hornetq-logging/2.2.13.Final/hornetq-logging-2.2.13.Final.pom Source8: http://repo1.maven.org/maven2/org/hornetq/hornetq-ra/2.2.13.Final/hornetq-ra-2.2.13.Final.pom Source9: http://repo1.maven.org/maven2/org/hornetq/hornetq-resources/2.2.13.Final/hornetq-resources-2.2.13.Final.pom Source10: hornetq-service-2.2.13.Final.pom Source11: http://repo1.maven.org/maven2/org/hornetq/hornetq-spring-integration/2.2.13.Final/hornetq-spring-integration-2.2.13.Final.pom Source12: hornetq-twitter-integration-2.2.13.Final.pom Source13: hornetq-2.2.13.Final-build.xml # https://issues.jboss.org/browse/JBPAPP-8204 Patch0: hornetq-2.2.11.Final-jdk7.patch # tks to jhernand # build hornetq-twitter-integration with twitter4j 2.2.5 Patch1: hornetq-2.2.13.Final-new-twitter4j.patch BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: glibc-devel BuildRequires: libaio-devel BuildRequires: libtool BuildRequires: make %description HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. # TODO %package bootstrap Group: Development/Libraries Summary: HornetQ bootstrap module #BuildRequires: jboss-common-core #BuildRequires: jboss-microcontainer #Requires: jboss-common-core #Requires: jboss-microcontainer kernel module #Requires: %{name}-core = %{version}-%{release} #uildArch: noarch %description bootstrap HornetQ Messaging System. %package core Group: Development/Libraries Summary: HornetQ Core BuildRequires: javacc # FIXME netty >= 3.2.5.Final change the NETTY.VERSION when available in the build file BuildRequires: netty Requires: netty Requires: java Requires: jpackage-utils BuildArch: noarch %description core HornetQ Messaging System. %package jms Group: Development/Libraries Summary: HornetQ JMS module BuildRequires: jboss-ejb-3.1-api BuildRequires: jboss-jaspi-1.0-api BuildRequires: jboss-jms-1.1-api BuildRequires: jboss-transaction-1.1-api BuildRequires: jboss-transaction-spi BuildRequires: jboss-naming Requires: jboss-ejb-3.1-api Requires: jboss-jaspi-1.0-api Requires: jboss-jms-1.1-api Requires: jboss-transaction-1.1-api Requires: jboss-transaction-spi Requires: jboss-naming Requires: %{name}-core = %{version}-%{release} BuildArch: noarch %description jms HornetQ Messaging System. %package jboss-as-integration Group: Development/Libraries Summary: %{name} JBoss AS integration BuildRequires: jboss-msc BuildRequires: jboss-logging BuildRequires: picketbox Requires: jboss-logging Requires: jboss-msc Requires: picketbox Requires: %{name}-core = %{version}-%{release} Requires: %{name}-jms = %{version}-%{release} BuildArch: noarch %description jboss-as-integration HornetQ Messaging System. %package logging Group: Development/Libraries Summary: HornetQ Logging module BuildRequires: log4j Requires: log4j Requires: %{name}-core = %{version}-%{release} BuildArch: noarch %description logging HornetQ Messaging System. # TODO %package ra Group: Development/Libraries Summary: HornetQ XA recovery module #BuildRequires: jboss-connector-1.6-api # for xa recovery module # jboss.jbossts jbossjts.jar 4.6.1.GA MISSING # jboss.jbossts jbossts-common.jar 4.6.1.GA MISSING #BuildRequires: jboss-jts #Requires: jboss-connector-1.6-api #Requires: jboss-jts #Requires: %{name}-jms = %{version}-%{release} BuildArch: noarch %description ra HornetQ Messaging System. %package resources Group: Development/Libraries Summary: HornetQ resources module Requires: %{name}-core = %{version}-%{release} %description resources HornetQ Messaging System. %package service Group: Development/Libraries Summary: %{name} service module Requires: %{name}-jboss-as-integration = %{version}-%{release} BuildArch: noarch %description service HornetQ Messaging System. # TODO %package spring Group: Development/Libraries Summary: %{name} Spring integration #BuildRequires: springframework-aop #BuildRequires: springframework-beans #BuildRequires: springframework-context #BuildRequires: springframework-core #BuildRequires: springframework-expression #BuildRequires: springframework-jms MISSING #BuildRequires: springframework-tx #Requires: %{name}-jms = %{version}-%{release} BuildArch: noarch %description spring HornetQ Messaging System. %package twitter Group: Development/Libraries Summary: %{name} twitter4j integration BuildRequires: twitter4j Requires: twitter4j Requires: %{name}-jms = %{version}-%{release} BuildArch: noarch %description twitter HornetQ Messaging System. %package javadoc Group: Documentation Summary: Javadoc for %{name} BuildRequires: apiviz BuildRequires: graphviz BuildRequires: jdepend Requires: jpackage-utils BuildArch: noarch %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n hornetq-%{namedversion} %patch0 -p0 %patch1 -p1 cp -p %{SOURCE13} build.xml # fix non ASCII chars for s in src/main/org/hornetq/core/remoting/impl/netty/HornetQFrameDecoder2.java;do native2ascii -encoding UTF8 ${s} ${s} done %build ant dist javadoc # remove Werror # AsyncFile.cpp: In member function 'void AsyncFile::pollEvents(JNIEnv*&)': # AsyncFile.cpp:114:18: error: variable 'oneSecond' set but not used [-Werror=unused-but-set-variable] # cc1plus: all warnings being treated as errors sed -i 's|gl_COMPILER_FLAGS(-Werror)||' native/configure.ac ( cd native autoreconf --install export JAVA_HOME=%{_jvmdir}/java export ANT_HOME=%{_datadir}/ant %configure --disable-static sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %{__make} clean %{__make} %{?_smp_mflags} ) ant jar-resources %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_javadir}/%{name} install -pm 644 build/jars/%{name}-core.jar %{buildroot}%{_javadir}/%{name}/%{name}-core.jar install -pm 644 build/jars/%{name}-core-client.jar %{buildroot}%{_javadir}/%{name}/%{name}-core-client.jar install -pm 644 build/jars/%{name}-jboss-as-integration.jar %{buildroot}%{_javadir}/%{name}/%{name}-jboss-as-integration.jar install -pm 644 build/jars/%{name}-jms.jar %{buildroot}%{_javadir}/%{name}/%{name}-jms.jar install -pm 644 build/jars/%{name}-jms-client.jar %{buildroot}%{_javadir}/%{name}/%{name}-jms-client.jar install -pm 644 build/jars/%{name}-logging.jar %{buildroot}%{_javadir}/%{name}/%{name}-logging.jar install -pm 644 build/jars/%{name}-service.jar %{buildroot}%{_javadir}/%{name}/%{name}-service.jar install -pm 644 build/jars/%{name}-resources.jar %{buildroot}%{_javadir}/%{name}/%{name}-resources.jar install -pm 644 build/jars/%{name}-twitter-integration.jar %{buildroot}%{_javadir}/%{name}/%{name}-twitter-integration.jar # TODO # build/jars/hornetq-bootstrap.jar # build/jars/hornetq-ra.jar # build/jars/hornetq-spring-integration.jar mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %add_maven_depmap -f core JPP.%{name}-%{name}-core.pom %{name}/%{name}-core.jar install -pm 644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-core-client.pom %add_maven_depmap -f core JPP.%{name}-%{name}-core-client.pom %{name}/%{name}-core-client.jar install -pm 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-jboss-as-integration.pom %add_maven_depmap -f jboss-as-integration JPP.%{name}-%{name}-jboss-as-integration.pom %{name}/%{name}-jboss-as-integration.jar install -pm 644 %{SOURCE5} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-jms.pom %add_maven_depmap -f jms JPP.%{name}-%{name}-jms.pom %{name}/%{name}-jms.jar install -pm 644 %{SOURCE6} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-jms-client.pom %add_maven_depmap -f jms JPP.%{name}-%{name}-jms-client.pom %{name}/%{name}-jms-client.jar install -pm 644 %{SOURCE7} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-logging.pom %add_maven_depmap -f logging JPP.%{name}-%{name}-logging.pom %{name}/%{name}-logging.jar install -pm 644 %{SOURCE9} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-resources.pom %add_maven_depmap -f resources JPP.%{name}-%{name}-resources.pom %{name}/%{name}-resources.jar install -pm 644 %{SOURCE10} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-service.pom %add_maven_depmap -f service JPP.%{name}-%{name}-service.pom %{name}/%{name}-service.jar install -pm 644 %{SOURCE12} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-twitter-integration.pom %add_maven_depmap -f twitter-integration JPP.%{name}-%{name}-twitter-integration.pom %{name}/%{name}-twitter-integration.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp build/apidocs/* %{buildroot}%{_javadocdir}/%{name} cd native/src %{__make} install DESTDIR=%{buildroot} find %{buildroot} -name '*.la' -exec rm -f {} ';' %clean rm -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %{_bindir}/disktest %{_libdir}/libHornetQAIO.so %{_libdir}/libHornetQAIO.so.0 %{_libdir}/libHornetQAIO.so.0.0.0 %doc native/AUTHORS native/COPYING native/ChangeLog native/README # TODO #files bootstrap #doc licenses/LICENSE.txt %files core %{_javadir}/%{name}/%{name}-core.jar %{_javadir}/%{name}/%{name}-core-client.jar %{_mavenpomdir}/JPP.%{name}-%{name}-core.pom %{_mavenpomdir}/JPP.%{name}-%{name}-core-client.pom %{_mavendepmapfragdir}/%{name}-core %doc NOTICE licenses/LGPL.txt licenses/LICENSE.txt %files jms %{_javadir}/%{name}/%{name}-jms.jar %{_javadir}/%{name}/%{name}-jms-client.jar %{_mavenpomdir}/JPP.%{name}-%{name}-jms.pom %{_mavenpomdir}/JPP.%{name}-%{name}-jms-client.pom %{_mavendepmapfragdir}/%{name}-jms %doc licenses/LGPL.txt licenses/LICENSE.txt %files jboss-as-integration %{_javadir}/%{name}/%{name}-jboss-as-integration.jar %{_mavenpomdir}/JPP.%{name}-%{name}-jboss-as-integration.pom %{_mavendepmapfragdir}/%{name}-jboss-as-integration %doc licenses/LGPL.txt licenses/LICENSE.txt %files logging %{_javadir}/%{name}/%{name}-logging.jar %{_mavenpomdir}/JPP.%{name}-%{name}-logging.pom %{_mavendepmapfragdir}/%{name}-logging %doc licenses/LGPL.txt licenses/LICENSE.txt # TODO #files ra #doc licenses/LGPL.txt licenses/LICENSE.txt %files resources %{_javadir}/%{name}/%{name}-resources.jar %{_mavenpomdir}/JPP.%{name}-%{name}-resources.pom %{_mavendepmapfragdir}/%{name}-resources %doc licenses/LGPL.txt licenses/LICENSE.txt %files service %{_javadir}/%{name}/%{name}-service.jar %{_mavenpomdir}/JPP.%{name}-%{name}-service.pom %{_mavendepmapfragdir}/%{name}-service %doc licenses/LGPL.txt licenses/LICENSE.txt # TODO #files spring #doc licenses/LGPL.txt licenses/LICENSE.txt %files twitter %{_javadir}/%{name}/%{name}-twitter-integration.jar %{_mavenpomdir}/JPP.%{name}-%{name}-twitter-integration.pom %{_mavendepmapfragdir}/%{name}-twitter-integration %doc licenses/LGPL.txt licenses/LICENSE.txt %files javadoc %{_javadocdir}/%{name} %doc licenses/LGPL.txt licenses/LICENSE.txt %changelog * Tue Apr 17 2012 gil cattaneo 2.2.13-1 - initial rpm