apache-commons-daemon/apache-commons-daemon.spec

253 lines
6.8 KiB
RPMSpec

%define maven 0
%if %maven
%define target_dir target
%define api_dir %target_dir/site/apidocs
%else
%define target_dir dist
%define api_dir %target_dir/docs/api
%endif
Name: apache-commons-daemon
Version: 1.0.15
Release: 1mamba
Summary: Apache Commons Daemon Package
Group: Development/Libraries/Java
Vendor: openmamba
Distribution: openmamba
Packager: gil <puntogil@libero.it>
URL: http://commons.apache.org/daemon/
Source0: http://www.apache.org/dist/commons/daemon/source/commons-daemon-%{version}-src.tar.gz
Source1: maven2-2.2.0-settings.xml
Source2: commons-daemon-1.0.5-autogeneratedfiles.tar.gz
Patch0: apache-commons-daemon-1.0.4-execve-path-warning.patch
Patch1: apache-commons-daemon-1.0.4-add_OSGi_Manifest.patch
#Patch0: jakarta-commons-daemon-1.0.1-crosslink.patch
#Patch3: jakarta-commons-daemon-1.0.1-ia64-configure.patch
License: Apache Software License 2.0
BuildRequires: apache-ant
%if %maven
BuildRequires: apache-maven2
BuildRequires: apache-maven2-ant-plugin
BuildRequires: apache-maven2-antrun-plugin
BuildRequires: apache-maven2-assembly-plugin
BuildRequires: apache-maven2-compiler-plugin
BuildRequires: apache-maven2-idea-plugin
BuildRequires: apache-maven2-install-plugin
BuildRequires: apache-maven2-jar-plugin
BuildRequires: apache-maven2-javadoc-plugin
BuildRequires: apache-maven2-resources-plugin
#BuildRequires: felix maven-bundle-plugin
#BuildRequires: maven-surefire-plugin
%endif
BuildRequires: docbook-utils
BuildRequires: java-junit3
BuildRequires: jpackage-utils
BuildRequires: make
BuildRequires: java-openjdk
BuildRequires: java-openjdk-javadoc
BuildRequires: xmlto
Requires: jpackage-utils
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
## AUTOBUILDREQ-END
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
The scope of this package is to define an API in line with the current
Java(tm) Platform APIs to support an alternative invocation mechanism
which could be used instead of the above mentioned public static void
main(String[]) method. This specification cover the behavior and life
cycle of what we define as Java(tm) daemons, or, in other words, non
interactive Java(tm) applications.
Daemon is made of 2 parts. One written in C that makes the interface to the
operating system and the other in Java that provides the Daemon API
%package jsvc
Group: System/Tools
Summary: Java daemon launcher
%description jsvc
Jakarta Commons Daemon Package
This package contains %{name} Java daemon launcher
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
%description javadoc
Jakarta Commons Daemon Package
This package contains javadoc for %{name}
%package source
Group: Development/Languages
Summary: %{name} source
%description source
Jakarta Commons Daemon Package
This package contains %{name} source.
%prep
%setup -q -n commons-daemon-%{version}-src
%patch0 -p0
for j in $(find . -name "*.jar"); do
rm -rf $j
done
for c in $(find . -name "*.class"); do
rm -rf $c
done
%if %maven
cp %{SOURCE1} settings.xml
mkdir -p .m2/repository/JPP/maven2
sed -i -e "s|<localRepository>__INTERNAL_REPO_PLACEHOLDER__</localRepository>|<localRepository>file://`pwd`/external_repo</localRepository>|g" settings.xml
sed -i -e "s|<url>__EXTERNAL_REPOPLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml
%else
tar -xf %{SOURCE2}
%patch1 -p0
%endif
rm -rf src/samples/build/
chmod 644 src/samples/*
pushd src/native/unix/man
xmlto man jsvc.1.xml
popd
%build
export JAVA_HOME=/usr/lib/jvm/java
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
%if %maven
mkdir external_repo
ln -s %{_javadir} external_repo/JPP
mvn-jpp \
-e \
-s $(pwd)/settings.xml \
-Dmaven.test.failure.ignore=true \
-Dmaven.repo.local=$MAVEN_REPO_LOCAL \
ant:ant org.apache.felix:maven-bundle-plugin:ant install javadoc:javadoc
%else
export CLASSPATH=$(build-classpath junit-3.8.2)
ant \
-Dant.lib=%{_datadir}/ant/lib \
-Dant.home=%{_datadir}/ant \
-Dj2se.javadoc=%{_javadocdir}/java \
-Djunit.home=%{_javadir} \
-Djunit.jar=$(build-classpath junit-3.8.2) \
dist test
%endif
cd src/native/unix
%configure \
--with-java=$JAVA_HOME
make clean
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
mkdir -p %{buildroot}%{_javadir}
mkdir -p %{buildroot}%{_datadir}/maven2/poms
install -m 644 %target_dir/commons-daemon-%{version}.jar \
%{buildroot}%{_javadir}/apache-commons-daemon-%{version}.jar
install -pm 644 pom.xml %{buildroot}%{_datadir}/maven2/poms/JPP-apache-commons-daemon.pom
%add_to_maven_depmap org.apache.commons commons-daemon %{version} JPP apache-commons-daemon
%add_to_maven_depmap commons-daemon commons-daemon %{version} JPP apache-commons-daemon
#(
# cd %{buildroot}%{_javadir}
# for jar in *-%{version}.jar; do
# ln -sf ${jar} `echo $jar| sed "s|apache-||g"`
# done
#)
(
cd %{buildroot}%{_javadir}
for jar in *-%{version}.jar; do
ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`
done
)
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_mandir}/man1
install -pm 755 src/native/unix/jsvc %{buildroot}%{_bindir}/jsvc
install -pm 644 src/native/unix/man/jsvc.1 %{buildroot}%{_mandir}/man1/
mkdir -p %{buildroot}%{_javadocdir}/apache-commons-daemon-%{version}
cp -pr %api_dir/* %{buildroot}%{_javadocdir}/apache-commons-daemon-%{version}
ln -s apache-commons-daemon-%{version} %{buildroot}%{_javadocdir}/apache-commons-daemon
mkdir -p %{buildroot}%{_sourcedir}/apache-commons-daemon-%{version}
cp -pr %target_dir/bin/commons-daemon-%{version}-native-src.* %{buildroot}%{_sourcedir}/apache-commons-daemon-%{version}/
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
%update_maven_depmap
%postun
%update_maven_depmap
%files
%defattr(-,root,root)
%{_javadir}/apache-commons-daemon-%{version}.jar
%{_javadir}/apache-commons-daemon.jar
#%{_javadir}/commons-daemon-%{version}.jar
#%{_javadir}/commons-daemon.jar
%{_datadir}/maven2/poms
%{_mavendepmapfragdir}
%doc README *.html *.txt
%doc src/docs/* src/samples
%files javadoc
%defattr(-,root,root)
%{_javadocdir}/apache-commons-daemon-%{version}
%{_javadocdir}/apache-commons-daemon
%files jsvc
%defattr(-,root,root)
%{_bindir}/jsvc
%{_mandir}/man1/jsvc.1.gz
%doc LICENSE.txt
%files source
%defattr(-,root,root)
%{_sourcedir}/apache-commons-daemon-%{version}/
%changelog
* Wed Mar 26 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 1.0.15-1mamba
- update to 1.0.15
* Sun Feb 27 2011 gil <puntogil@libero.it> 1.0.5-1mamba
- update to 1.0.5
* Sun Dec 12 2010 gil <puntogil@libero.it> 1.0.4-1mamba
- update to 1.0.4
* Thu Oct 01 2009 gil <puntogil@libero.it> 1.0.1-3mamba
- added jsvc manual
* Thu Jun 11 2009 gil <puntogil@libero.it> 1.0.1-2mamba
- added sources package
* Thu Feb 26 2009 gil <puntogil@libero.it> 1.0.1-1mamba
- package created by autospec