#
+# THIS IS TEMPLATE PACKAGE, CLEANUP UNUSED FRAGMENTS BEFORE SUBMITTING TO CVS
+#
# Conditional build:
%bcond_without javadoc # don't build javadoc
+%bcond_without source # don't build source jar
%bcond_without tests # don't build and run tests
-%if "%{pld_release}" == "ti"
-%bcond_without java_sun # build with gcj
-%else
-%bcond_with java_sun # build with java-sun
-%endif
-#
-%include /usr/lib/rpm/macros.java
+# To force building with specific JDK implementation
+# without replacing currently installed /usr/bin/javac, etc.
+#%%define use_jdk java-gcj-compat
+#%%buildrequires_jdk
+#BuildRequires: rpmbuild(macros) >= 1.556
# Name without java- prefix. If it is application, not a library,
# just do s/srcname/name/g
%define srcname -
+%include /usr/lib/rpm/macros.java
Summary: -
Summary(pl.UTF-8): -
-Name: -
+Name: java-%{srcname}
Version: -
Release: 0.1
License: -
Source0: -
# Source0-md5: -
URL: -
+# this is needed for the LC_ALL=en_US in build part dependency
%if %(locale -a | grep -q '^en_US$'; echo $?)
BuildRequires: glibc-localedb-all
%endif
-%{!?with_java_sun:BuildRequires: java-gcj-compat-devel}
-%{?with_java_sun:BuildRequires: java-sun}
BuildRequires: jpackage-utils
-BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpm-javaprov
BuildRequires: rpmbuild(macros) >= 1.300
# for %%undos macro
BuildRequires: rpmbuild(macros) >= 1.553
+%if %{with source}
+BuildRequires: rpmbuild(macros) >= 1.555
+%endif
BuildRequires: sed >= 4.0
# for %{_javadir}
Requires: jpackage-utils
%description -l pl.UTF-8
%package doc
-Summary: Manual for %{name}
-Summary(fr.UTF-8): Documentation pour %{name}
-Summary(it.UTF-8): Documentazione di %{name}
-Summary(pl.UTF-8): Podręcznik dla %{name}
+Summary: Manual for %{srcname}
+Summary(fr.UTF-8): Documentation pour %{srcname}
+Summary(it.UTF-8): Documentazione di %{srcname}
+Summary(pl.UTF-8): Podręcznik dla %{srcname}
Group: Documentation
+# noarch subpackages only when building with rpm5
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description doc
-Documentation for %{name}.
+Documentation for %{srcname}.
%description doc -l fr.UTF-8
-Documentation pour %{name}.
+Documentation pour %{srcname}.
%description doc -l it.UTF-8
-Documentazione di %{name}.
+Documentazione di %{srcname}.
%description doc -l pl.UTF-8
-Dokumentacja do %{name}.
+Dokumentacja do %{srcname}.
%package javadoc
-Summary: Online manual for %{name}
-Summary(pl.UTF-8): Dokumentacja online do %{name}
+Summary: Online manual for %{srcname}
+Summary(pl.UTF-8): Dokumentacja online do %{srcname}
Group: Documentation
Requires: jpackage-utils
%description javadoc
-Documentation for %{name}.
+Documentation for %{srcname}.
%description javadoc -l pl.UTF-8
-Dokumentacja do %{name}.
+Dokumentacja do %{srcname}.
%description javadoc -l fr.UTF-8
-Javadoc pour %{name}.
+Javadoc pour %{srcname}.
%package demo
-Summary: Demo for %{name}
-Summary(pl.UTF-8): Pliki demonstracyjne dla pakietu %{name}
+Summary: Demo for %{srcname}
+Summary(pl.UTF-8): Pliki demonstracyjne dla pakietu %{srcname}
Group: Documentation
Requires: %{name} = %{epoch}:%{version}-%{release}
%description demo
-Demonstrations and samples for %{name}.
+Demonstrations and samples for %{srcname}.
%description demo -l pl.UTF-8
-Pliki demonstracyjne i przykłady dla pakietu %{name}.
+Pliki demonstracyjne i przykłady dla pakietu %{srcname}.
%package manual
-Summary: Tutorial for %{name}
+Summary: Tutorial for %{srcname}
Group: Documentation
%description manual
-Manual for %{name}.
+Manual for %{srcname}.
+
+%package source
+Summary: Source code of %{srcname}
+Summary(pl.UTF-8): Kod źródłowy %{srcname}
+Group: Documentation
+Requires: jpackage-utils >= 1.7.5-2
+
+%description source
+Source code of %{srcname}.
+
+%description source -l pl.UTF-8
+Kod źródłowy %{srcname}.
%prep
%setup -q -n %{srcname}-%{version}
CLASSPATH=$(build-classpath $required_jars)
export CLASSPATH
-export LC_ALL=en_US # source code not US-ASCII
+# source code not US-ASCII
+export LC_ALL=en_US
%ant
%{__make}
+# if you need to assemble .jar yourself
cd src
%javac -cp $CLASSPATH $(find -name '*.java')
%jar cf ../%{srcname}.jar $(find -name '*.class')
+%if %{with source}
+%jar cf ../%{srcname}.src.jar $(find -name '*.java')
+%endif
+cd ..
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_javadir}
# jars
-cp -a dist/%{srcname}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
+install -d $RPM_BUILD_ROOT%{_javadir}
+cp -p dist/%{srcname}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
ln -s %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar
# for jakarta packages:
for a in dist/*.jar; do
jar=${a##*/}
- cp -a dist/$jar $RPM_BUILD_ROOT%{_javadir}/${jar%%.jar}-%{version}.jar
+ cp -p dist/$jar $RPM_BUILD_ROOT%{_javadir}/${jar%%.jar}-%{version}.jar
ln -s ${jar%%.jar}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/$jar
done
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
cp -a demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+# source
+install -d $RPM_BUILD_ROOT%{_javasrcdir}
+cp -a %{srcname}.src.jar $RPM_BUILD_ROOT%{_javasrcdir}/%{srcname}.src.jar
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%{_javadir}/%{srcname}.jar
%{_javadir}/%{srcname}-%{version}.jar
+%{_javadir}/%{srcname}.jar
%files doc
%defattr(644,root,root,755)
%{_javadocdir}/%{srcname}-%{version}
%ghost %{_javadocdir}/%{srcname}
%endif
+
+%if %{with source}
+%files source
+%defattr(644,root,root,755)
+%{_javasrcdir}/%{srcname}.src.jar
+%endif