%define with_repolib 1 %if %with_repolib %define repodir %{_javadir}/repository.jboss.com/jgroups/%{version}.GA-brew %define repodirlib %{repodir}/lib %define repodirsrc %{repodir}/src %endif Name: jgroups Version: 2.6.10 Release: %mkrel 1 Summary: A Toolkit for Reliable Multicast Communication Group: Development/Java License: LGPL Url: http://www.jgroups.org/ Source0: http://sourceforge.net/projects/javagroups/files/JGroups/%{version}.GA/JGroups-%{version}.GA.src.zip Source1: jgroups-component-info.xml BuildRequires: ant BuildRequires: ant-junit BuildRequires: ant-trax BuildRequires: apache-commons-logging BuildRequires: bouncycastle BuildRequires: bsh BuildRequires: concurrent BuildRequires: geronimo-jms BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: junit BuildRequires: liblog4j-java BuildRequires: mx4j BuildRequires: xalan-j2 Requires: apache-commons-logging Requires: bsh Requires: geronimo-jms Requires: jpackage-utils Requires: liblog4j-java Requires: xalan-j2 BuildArch: noarch %description JGroups is a toolkit for reliable multicast communication. (Note that this doesn't necessarily mean IP Multicast, JGroups can also use transports such as TCP). It can be used to create groups of processes whose members can send messages to each other. The main features include * Group creation and deletion. Group members can be spread across LANs or WANs * Joining and leaving of groups * Membership detection and notification about joined/left/crashed members * Detection and removal of crashed members * Sending and receiving of member-to-group messages (point-to-multipoint) * Sending and receiving of member-to-member messages (point-to-point) %package javadoc Group: Development/Java Summary: Javadoc for %{name} %description javadoc Reliable group communication based on IP multicast and configurable protocol stack This package contains Javadoc for %{name}. %package manual Group: Development/Java Summary: Documents for %{name} %description manual Reliable group communication based on IP multicast and configurable protocol stack This package contains documents for %{name} %if %with_repolib %package repolib Group: Development/Java Summary: Artifacts to be uploaded to a repository library %description repolib Artifacts to be uploaded to a repository library. This package is not meant to be installed but so its contents can be extracted through rpm2cpio. %endif %prep %setup -q -n JGroups-%{version}.GA.src for j in $(find . -name "*.jar"); do mv $j $j.no done find . -name '.cvsignore' -exec rm -f '{}' \; # this test requires bouncycastle # rm tests/junit/org/jgroups/protocols/ENCRYPTAsymmetricTest.java pushd lib ln -sf $(build-classpath ant) ant.jar ln -sf $(build-classpath ant/ant-junit) ant-junit.jar ln -sf $(build-classpath ant-launcher) ant-launcher.jar ln -sf $(build-classpath xalan-j2) xalan.jar ln -sf $(build-classpath bsh) bsh-1.2b3.jar ln -sf $(build-classpath bcprov) bcprov-1.39.jar ln -sf $(build-classpath junit) junit.jar ln -sf $(build-classpath xalan-j2-serializer) serializer.jar ln -sf $(build-classpath geronimo-jms) jms.jar ln -sf $(build-classpath log4j) log4j.jar ln -sf $(build-classpath commons-logging) commons-logging.jar ln -sf $(build-classpath mx4j/mx4j-jmx) . ln -sf $(build-classpath concurrent) . popd %build export OPT_JAR_LIST=`cat %{_sysconfdir}/ant.d/{junit,trax}` export CLASSPATH="" CLASSPATH=$CLASSPATH:$(build-classpath xalan-j2 xalan-j2-serializer bcprov junit-3.8.2 ant-launcher ant/ant-junit) ant \ -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 \ jar javadoc gossip-service jgroups-service %install [ %{buildroot} != / ] && rm -rf %{buildroot} mkdir -p %{buildroot}%{_javadir} install -m 644 dist/jgroups-all.jar %{buildroot}%{_javadir}/jgroups-%{version}.jar install -m 644 dist/jgroups-core.jar %{buildroot}%{_javadir}/jgroups-core-%{version}.jar install -m 644 dist/jgroups-sources.jar %{buildroot}%{_javadir}/jgroups-sources-%{version}.jar ( cd %{buildroot}%{_javadir} for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) mkdir -p %{buildroot}%{_mavenpomdir} install -m 644 jgroups-pom.xml %{buildroot}%{_mavenpomdir}/JPP-jgroups.pom %add_maven_depmap JPP-%{name}.pom %{name}.jar mkdir -p %{buildroot}%{_javadocdir}/jgroups-%{version} cp -pr dist/javadoc/* %{buildroot}%{_javadocdir}/jgroups-%{version} ln -s jgroups-%{version} %{buildroot}%{_javadocdir}/jgroups mkdir -p %{buildroot}%{_datadir}/jgroups-%{version} for sar in $(pwd)/dist/*.sar; do bsar=$(basename ${sar}) mkdir -p %{buildroot}%{_datadir}/jgroups-%{version}/${bsar} pushd %{buildroot}%{_datadir}/jgroups-%{version}/${bsar} %{jar} xf ${sar} for jar in `find -type f -name "*.jar"`; do rm ${jar} bjar=$(basename ${jar}) ln -s %{_javadir}/${bjar} ${bjar} done popd done ln -s jgroups-%{version} %{buildroot}%{_datadir}/jgroups %if %with_repolib mkdir -p %{buildroot}%{repodir} mkdir -p %{buildroot}%{repodirlib} cp -p %{SOURCE1} %{buildroot}%{repodir}/component-info.xml tag=`echo jgroups-%{version}-%{release} | sed 's|\.|_|g'` sed -i "s/@TAG@/$tag/g" %{buildroot}%{repodir}/component-info.xml sed -i "s/@VERSION@/%{version}.GA-brew/g" %{buildroot}%{repodir}/component-info.xml mkdir -p %{buildroot}%{repodirsrc} cp -p %{SOURCE0} %{buildroot}%{repodirsrc} cp -p %{buildroot}%{_javadir}/jgroups-%{version}.jar %{buildroot}%{repodirlib}/jgroups.jar cp -p %{buildroot}%{_javadir}/jgroups-sources-%{version}.jar %{buildroot}%{repodirlib}/jgroups-sources.jar cp -p jgroups-pom.xml %{buildroot}%{repodirlib}/jgroups.pom %endif %post %update_maven_depmap %postun %update_maven_depmap %files %{_javadir}/jgroups-%{version}.jar %{_javadir}/jgroups.jar %{_javadir}/jgroups-core-%{version}.jar %{_javadir}/jgroups-core.jar %{_javadir}/jgroups-sources-%{version}.jar %{_javadir}/jgroups-sources.jar %dir %{_datadir}/jgroups-%{version} %dir %{_datadir}/jgroups %{_datadir}/jgroups-%{version}/gossip-router.sar/ %dir %{_datadir}/jgroups-%{version}/jgroups-service.sar %dir %{_datadir}/jgroups-%{version}/jgroups-service.sar/META-INF %{_datadir}/jgroups-%{version}/jgroups-service.sar/META-INF/MANIFEST.MF %{_datadir}/jgroups-%{version}/jgroups-service.sar/META-INF/jboss-service.xml %{_datadir}/jgroups-%{version}/jgroups-service.sar/commons-logging.jar %{_datadir}/jgroups-%{version}/jgroups-service.sar/jg-magic-map.xml %{_datadir}/jgroups-%{version}/jgroups-service.sar/jgroups-core.jar %{_datadir}/jgroups-%{version}/jgroups-service.sar/log4j.jar %{_datadir}/jgroups-%{version}/jgroups-service.sar/stacks.xml %{_mavenpomdir}/* %{_mavendepmapfragdir}/* %doc CREDITS EULA INSTALL.html LICENSE README %files javadoc %{_javadocdir}/jgroups-%{version} %{_javadocdir}/jgroups %files manual %doc doc/* %if %with_repolib %files repolib %{_javadir}/repository.jboss.com %endif %changelog * Thu Aug 11 2011 dmorgan <dmorgan> 2.6.10-1.mga2 + Revision: 132700 - Clean spec file + gil <gil> - use new macro - fix tag version - imported package jgroups * Sat Jun 25 2011 gil <gil> 2.6.10-0.%%mkrel - initial rpm