Blob Blame History Raw
# Prevent brp-java-repack-jars from being run.
%define __jar_repack %{nil}

%global bundle org.osgi.foundation
%global felixdir %{_javadir}/felix

Name:    felix-osgi-foundation
Version: 1.2.0
Release: 3%{?dist}
Summary: Felix OSGi Foundation EE Bundle

Group:   Development/Libraries
License: ASL 2.0
URL:     http://felix.apache.org
Source0: http://www.apache.org/dist/felix/%{bundle}-%{version}-project.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch

BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jpackage-utils
BuildRequires: maven2
BuildRequires: maven2-plugin-resources
BuildRequires: maven2-plugin-compiler
BuildRequires: maven-surefire-maven-plugin
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-javadoc
BuildRequires: maven-doxia-sitetools

Requires: java >= 1:1.6.0

Requires(post):   jpackage-utils
Requires(postun): jpackage-utils

%description
OSGi Foundation Execution Environment (EE) Classes.

%package javadoc
Group:          Documentation
Summary:        Javadoc for %{name}
Requires:       jpackage-utils

%description javadoc
API documentation for %{name}.

%global publicPOM %{_mavenpomdir}/JPP.felix-%{name}.pom

%prep
%setup -q -n %{bundle}-%{version}

%build
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
%__mkdir_p $MAVEN_REPO_LOCAL

mvn-jpp \
  -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
  install javadoc:javadoc

%install
%__rm -rf %{buildroot}

# jars
install -d -m 0755 %{buildroot}%{felixdir}
install -m 644 target/%{bundle}-%{version}.jar \
        %{buildroot}%{felixdir}/%{bundle}-%{version}.jar

(cd %{buildroot}%{felixdir} && for jar in *-%{version}*; \
    do %__ln_s -f ${jar} `echo $jar| sed "s|-%{version}||g"`; done)

%add_to_maven_depmap org.apache.felix %{bundle} %{version} JPP/felix %{bundle}

# poms
install -d -m 755 %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{publicPOM}

# javadoc
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}-%{version}
%__cp -pr target/site/api*/* %{buildroot}%{_javadocdir}/%{name}-%{version}/
%__ln_s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
%__rm -rf target/site/api*

%post
%update_maven_depmap

%postun
%update_maven_depmap

%clean
%__rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc LICENSE
%{felixdir}
%{publicPOM}
%config(noreplace) %{_mavendepmapfragdir}/%{name}

%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}

%changelog
* Wed Jun 30 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 1.2.0-3
- The javadoc subpackage should have requires on jpackage-utils
- Use the mavenpomdir macro
- Rename the mavenPOM macro to publicPOM

* Tue Jun 29 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 1.2.0-2
- Use maven to build the project instead of ant

* Thu Jun 24 2010 Victor G. Vasilyev <victor.vasilyev@sun.com> 1.2.0-1
- Release 1.2.0