Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > 6ab833a46613dbdcb95729d45be76b57 > files > 3

jgroups-2.6.10-1.mga2.src.rpm

%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