%global base_name daemon %global short_name commons-%{base_name} Name: apache-%{short_name} Version: 1.0.2 Release: 3%{?dist} Summary: Defines API to support an alternative invocation mechanism License: ASL 2.0 Group: Applications/System URL: http://commons.apache.org/%{base_name} Source0: http://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%{version}-src.tar.gz Patch0: %{name}-execve-path-warning.patch Patch1: %{name}-ppc64-configure.patch Patch2: %{name}-s390x-configure.patch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils >= 0:1.7.2 BuildRequires: maven-plugin-bundle BuildRequires: maven-surefire-maven-plugin BuildRequires: maven-surefire-provider-junit BuildRequires: maven-doxia-sitetools BuildRequires: maven2-plugin-assembly BuildRequires: maven2-plugin-antrun BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-idea BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-resources BuildRequires: xmlto Requires: java >= 1:1.6.0 Requires: jpackage-utils >= 0:1.6 Requires(post): jpackage-utils Requires(postun): jpackage-utils BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # This should go away with F-17 Provides: jakarta-%{short_name} = 1:%{version}-%{release} Obsoletes: jakarta-%{short_name} <= 1:1.0.1 %description The scope of this package is to define an API in line with the current Java Platform APIs to support an alternative invocation mechanism which could be used instead of the public static void main(String[]) method. This specification covers the behavior and life cycle of what we define as Java daemons, or, in other words, non interactive Java applications. %package jsvc Summary: Java daemon launcher Group: Applications/System Provides: jsvc = 1:%{version}-%{release} Provides: jakarta-%{short_name}-jsvc = 1:%{version}-%{release} Obsoletes: jakarta-%{short_name}-jsvc <= 1:1.0.1 %description jsvc %{summary}. %package javadoc Summary: API documentation for %{name} Group: Documentation Requires: jpackage-utils BuildArch: noarch Obsoletes: jakarta-%{short_name}-javadoc <= 1:1.0.1 %description javadoc %{summary}. %prep %setup -q -n %{short_name}-%{version}-src %patch0 -p1 -b .execve %patch1 -p1 -b .ppc %patch2 -p1 -b .s390 chmod 644 src/samples/* cd src/native/unix xmlto man man/jsvc.1.xml %build # build native jsvc pushd src/native/unix %configure --with-java=%{java_home} # this is here because 1.0.2 archive contains old *.o make clean make %{?_smp_mflags} popd # build jars 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 $RPM_BUILD_ROOT # install native jsvc install -Dpm 755 src/native/unix/jsvc $RPM_BUILD_ROOT%{_bindir}/jsvc install -Dpm 644 src/native/unix/jsvc.1 $RPM_BUILD_ROOT%{_mandir}/man1/jsvc.1 # jars install -Dpm 644 target/%{short_name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar pushd $RPM_BUILD_ROOT%{_javadir} for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|apache-||g"` ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` ln -sf ${jar} `echo $jar| sed "s|apache-\(.*\)-%{version}|\1|g"` done popd # come back from javadir # pom install -Dpm 644 pom.xml $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{short_name}.pom %add_to_maven_depmap org.apache.commons %{short_name} %{version} JPP %{short_name} # following line is only for backwards compatibility. New packages # should use proper groupid org.apache.commons and also artifactid %add_to_maven_depmap %{short_name} %{short_name} %{version} JPP %{short_name} # javadoc install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root,-) %doc LICENSE.txt PROPOSAL.html NOTICE.txt RELEASE-NOTES.txt src/samples %doc src/docs/* %{_javadir}/* %{_mavenpomdir}/JPP-%{short_name}.pom %{_mavendepmapfragdir}/* %files jsvc %defattr(-,root,root,-) %doc LICENSE.txt %{_bindir}/jsvc %{_mandir}/man1/jsvc.1* %files javadoc %defattr(-,root,root,-) %doc %{_javadocdir}/%{name}-%{version} %doc %{_javadocdir}/%{name} %changelog * Fri Jun 4 2010 Stanislav Ochotnicky - 1.0.2-3 - Make javadoc subpackage noarch * Tue Jun 1 2010 Stanislav Ochotnicky - 1.0.2-2 - Fix add_to_maven_depmap call - Added depmap for old groupId - Unified use of `install` * Wed May 12 2010 Stanislav Ochotnicky - 1.0.2-1 - Rename and rebase to apache-commons-daemon - Get rid of gcj, native conditional compilation - Build with maven - Update patches to cleanly apply on new version, remove unneeded - Clean up whole spec * Fri Jul 24 2009 Fedora Release Engineering - 1:1.0.1-8.8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Mar 03 2009 Karsten Hopp 1.0.1-7.8 - ppc needs a similar patch * Tue Mar 03 2009 Karsten Hopp 1.0.1-7.7 - add configure patch for s390x * Wed Feb 25 2009 Fedora Release Engineering - 1:1.0.1-7.6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Jul 9 2008 Tom "spot" Callaway - 1:1.0.1-6.6 - drop repotag * Fri Feb 08 2008 Permaine Cheung - 1:1.0.1-6jpp.5 - Add configure patch for ia64 from Doug Chapman * Mon Sep 24 2007 Permaine Cheung - 1:1.0.1-6jpp.4 - Add execve path warning patch from James Ralston