-Summary: Jakarta Commons Daemon
-Name: jakarta-commons-daemon
-Version: 0.1
+# Conditional build:
+%bcond_without javadoc # don't build javadoc
+%include /usr/lib/rpm/macros.java
+
+%define srcname commons-daemon
+Summary: Commons Daemon - controlling of Java daemons
+Summary(pl.UTF-8): Commons Daemon - kontrolowanie demonów w Javie
+Name: java-commons-daemon
+Version: 1.0.2
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
+License: Apache v2.0
+Group: Libraries/Java
+Source0: http://www.apache.net.pl/commons/daemon/source/commons-daemon-%{version}-src.tar.gz
+# Source0-md5: a6c68eed204bc9f1ef3b77488edfcfeb
+Patch0: jakarta-commons-daemon-link.patch
+URL: http://commons.apache.org/daemon/
+BuildRequires: ant >= 1.4.1
+BuildRequires: automake
+BuildRequires: java-junit >= 3.7
+BuildRequires: jdk
+BuildRequires: jpackage-utils
+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
+Obsoletes: jakarta-commons-daemon
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _javalibdir /usr/share/java
-
%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 doc
-Summary: Jakarta Commons Daemon
-Group: Development/Languages/Java
+%package javadoc
+Summary: Commons Daemon documentation
+Summary(pl.UTF-8): Dokumentacja do Commons Daemon
+Group: Documentation
+Requires: jpackage-utils
+Obsoletes: jakarta-commons-daemon-doc
+Obsoletes: jakarta-commons-daemon-javadoc
-%description doc
-Jakarta Commons Daemon.
+%description javadoc
+Commons Daemon documentation.
+
+%description javadoc -l pl.UTF-8
+Dokumentacja do Commons Daemon.
%prep
-%setup -q -n commons-daemon-src
+%setup -q -n %{srcname}-%{version}-src
+
+%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"
+CLASSPATH=$(build-classpath $required_jars)
+export CLASSPATH
+%ant jar %{?with_javadoc:javadoc}
+
+# 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/%{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
+ln -s %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar
-install -d $RPM_BUILD_ROOT%{_javalibdir}
-install dist/*.jar $RPM_BUILD_ROOT%{_javalibdir}
+# javadoc
+%if %{with javadoc}
+install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
+cp -a dist/docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
+ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # 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 %{srcname}-%{version} %{_javadocdir}/%{srcname}
+
%files
%defattr(644,root,root,755)
-%doc dist/LICENSE
-%{_javalibdir}/*.jar
+%doc PROPOSAL.html RELEASE-NOTES.txt README
+%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}/%{srcname}-%{version}
+%ghost %{_javadocdir}/%{srcname}
+%endif