# Use maven if it is available - otherwise fall back to ant %if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 %global maven 1 %else %global maven 0 %endif Name: voms-api-java Version: 2.0.10 %global tagver %(tr . _ <<< %{version}) Release: 1%{?dist} Summary: Virtual Organization Membership Service Java API Group: Development/Libraries License: ASL 2.0 URL: https://wiki.italiangrid.it/VOMS Source0: https://github.com/italiangrid/%{name}/archive/%{tagver}.tar.gz # These are build instructions for ant generated from the maven # build instrutions using the maven ant plugin. # These are used for building on EPEL since there is no maven # available there. Source1: build.xml Source2: maven-build.xml Source3: maven-build.properties Patch0: %{name}-test.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch # There is no bouncycastle in EPEL 5 ppc and EPEL 6 ppc64 %if %{?rhel}%{!?rhel:0} == 5 ExcludeArch: ppc %endif %if %{?rhel}%{!?rhel:0} == 6 ExcludeArch: ppc64 %endif Requires: java Requires: jpackage-utils Requires: bouncycastle >= 1.39 %if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 Requires: apache-commons-cli Requires: apache-commons-lang %else Requires: jakarta-commons-cli Requires: jakarta-commons-lang %endif Requires: log4j Provides: vomsjapi = %{version}-%{release} Obsoletes: vomsjapi < 2.0.7 BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils %if %maven BuildRequires: maven-local BuildRequires: maven-compiler-plugin BuildRequires: maven-install-plugin BuildRequires: maven-jar-plugin BuildRequires: maven-javadoc-plugin BuildRequires: maven-release-plugin BuildRequires: maven-resources-plugin BuildRequires: maven-surefire-plugin BuildRequires: junit4 %else BuildRequires: ant BuildRequires: ant-junit %endif BuildRequires: bouncycastle >= 1.39 %if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 BuildRequires: apache-commons-cli BuildRequires: apache-commons-io BuildRequires: apache-commons-lang %else BuildRequires: jakarta-commons-cli BuildRequires: jakarta-commons-io BuildRequires: jakarta-commons-lang %endif BuildRequires: log4j %description The Virtual Organization Membership Service (VOMS) is an attribute authority which serves as central repository for VO user authorization information, providing support for sorting users into group hierarchies, keeping track of their roles and other attributes in order to issue trusted attribute certificates and SAML assertions used in the Grid environment for authorization purposes. This package provides a java client API for VOMS. %package javadoc Summary: Virtual Organization Membership Service Java API Documentation Group: Documentation Requires: jpackage-utils Requires: %{name} = %{version}-%{release} Provides: vomsjapi-javadoc = %{version}-%{release} Obsoletes: vomsjapi-javadoc < 2.0.7 %description javadoc Virtual Organization Membership Service (VOMS) Java API Documentation. %prep %setup -q -n %{name}-%{tagver} %patch0 -p1 install -m 644 %SOURCE1 . install -m 644 %SOURCE2 . install -m 644 %SOURCE3 . sed -e s/bcprov-ext-jdk16/bcprov-jdk16/ -i pom.xml %build %if %{maven} mvn-rpmbuild -Dbouncycastle.version=1.46 install javadoc:aggregate %else export CLASSPATH=$(build-classpath bcprov log4j commons-cli commons-io commons-lang) ant -Dbuild.sysclasspath=last package javadoc %endif %install mkdir -p %{buildroot}%{_javadir} install -m 644 target/%{name}-%{version}.jar \ %{buildroot}%{_javadir}/%{name}.jar ln -s %{name}.jar %{buildroot}%{_javadir}/vomsjapi.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} %if %{maven} cp -pr target/site/javadoc/apidocs %{buildroot}%{_javadocdir}/%{name} %else cp -pr target/site/apidocs %{buildroot}%{_javadocdir}/%{name} %endif %if %{maven} mkdir -p %{buildroot}%{_mavenpomdir} install -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %add_maven_depmap JPP-%{name}.pom %{name}.jar -a org.glite:vomsjapi %endif %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %{_javadir}/%{name}.jar %{_javadir}/vomsjapi.jar %if %{maven} %{_mavenpomdir}/JPP-%{name}.pom %{_mavendepmapfragdir}/%{name} %endif %doc AUTHORS LICENSE README.md %files javadoc %defattr(-,root,root,-) %doc %{_javadocdir}/%{name} %changelog * Mon Feb 11 2013 Mattias Ellert - 2.0.10-1 - Update to version 2.0.10 * Wed Feb 06 2013 Java SIG - 2.0.9-3 - Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild - Replace maven BuildRequires with maven-local * Sun Dec 02 2012 Mattias Ellert - 2.0.9-2 - Correct runtime requires and URL tag * Thu Nov 29 2012 Mattias Ellert - 2.0.9-1 - Update to version 2.0.9 * Sun Jul 22 2012 Fedora Release Engineering - 2.0.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu May 24 2012 Mattias Ellert - 2.0.8-1 - Update to version 2.0.8 (EMI 2 version) * Mon Apr 23 2012 Mattias Ellert - 2.0.7-2 - Fix compatibility maven fragment * Tue Mar 20 2012 Mattias Ellert - 2.0.7-1 - The Java API is now a separate source tree from the rest of voms