Name: river Version: 2.2.1 Release: 1%{?dist} Summary: Apache River Jini # packaged as library Group: Development/Libraries License: ASL 2.0 URL: http://river.apache.org/ Source0: http://www.apache.org/dist/river/%{name}-%{version}/apache-%{name}-%{version}-src.tar.gz Source1: %{name}-jini-core-template.pom Source2: %{name}-jini-ext-template.pom Source3: %{name}-jsk-policy-template.pom Source4: %{name}-sun-util-template.pom # Only after build replace manifest Source5: %{name}-tools-MANIFEST.MF # One exception in tools.mf require for build all libraries, otherwise: # [java] Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor Patch0: %{name}-2.2.1-remove-classpath.patch BuildRequires: java-devel BuildRequires: jpackage-utils # build tools BuildRequires: ant BuildRequires: animal-sniffer BuildRequires: mojo-signatures BuildRequires: velocity # main deps BuildRequires: objectweb-asm # test deps BuildRequires: ant-junit BuildRequires: cglib BuildRequires: junit BuildRequires: mockito BuildRequires: multithreadedtc BuildRequires: objenesis Requires: java Requires: jpackage-utils BuildArch: noarch %description Apache River is a project furthering the development and advancement of Jini technology. Jini is a service oriented architecture that defines a programming model which both exploits and extends Java technology to enable the construction of secure, distributed systems consisting of federations of services and clients. Jini technology can be used to build adaptive network systems that are scalable, evolvable and flexible as typically required in dynamic computing environments. %package services Group: Development/Libraries Summary: Apache River/Jini services Requires: %{name} = %{version}-%{release} Requires: objectweb-asm %description services Modules that provide Apache River/Jini services. %package examples Group: Development/Libraries Summary: Apache River/Jini examples Requires: %{name} = %{version}-%{release} %description examples This package contains examples for %{name}. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %package examples-javadoc Group: Documentation Summary: Javadoc for %{name}-examples Requires: %{name}-examples = %{version}-%{release} %description examples-javadoc This package contains javadoc for %{name}-examples. %package manual Group: Documentation Summary: Manual for %{name} Requires: %{name} = %{version}-%{release} %description manual This package contains manual for %{name}. %prep %setup -q -n apache-%{name}-%{version} find . -name "*.bat" -delete find . -name "*.class" -delete find . -name "*.jar" -delete find . -name "*.zip" -delete find . -name "java*.signature" -delete %patch0 -p1 ( cd animal-sniffer ln -sf $(build-classpath animal-sniffer/animal-sniffer) animal-sniffer-1.6.jar ln -sf $(build-classpath animal-sniffer/ant-tasks-) animal-sniffer-ant-tasks-1.6.jar ln -sf $(build-classpath mojo-signatures/java15.signature) java14-1.0.signature ln -sf $(build-classpath mojo-signatures/java15.signature) java14-sun-1.0.signature ln -sf $(build-classpath mojo-signatures/java16.signature) java15-1.0.signature ln -sf $(build-classpath mojo-signatures/java16.signature) java15-ibm-1.0.signature ln -sf $(build-classpath mojo-signatures/java16.signature) java15-sun-1.0.signature ) ( cd asm ln -sf $(build-classpath objectweb-asm/asm) asm-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-3.2.jar ln -sf $(build-classpath objectweb-asm/asm-tree) asm-tree-3.2.jar ) ( cd velocity ln -sf $(build-classpath velocity) velocity-1.7.jar ) ( cd test/lib ln -sf $(build-classpath cglib) cglib-nodep-2.2.jar ln -sf $(build-classpath junit) junit-4.6.jar ln -sf $(build-classpath mockito) mockito-all-1.7.jar ln -sf $(build-classpath MultithreadedTC) MultithreadedTC-1.01.jar ln -sf $(build-classpath objenesis) . ) cp -p %{SOURCE1} poms/jini-core.pom cp -p %{SOURCE2} poms/jini-ext.pom cp -p %{SOURCE3} poms/jsk-policy.pom cp -p %{SOURCE4} poms/sun-util.pom sed -i "s|@VERSION@|%{version}|" poms/*.pom sed -i "s|mvn|mvn-rpmbuild|" poms/deploy_river.groovy sed -i 's/\r//' src-doc/static/specs/html/standard.css %build export CLASSPATH=$(build-classpath objectweb-asm) ant all.build river-doc test # replace manifest (without classpath) cd lib mkdir -p META-INF cp -p %{SOURCE5} META-INF/MANIFEST.MF touch META-INF/MANIFEST.MF zip -u tools.jar META-INF/MANIFEST.MF %install mkdir -p %{buildroot}%{_mavenpomdir} mkdir -p %{buildroot}%{_javadir}/%{name} install -m 644 lib/jini-core.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 poms/jini-core.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jini-core.pom %add_maven_depmap JPP.%{name}-jini-core.pom %{name}/jini-core.jar -a "net.jini:jini-core,jini:jini-core" install -m 644 lib/jini-ext.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 poms/jini-ext.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jini-ext.pom %add_maven_depmap JPP.%{name}-jini-ext.pom %{name}/jini-ext.jar -a "net.jini:jini-ext,jini:jini-ext" install -m 644 lib-dl/jsk-dl.jar %{buildroot}%{_javadir}/%{name}/jsk-dl.jar install -pm 644 poms/jsk-dl.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jsk-dl.pom %add_maven_depmap JPP.%{name}-jsk-dl.pom %{name}/jsk-dl.jar install -m 644 lib-ext/jsk-policy.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 poms/jsk-policy.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-jsk-policy.pom %add_maven_depmap JPP.%{name}-jsk-policy.pom %{name}/jsk-policy.jar for m in jsk-lib \ jsk-platform \ jsk-resources \ sun-util;do install -m 644 lib/${m}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 poms/${m}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar done for m in fiddler \ mahalo \ mercury \ norm \ outrigger \ reggie \ serviceui \ start;do install -m 644 lib/${m}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 poms/${m}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap -f services JPP.%{name}-${m}.pom %{name}/${m}.jar done install -pm 644 lib/browser.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/destroy.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/extra.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/group.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/jsk-debug-policy.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/outrigger-snaplogstore.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/phoenix-group.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/phoenix-init.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/phoenix.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/sharedvm.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib/tools.jar %{buildroot}%{_javadir}/%{name}/ for m in fiddler-dl \ mahalo-dl \ mercury-dl \ norm-dl \ outrigger-dl \ reggie-dl;do install -m 644 lib-dl/${m}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar install -pm 644 poms/${m}.pom %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom %add_maven_depmap -f services JPP.%{name}-${m}.pom %{name}/${m}.jar done install -pm 644 lib-dl/browser-dl.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib-dl/group-dl.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib-dl/phoenix-dl.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 lib-dl/sdm-dl.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 examples/hello/lib/client.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 examples/hello/lib/mdprefld.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 examples/hello/lib/server-act.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 examples/hello/lib/server-dl.jar %{buildroot}%{_javadir}/%{name}/ install -pm 644 examples/hello/lib/server.jar %{buildroot}%{_javadir}/%{name}/ mkdir -p %{buildroot}%{_javadocdir}/%{name}/spec cp -pr doc/api/* %{buildroot}%{_javadocdir}/%{name} cp -a doc/internals %{buildroot}%{_javadocdir}/%{name} cp -pr doc/specs/api/* %{buildroot}%{_javadocdir}/%{name}/spec rm -rf doc/api doc/internals doc/specs/api mkdir -p %{buildroot}%{_javadocdir}/%{name}-examples cp -pr examples/hello/doc/api/* %{buildroot}%{_javadocdir}/%{name}-examples %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/jini-core.jar %{_javadir}/%{name}/jini-ext.jar %{_javadir}/%{name}/jsk-dl.jar %{_javadir}/%{name}/jsk-lib.jar %{_javadir}/%{name}/jsk-platform.jar %{_javadir}/%{name}/jsk-policy.jar %{_javadir}/%{name}/jsk-resources.jar %{_javadir}/%{name}/sun-util.jar %{_mavenpomdir}/JPP.%{name}-jini-*.pom %{_mavenpomdir}/JPP.%{name}-jsk-dl.pom %{_mavenpomdir}/JPP.%{name}-jsk-lib.pom %{_mavenpomdir}/JPP.%{name}-jsk-platform.pom %{_mavenpomdir}/JPP.%{name}-jsk-policy.pom %{_mavenpomdir}/JPP.%{name}-jsk-resources.pom %{_mavenpomdir}/JPP.%{name}-sun-util.pom %{_mavendepmapfragdir}/%{name} %doc LICENSE.txt NOTICE.txt %files services %{_javadir}/%{name}/fiddler*.jar %{_javadir}/%{name}/mahalo*.jar %{_javadir}/%{name}/mercury*.jar %{_javadir}/%{name}/norm*.jar %{_javadir}/%{name}/outrigger.jar %{_javadir}/%{name}/outrigger-dl.jar %{_javadir}/%{name}/reggie*.jar %{_javadir}/%{name}/serviceui.jar %{_javadir}/%{name}/start.jar %{_javadir}/%{name}/tools.jar %{_mavenpomdir}/JPP.%{name}-fiddler*.pom %{_mavenpomdir}/JPP.%{name}-mahalo*.pom %{_mavenpomdir}/JPP.%{name}-mercury*.pom %{_mavenpomdir}/JPP.%{name}-norm*.pom %{_mavenpomdir}/JPP.%{name}-outrigger.pom %{_mavenpomdir}/JPP.%{name}-outrigger-dl.pom %{_mavenpomdir}/JPP.%{name}-reggie*.pom %{_mavenpomdir}/JPP.%{name}-serviceui.pom %{_mavenpomdir}/JPP.%{name}-start.pom %{_mavendepmapfragdir}/%{name}-services %{_javadir}/%{name}/destroy.jar %{_javadir}/%{name}/extra.jar %{_javadir}/%{name}/group*.jar %{_javadir}/%{name}/outrigger-snaplogstore.jar %{_javadir}/%{name}/phoenix.jar %{_javadir}/%{name}/phoenix-dl.jar %{_javadir}/%{name}/phoenix-group.jar %{_javadir}/%{name}/phoenix-init.jar %{_javadir}/%{name}/sdm-dl.jar %{_javadir}/%{name}/sharedvm.jar %{_javadir}/%{name}/browser*.jar %{_javadir}/%{name}/jsk-debug-policy.jar %doc LICENSE.txt NOTICE.txt %files examples %{_javadir}/%{name}/client.jar %{_javadir}/%{name}/mdprefld.jar %{_javadir}/%{name}/server-act.jar %{_javadir}/%{name}/server-dl.jar %{_javadir}/%{name}/server.jar %doc LICENSE.txt NOTICE.txt %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt NOTICE.txt %files examples-javadoc %{_javadocdir}/%{name}-examples %doc LICENSE.txt NOTICE.txt %files manual %doc doc/* %doc LICENSE.txt NOTICE.txt %changelog * Sun Jun 09 2013 gil cattaneo 2.2.1-1 - update to 2.2.1 * Thu Apr 12 2012 gil cattaneo 2.2.0-1 - initial rpm