-Summary: Jakarta Commons Daemon
-Name: jakarta-commons-daemon
-Version: 0.1
-Release: 1
-License: Apache
-Group: Development/Languages/Java
-Source0: http://jakarta.apache.org/~jfclere/commons-daemon/commons-daemon-src.tar.gz
-URL: http://jakarta.apache.org/
-Requires: jre
-BuildRequires: jakarta-ant
-BuildRequires: junit
-BuildArch: noarch
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# Conditional build:
+%bcond_without javadoc # don't build javadoc
-%define _javalibdir /usr/share/java
+%include /usr/lib/rpm/macros.java
+Summary: Jakarta Commons Daemon - controlling of Java daemons
+Summary(pl.UTF-8): Jakarta Commons Daemon - kontrolowanie demonów w Javie
+Name: java-commons-daemon
+Version: 1.0.1
+Release: 4
+License: Apache v2.0
+Group: Libraries/Java
+Source0: http://www.apache.org/dist/jakarta/commons/daemon/source/daemon-%{version}.tar.gz
+# Source0-md5: df3eb5aafa53ca530843a09d40b8a1c0
+Patch0: jakarta-commons-daemon-link.patch
+URL: http://commons.apache.org/daemon/
+BuildRequires: ant >= 1.4.1
+BuildRequires: automake
+BuildRequires: jdk >= 1.2
+BuildRequires: jpackage-utils
+BuildRequires: junit >= 3.7
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.300
+BuildRequires: xmlto >= 0:0.0.18-1
+Requires: java-commons-collections >= 2.0
+Requires: java-commons-logging >= 1.0
+Requires: jpackage-utils
+Requires: jre >= 1.2
+Provides: jakarta-commons-daemon
+Obsoletes: jakarta-commons-daemon
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Jakarta Commons Daemon.
+The Daemon Component contains a set of Java and native code, including
+a set of Java interfaces applications must implement and Unix native
+code to control a Java daemon from a Unix operating system.
+
+%description -l pl.UTF-8
+Komponent Daemon zawiera zbiór kodu w Javie i natywnego, zawierającego
+zbiór interfejsów w Javie, które muszą być zaimplementowane w
+aplikacjach oraz natywny kod uniksowy kontrolujący demony w Javie w
+systemie Unix.
+
+%package javadoc
+Summary: Jakarta Commons Daemon documentation
+Summary(pl.UTF-8): Dokumentacja do Jakarta Commons Daemon
+Group: Documentation
+Requires: jpackage-utils
+Provides: jakarta-commons-daemon-javadoc
+Obsoletes: jakarta-commons-daemon-doc
+Obsoletes: jakarta-commons-daemon-javadoc
-%package doc
-Summary: Jakarta Commons Daemon
-Group: Development/Languages/Java
+%description javadoc
+Jakarta Commons Daemon documentation.
-%description doc
-Jakarta Commons Daemon.
+%description javadoc -l pl.UTF-8
+Dokumentacja do Jakarta Commons Daemon.
%prep
-%setup -q -n commons-daemon-src
+%setup -qc
+mv daemon-%{version}/* .
+%patch0 -p1
%build
-touch LICENSE
-mkdir srcdir
-cat > build.properties << EOF
-junit.home = %{_javalibdir}
-junit.jar = \${junit.home}
-EOF
-#hack
-ant dist || true
+# Java part
+required_jars="junit"
+export CLASSPATH=$(build-classpath $required_jars)
+%ant dist
+
+# native part
+cd src/native/unix
+cp -f /usr/share/automake/config.sub support
+%configure \
+ --with-java=%{java_home}
+%{__make}
+refentry2man < man/jsvc.1.xml > man/jsvc.1
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_javadir}
+
+# jars
+cp -a dist/commons-daemon.jar $RPM_BUILD_ROOT%{_javadir}/commons-daemon-%{version}.jar
+ln -s commons-daemon-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/commons-daemon.jar
-install -d $RPM_BUILD_ROOT%{_javalibdir}
-install dist/*.jar $RPM_BUILD_ROOT%{_javalibdir}
+# javadoc
+%if %{with javadoc}
+install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+cp -a dist/docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
+%endif
+
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
+install src/native/unix/jsvc $RPM_BUILD_ROOT%{_bindir}
+cp -a src/native/unix/man/jsvc.1 $RPM_BUILD_ROOT%{_mandir}/man1
%clean
rm -rf $RPM_BUILD_ROOT
+%post javadoc
+ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
+
%files
%defattr(644,root,root,755)
%doc dist/LICENSE
-%{_javalibdir}/*.jar
+%attr(755,root,root) %{_bindir}/jsvc
+%{_mandir}/man1/jsvc.1*
+%{_javadir}/*.jar
-%files doc
+%if %{with javadoc}
+%files javadoc
%defattr(644,root,root,755)
-%doc dist/docs
+%{_javadocdir}/%{name}-%{version}
+%ghost %{_javadocdir}/%{name}
+%endif