]> git.pld-linux.org Git - projects/template-specs.git/blobdiff - java.spec
pecl: add example how to make failed tests as XFAIL
[projects/template-specs.git] / java.spec
index 0b59f20a8ad23754966e1d797ad4666b9702d470..0ea9d7bd7669f608104cf98d97fb1bd3d0e8cb7a 100644 (file)
--- a/java.spec
+++ b/java.spec
+#
+# 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
+
+# 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:       -
-Name:          -
+Summary(pl.UTF-8):     -
+Name:          java-%{srcname}
 Version:       -
 Release:       0.1
 License:       -
-Group:         Development/Languages/Java
+# for random java packages (applications?)
+#Group:                Development/Languages/Java
+# for java-XXX packages
+Group:         Libraries/Java
 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
 BuildRequires: jpackage-utils
 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
 BuildArch:     noarch
-ExclusiveArch: i586 i686 pentium3 pentium4 athlon %{x8664} noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 
+%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}a
+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}a.
+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}a -
+Dokumentacja do %{srcname}.
+
+%description javadoc -l fr.UTF-8
+Javadoc pour %{srcname}.
+
+%package demo
+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 %{srcname}.
+
+%description demo -l pl.UTF-8
+Pliki demonstracyjne i przykłady dla pakietu %{srcname}.
+
+%package manual
+Summary:       Tutorial for %{srcname}
+Group:         Documentation
+
+%description manual
+Manual for %{srcname}.
 
 %package source
-Summary:       %{name} source code
-Group:         Development/Languages/Java
-AutoReq:       no
-AutoProv:      no
+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
-%{name} source code.
+Source code of %{srcname}.
+
+%description source -l pl.UTF-8
+Kod źródłowy %{srcname}.
 
 %prep
-%setup -q
+%setup -q -n %{srcname}-%{version}
+#%%undos build.xml
 
 %build
 export JAVA_HOME="%{java_home}"
 
 required_jars="jaxp_parser_impl"
-export CLASSPATH=$(build-classpath $required_jars)
+CLASSPATH=$(build-classpath $required_jars)
+export CLASSPATH
+
+# 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
+
+# jars
 install -d $RPM_BUILD_ROOT%{_javadir}
-# install jar
-cp -a dist/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
-ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
+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
 
 # javadoc
-install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-cp -a dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
+%if %{with javadoc}
+install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
+cp -a dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
+ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
+%endif
+
+# demo
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -a demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-# source code
-install -d $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{version}
-# NOTE: for jakarta-tomcat we must keep src subdir (or patch tomcat otherwise)
-cp -a src $RPM_BUILD_ROOT%{_prefix}/src/%{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
 
 %post javadoc
-ln -sf %{name}-%{version} %{_javadocdir}/%{name}
+ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}
 
 %files
 %defattr(644,root,root,755)
-%{_javadir}/*.jar
+%{_javadir}/%{srcname}-%{version}.jar
+%{_javadir}/%{srcname}.jar
 
 %files doc
 %defattr(644,root,root,755)
 %doc docs/*
 
+%if 0
 %files demo
 %defattr(644,root,root,755)
 %{_examplesdir}/%{name}-%{version}
+%endif
 
+%if %{with javadoc}
 %files javadoc
 %defattr(644,root,root,755)
-%{_javadocdir}/%{name}-%{version}
-%ghost %{_javadocdir}/%{name}
+%{_javadocdir}/%{srcname}-%{version}
+%ghost %{_javadocdir}/%{srcname}
+%endif
 
+%if %{with source}
 %files source
 %defattr(644,root,root,755)
-%{_prefix}/src/%{name}-%{version}
+%{_javasrcdir}/%{srcname}.src.jar
+%endif
This page took 0.049374 seconds and 4 git commands to generate.