]> git.pld-linux.org Git - packages/rpm-pld-macros.git/blame - macros.java
explicitly set CMAKE_SYSTEM_{NAME,PROCESSOR} in %cmake; rel 2
[packages/rpm-pld-macros.git] / macros.java
CommitLineData
2e434209
JR
1# vim:ts=4 sw=4 noet ft=spec
2#
3# Java macros. based on jpackage macros.java
4#
5# Import packaging conventions from jpackage.org (prefixed with _
6# to avoid name collisions).
7#
8%_javadir %{_datadir}/java
9%_javadocdir %{_datadir}/javadoc
10
11# Root directory where all Java VMs/SDK/JREs are installed.
12%_jvmdir %{_libdir}/jvm
13
14# Root directory where all Java VMs/SDK/JREs expose their jars
15%_jvmjardir %{_libdir}/jvm-exports
16
17# Root directory for all Java VM/SDK/JRE's private things.
18%_jvmprivdir %{_libdir}/jvm-private
19
20# Root directory for all architecture dependent parts of Java VM/SDK/JRE's
21%_jvmlibdir %{_libdir}/jvm
22
23# Root directory for all architecture independent parts of Java VM/SDK/JRE's
24%_jvmdatadir %{_datadir}/jvm
25
26# Root directory for all configurations parts of Java VM/SDK/JRE's
27%_jvmsysconfdir %{_sysconfdir}/jvm
28
29# Root directory for all common architecture dependent parts of Java VM/SDK/JRE's
30%_jvmcommonlibdir %{_libdir}/jvm-common
31
32# Root directory for all common architecture independent parts of Java VM/SDK/JRE's
33%_jvmcommondatadir %{_datadir}/jvm-common
34
35# Root directory for all common configurations parts of Java VM/SDK/JRE's
36%_jvmcommonsysconfdir %{_sysconfdir}/jvm-common
37
38# Directory where arch-specific (JNI) version-independent jars are installed.
39%_jnidir %{_libdir}/java
40
41
42# JDK selection. Set this to name of the JDK implementation to use
43# insead of the system default
44#%use_jdk icedtea6
45
67d88123
JP
46# Lower bound for JDK version.
47# In case of `%use_default_jdk %{expr:%min_jdk_version-1}` use %min_jdk_version
48%min_jdk_version 8
49
50# Default JDK provider and version
51%default_jdk_provider openjdk
52%default_jdk_version %min_jdk_version
53
54# Name of default JDK, takes requested minimum version as argument or if not
55# given defaults to %default_jdk_version. Result is is either:
56# - %{expand:%%default_jdk<requested version>}
57# - %{expand:%%default_jdk_provider}<requested version>
58#
59# Examples for overriding:
60# - specific JDK: --define 'default_jdk8 oracle8'
61# - JDK provider: --define 'default_jdk_provider oracle'
62# - JDK version: --define 'default_jdk_version 11'
63%default_jdk() %{expand:%%define __jdk_v %{?1}%{!?1:%default_jdk_version}}%{expand:%%define __jdk_vf %{expr:%__jdk_v < %min_jdk_version ? %min_jdk_version : %__jdk_v}}%{expand:%%{?default_jdk%{__jdk_vf}}}%{expand:%%{!?default_jdk%{__jdk_vf}:%default_jdk_provider%{__jdk_vf}}}%{expand:%%undefine __jdk_vf}%{expand:%%undefine __jdk_v}
64
65# Use default JDK in spec, optionally takes requested minimum version as argument
9aa247e6 66%use_default_jdk() %{expand:%%global use_jdk %{default_jdk %{?*}}}
67d88123 67
2e434209
JR
68# expands to the value with right jdk for BuildRequires header
69# 'jdk' if %%use_jdk is not defined, jdk(%%use_jdk) otherwise
70# The requirement will not replace current 'default' JDK
71%required_jdk jdk%{?use_jdk:(%{use_jdk})}
72
73%buildrequires_jdk BuildRequires: %required_jdk
74
75%java_home %{expand:%%global java_home %([ -f %{_javadir}-utils/java-functions ] || { echo ERROR; exit 0; }; %{!?use_jdk:unset JAVA_HOME; . %{_javadir}-utils/java-functions; set_jvm}%{?use_jdk:JAVA_HOME=%{_jvmdir}/%{use_jdk}}; echo ${JAVA_HOME:-ERROR})}%java_home
76
77%_javasrcdir %{_usrsrc}/java
78
79%ant JAVA_HOME=%{java_home} CLASSPATH=$CLASSPATH ant
80%jar %{java_home}/bin/jar
81%java %{expand:%%global java %([ -f %{_javadir}-utils/java-functions ] || { echo ERROR; exit 0; }; %{!?use_jdk:unset JAVACMD; . %{_javadir}-utils/java-functions; set_javacmd}%{?use_jdk:JAVACMD=%{java_home}/bin/java}; echo $JAVACMD)}%java
82%javac %{java_home}/bin/javac
83%javadoc %{java_home}/bin/javadoc
84
85%add_jvm_extension JAVA_LIBDIR=%{buildroot}/%{_javadir} %{_bindir}/jvmjar -l
86
87%jpackage_script() \
88install -d $RPM_BUILD_ROOT%{_bindir}\
89cat > $RPM_BUILD_ROOT%{_bindir}/%5 << 'EOF' \
90#!/bin/sh\
91#\
92# %{name} script\
93# JPackage Project <http://www.jpackage.org/>\
94\
95# Source functions library\
96. %{_javadir}-utils/java-functions\
97\
98# Source system prefs\
99if [ -f %{_sysconfdir}/java/%{name}.conf ]; then\
100 . %{_sysconfdir}/java/%{name}.conf\
101fi\
102\
103# Source user prefs\
104if [ -f $HOME/.%{name}rc ]; then\
105 . $HOME/.%{name}rc\
106fi\
107\
108# Configuration\
109MAIN_CLASS=%1\
110BASE_FLAGS=%2\
111BASE_OPTIONS=%3\
112BASE_JARS="%(echo %4 | tr ':' ' ')"\
113\
114# Set parameters\
115set_jvm\
116set_classpath $BASE_JARS\
117set_flags $BASE_FLAGS\
118set_options $BASE_OPTIONS\
119\
120# Let's start\
121run "$@"\
122EOF
123
124# jpackage 1.7
125# Directory for maven depmaps
126#
127%_mavendepmapdir /etc/maven
128%_mavendepmapfragdir /etc/maven/fragments
129
130#
131# add_to_depmap adds an entry to the depmap. The arguments are:
132#
133# %1 the original groupid
134# %2 the original artifact id
135# %3 the version
136# %4 the new groupid
137# %5 the new artifactid
138#
139
140%add_to_maven_depmap() \
141install -dm 755 $RPM_BUILD_ROOT/%{_mavendepmapfragdir}\
142cat >>$RPM_BUILD_ROOT/%{_mavendepmapfragdir}/%{name}<< EOF\
143<dependency>\
144 <maven>\
145 <groupId>%1</groupId>\
146 <artifactId>%2</artifactId>\
147 <version>%3</version>\
148 </maven>\
149 <jpp>\
150 <groupId>%4</groupId>\
151 <artifactId>%5</artifactId>\
152 <version>%3</version>\
153 </jpp>\
154</dependency>\
155\
156EOF\
157%{nil}
158
159#==============================================================================
160#
161# update_maven_depmap updates the main maven depmap
162#
163%update_maven_depmap() \
164echo -e "<dependencies>\\n" > %{_mavendepmapdir}/maven2-depmap.xml\
165if [ -d %{_mavendepmapfragdir} ] && [ -n "`find %{_mavendepmapfragdir} -type f`" ]; then\
166cat %{_mavendepmapfragdir}/* >> %{_mavendepmapdir}/maven2-depmap.xml\
167fi\
168echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
169
170# JAVA macros specific for PLD
171
172# Directory for tomcat context configuration files
173%_tomcatconfdir /etc/tomcat/Catalina/localhost
174
175# Tomcat cache path
176%_tomcatcachedir %{_sharedstatedir}/tomcat/work/Catalina/localhost
177
178# Clear tomcat cache
179# Author: Paweł Zuzelski <pawelz@pld-linux.org>
180#
181# Usage:
182# %%tomcat_clear_cache appname
183#
184# Call this script in %postun scriptlet. It will remove compiled jsps related to
185# given app.
186#
187%tomcat_clear_cache() %{!?1:ERROR}%{?2:ERROR} %{__rm} -rf %{_tomcatcachedir}/%1
This page took 0.064755 seconds and 4 git commands to generate.