]> git.pld-linux.org Git - packages/oracle-java11.git/blob - oracle-java11.spec
up to 11.0.1
[packages/oracle-java11.git] / oracle-java11.spec
1 # Conditional build:
2 %bcond_without  tests           # build without tests
3
4 # disable file duplicate packaging error
5 %define         _duplicate_files_terminate_build   0
6 %define         bld_ver 13
7 %define         bhash   90cf5d8f270a4347a95050320eef3fb7
8 # class data version seen with file(1) that this jvm is able to load
9 %define         _classdataversion 55.0
10 Summary:        Oracle JDK (Java Development Kit) for Linux
11 Summary(pl.UTF-8):      Oracle JDK - środowisko programistyczne Javy dla Linuksa
12 Name:           oracle-java11
13 Version:        11.0.1
14 Release:        1
15 License:        restricted, distributable
16 # http://www.oracle.com/technetwork/java/javase/terms/license/index.html
17 # See "LICENSE TO DISTRIBUTE SOFTWARE" section, which states you can
18 # redistribute in unmodified form.
19 Group:          Development/Languages/Java
20 # Download URL (requires JavaScript and interactive license agreement):
21 # http://www.oracle.com/technetwork/java/javase/downloads/index.html
22 # Use get-source.sh script to download locally.
23 Source0:        http://download.oracle.com/otn-pub/java/jdk/%{version}+%{bld_ver}/%{bhash}/jdk-%{version}_linux-x64_bin.tar.gz
24 # NoSource0-md5:        9609ee7a66a7985ce755ced51bc6308f
25 NoSource:       0
26 Source1:        Test.java
27 URL:            http://www.oracle.com/technetwork/java/javase/overview/index.html
28 BuildRequires:  rpm >= 4.4.9-56
29 BuildRequires:  rpm-build >= 4.3-0.20040107.21
30 BuildRequires:  rpmbuild(macros) >= 1.453
31 BuildRequires:  sed >= 4.0
32 BuildRequires:  unzip
33 Requires:       %{name}-jdk-base = %{version}-%{release}
34 Requires:       %{name}-jre = %{version}-%{release}
35 Requires:       %{name}-jre-base = %{version}-%{release}
36 Provides:       j2sdk = %{version}
37 Provides:       jdk = %{version}
38 Obsoletes:      blackdown-java-sdk
39 Obsoletes:      ibm-java
40 Obsoletes:      java-blackdown
41 Obsoletes:      jdk
42 Obsoletes:      kaffe
43 Conflicts:      netscape4-plugin-java
44 ExclusiveArch:  %{x8664}
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 %define         javareldir      java11-%{version}
48 %define         javadir         %{_jvmdir}/%{javareldir}
49 %define         jvmjardir       %{_jvmjardir}/java11-%{version}
50
51 # rpm doesn't like strange version definitions provided by Sun's libs
52 %define         _noautoprov     '\\.\\./.*' '/export/.*'
53 # these with SUNWprivate.* are found as required, but not provided
54 %define         _noautoreq      'libjava.so(SUNWprivate_1.1)' 'libnet.so(SUNWprivate_1.1)' 'libverify.so(SUNWprivate_1.1)' 'libjava_crw_demo_g\.so.*' 'libmawt.so' 'java(ClassDataVersion)'
55 # don't depend on other JRE/JDK installed on build host
56 %define         _noautoreqdep   libjava.so libjvm.so
57
58 # binary packages already stripped
59 %define         _enable_debug_packages 0
60
61 # disable stripping which breaks ie jmap -heap <pid>
62 # Caused by: java.lang.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
63 %define         no_install_post_strip   1
64
65 %description
66 This package symlinks Oracle Java development tools provided by
67 java11-jdk-base to system-wide directories like /usr/bin, making Oracle
68 Java the default JDK.
69
70 %description -l pl.UTF-8
71 Ten pakiet tworzy symboliczne dowiązania do narzędzi programistycznych
72 uruchomieniowego Javy firmy Oracle, dostarczanych przez pakiet
73 java11-jdk-base, w standardowych systemowych ścieżkach takich jak
74 /usr/bin, sprawiając tym samym, że Oracle Java staje się domyślnym JDK
75 w systemie.
76
77 %package jdk-base
78 Summary:        Oracle JDK (Java Development Kit) for Linux
79 Summary(pl.UTF-8):      Oracle JDK - środowisko programistyczne Javy dla Linuksa
80 Group:          Development/Languages/Java
81 Requires:       %{name}-jre-base = %{version}-%{release}
82 Requires:       jpackage-utils >= 0:1.7.5-8
83 Provides:       jdk(%{name})
84
85 %description jdk-base
86 Java Development Kit for Linux.
87
88 %description jdk-base -l pl.UTF-8
89 Środowisko programistyczne Javy dla Linuksa.
90
91 %package jre
92 Summary:        Oracle JRE (Java Runtime Environment) for Linux
93 Summary(pl.UTF-8):      Oracle JRE - środowisko uruchomieniowe Javy dla Linuksa
94 Group:          Development/Languages/Java
95 Requires:       %{name}-jre-base = %{version}-%{release}
96 Requires:       %{name}-tools = %{version}-%{release}
97 Requires:       jpackage-utils >= 0:1.7.5-8
98 Provides:       java
99 Provides:       java1.4
100 Provides:       jre = %{version}
101 Obsoletes:      java-blackdown-jre
102 Obsoletes:      jre
103
104 %description jre
105 This package symlinks Oracle Java runtime environment tools provided
106 by java11-jre-base to system-wide directories like /usr/bin, making
107 Oracle Java the default JRE.
108
109 %description jre -l pl.UTF-8
110 Ten pakiet tworzy symboliczne dowiązania do narzędzi środowiska
111 uruchomieniowego Javy firmy Oracle, dostarczanych przez pakiet
112 java11-jre-base, w standardowych systemowych ścieżkach takich jak
113 /usr/bin, sprawiając tym samym, że Oracle Java staje się domyślnym JRE
114 w systemie.
115
116 %package jre-base
117 Summary:        Oracle JRE (Java Runtime Environment) for Linux
118 Summary(pl.UTF-8):      Oracle JRE - środowisko uruchomieniowe Javy dla Linuksa
119 Group:          Development/Languages/Java
120 Requires:       jpackage-utils >= 0:1.7.5-8
121 Provides:       java(ClassDataVersion) = %{_classdataversion}
122 Provides:       java(jaas) = %{version}
123 Provides:       java(jaf) = 1.1.1
124 Provides:       java(jaxp) = 1.3
125 Provides:       java(jaxp_parser_impl)
126 Provides:       java(jce) = %{version}
127 Provides:       java(jdbc-stdext) = %{version}
128 Provides:       java(jdbc-stdext) = 3.0
129 Provides:       java(jmx) = 1.4
130 Provides:       java(jndi) = %{version}
131 Provides:       java(jsse) = %{version}
132 Provides:       jre(%{name})
133
134 %description jre-base
135 Java Runtime Environment for Linux. Does not contain any X11-related
136 compontents.
137
138 %description jre-base -l pl.UTF-8
139 Środowisko uruchomieniowe Javy dla Linuksa. Nie zawiera żadnych
140 elementów związanych ze środowiskiem X11.
141
142 %package jre-base-X11
143 Summary:        Oracle JRE (Java Runtime Environment) for Linux, X11 related parts
144 Summary(pl.UTF-8):      Oracle JRE - środowisko uruchomieniowe Javy dla Linuksa, części korzystające z X11
145 Group:          Development/Languages/Java
146 Requires:       %{name}-jre-base = %{version}-%{release}
147
148 %description jre-base-X11
149 X11-related part of Java Runtime Environment for Linux.
150
151 %description jre-base-X11 -l pl.UTF-8
152 Środowisko uruchomieniowe Javy dla Linuksa, część związana ze
153 środowiskiem graficznym X11.
154
155 %package jre-alsa
156 Summary:        JRE module for ALSA sound support
157 Summary(pl.UTF-8):      Moduł JRE do obsługi dźwięku poprzez ALSA
158 Group:          Development/Languages/Java
159 Requires:       %{name}-jre-base = %{version}-%{release}
160 Provides:       %{name}-alsa
161
162 %description jre-alsa
163 JRE module for ALSA sound support.
164
165 %description jre-alsa -l pl.UTF-8
166 Moduł JRE do obsługi dźwięku poprzez ALSA.
167
168 %package tools
169 Summary:        Shared Java tools
170 Summary(pl.UTF-8):      Współdzielone narzędzia Javy
171 Group:          Development/Languages/Java
172 Requires:       %{name}-jre-base = %{version}-%{release}
173 Provides:       jar
174 Provides:       java-jre-tools
175 Obsoletes:      fastjar
176 Obsoletes:      jar
177 Obsoletes:      java-jre-tools
178
179 %description tools
180 This package contains tools that are common for every Java(TM)
181 implementation, such as rmic or jar.
182
183 %description tools -l pl.UTF-8
184 Pakiet ten zawiera narzędzia wspólne dla każdej implementacji
185 Javy(TM), takie jak rmic czy jar.
186
187 %package demos
188 Summary:        JDK demonstration programs
189 Summary(pl.UTF-8):      Programy demonstracyjne do JDK
190 Group:          Development/Languages/Java
191 Requires:       jre
192
193 %description demos
194 JDK demonstration programs.
195
196 %description demos -l pl.UTF-8
197 Programy demonstracyjne do JDK.
198
199 %package sources
200 Summary:        JRE standard library sources
201 Summary(pl.UTF-8):      Źródła standardowej biblioteki JRE
202 Group:          Development/Languages/Java
203
204 %description sources
205 Sources for the standard Java library.
206
207 %description sources -l pl.UTF-8
208 Źródła standardowej bilioteki Java.
209
210 %prep
211 %setup -q -n jdk-%{version}
212
213 cp -p %{SOURCE1} Test.java
214
215 %build
216 %if %{with tests}
217 # Make sure we have /proc mounted,
218 # javac Test.java fails to get lock otherwise and runs forever:
219 # Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed
220 if [ ! -f /proc/cpuinfo ]; then
221         echo >&2 "WARNING: /proc not mounted -- compile test may fail"
222 fi
223
224 # CLASSPATH prevents finding Test.class in .
225 unset CLASSPATH || :
226 # $ORIGIN does not work on PLD builders. workaround with LD_LIBRARY_PATH
227 export LD_LIBRARY_PATH=$(pwd)/lib/jli
228 ./bin/javac Test.java
229 ./bin/java Test
230
231 classver=$(cat classver)
232 if [ "$classver" != %{_classdataversion} ]; then
233         echo "Set %%define _classdataversion to $classver and rerun."
234         exit 1
235 fi
236 %endif
237
238 %install
239 rm -rf $RPM_BUILD_ROOT
240 install -d $RPM_BUILD_ROOT{%{javadir},%{jvmjardir},%{_javadir},%{_bindir},%{_includedir}} \
241         $RPM_BUILD_ROOT%{_prefix}/src/%{name}-sources \
242         $RPM_BUILD_ROOT{%{_pixmapsdir},%{_browserpluginsdir}}
243
244 cp -a bin conf include lib $RPM_BUILD_ROOT%{javadir}
245
246 for i in java jjs keytool \
247         rmid rmiregistry pack200 unpack200; do
248         [ -f $RPM_BUILD_ROOT%{javadir}/bin/$i ] || exit 1
249         ln -sf %{javadir}/bin/$i $RPM_BUILD_ROOT%{_bindir}/$i
250 done
251
252 for i in jaotc jar jarsigner \
253         javac javadoc javap jcmd jconsole jdb jdeprscan jdeps jhsdb jimage jinfo jlink \
254         jmap jmod jps jrunscript jshell jstack jstat jstatd rmic serialver; do
255         [ -f $RPM_BUILD_ROOT%{javadir}/bin/$i ] || exit 1
256         ln -sf %{javadir}/bin/$i $RPM_BUILD_ROOT%{_bindir}/$i
257 done
258
259 mv -f $RPM_BUILD_ROOT%{javadir}/lib/src.zip $RPM_BUILD_ROOT%{_prefix}/src/%{name}-sources
260
261 ln -s %{javareldir} $RPM_BUILD_ROOT%{_jvmdir}/java
262 ln -s %{javareldir} $RPM_BUILD_ROOT%{_jvmdir}/java11
263 ln -s java11-%{version} $RPM_BUILD_ROOT%{_jvmjardir}/java
264 ln -s java11-%{version} $RPM_BUILD_ROOT%{_jvmjardir}/jre
265
266 # modify RPATH so that javac and friends are able to work when /proc is not
267 # mounted and we can't append to RPATH (for example to keep previous lookup
268 # path) as RPATH can't be longer than original
269 #
270 # for example:
271 # old javac: RPATH=$ORIGIN/../lib/i386/jli:$ORIGIN/../jre/lib/i386/jli
272 # new javac: RPATH=%{_prefix}/lib/jvm/java11-1.6.0/jre/lib/i386/jli
273
274 # silly rpath: jre/bin/unpack200: RPATH=$ORIGIN
275 chrpath -d $RPM_BUILD_ROOT%{javadir}/bin/unpack200
276
277 fixrpath() {
278         execlist=$(find $RPM_BUILD_ROOT%{javadir} -type f -executable | xargs file | awk -F: '/ELF.*executable/{print $1}')
279         for f in $execlist; do
280                 rpath=$(chrpath -l $f | awk '/(R|RUN)PATH=/ { gsub(/.*RPATH=/,""); gsub(/.*RUNPATH=/,""); gsub(/:/," "); print $0 }')
281                 [ "$rpath" ] || continue
282
283                 # file
284                 file=${f#$RPM_BUILD_ROOT}
285                 origin=${file%/*}
286
287                 new=
288                 for a in $rpath; do
289                         t=$(echo $a | sed -e "s,\$ORIGIN,$origin,g")
290                         # get rid of ../../
291                         t=$(set -e; t=$RPM_BUILD_ROOT$t; [ -d $t ] || exit 0; cd $t; pwd)
292                         # skip inexistent paths
293                         [ "$t" ] || continue
294
295                         t=${t#$RPM_BUILD_ROOT}
296
297                         if [[ "$new" != *$t* ]]; then
298                                 # append it now
299                                 new=${new}${new:+:}$t
300                         fi
301                 done
302                 # leave old one if new is too long
303                 if [ ${#new} -gt ${#rpath} ]; then
304                         echo "WARNING: New ($new) rpath is too long. Leaving old ($rpath) one." >&2
305                 else
306                         chrpath -r ${new} $f
307                 fi
308         done
309 }
310
311 fixrpath
312
313 %clean
314 rm -rf $RPM_BUILD_ROOT
315
316 %files
317 %defattr(644,root,root,755)
318 %doc README.html legal
319 %{_jvmdir}/java
320 %{_jvmjardir}/java
321 %attr(755,root,root) %{_bindir}/jaotc
322 %attr(755,root,root) %{_bindir}/jarsigner
323 %attr(755,root,root) %{_bindir}/javac
324 %attr(755,root,root) %{_bindir}/javadoc
325 %attr(755,root,root) %{_bindir}/javap
326 %attr(755,root,root) %{_bindir}/jcmd
327 %attr(755,root,root) %{_bindir}/jconsole
328 %attr(755,root,root) %{_bindir}/jdb
329 %attr(755,root,root) %{_bindir}/jdeprscan
330 %attr(755,root,root) %{_bindir}/jdeps
331 %attr(755,root,root) %{_bindir}/jhsdb
332 %attr(755,root,root) %{_bindir}/jimage
333 %attr(755,root,root) %{_bindir}/jinfo
334 %attr(755,root,root) %{_bindir}/jjs
335 %attr(755,root,root) %{_bindir}/jlink
336 %attr(755,root,root) %{_bindir}/jmap
337 %attr(755,root,root) %{_bindir}/jmod
338 %attr(755,root,root) %{_bindir}/jps
339 %attr(755,root,root) %{_bindir}/jrunscript
340 %attr(755,root,root) %{_bindir}/jshell
341 %attr(755,root,root) %{_bindir}/jstack
342 %attr(755,root,root) %{_bindir}/jstat
343 %attr(755,root,root) %{_bindir}/jstatd
344 %attr(755,root,root) %{_bindir}/pack200
345 %attr(755,root,root) %{_bindir}/serialver
346 %attr(755,root,root) %{_bindir}/unpack200
347
348 %files jdk-base
349 %defattr(644,root,root,755)
350 %{_jvmdir}/java11
351 %attr(755,root,root) %{javadir}/bin/jaotc
352 %attr(755,root,root) %{javadir}/bin/jarsigner
353 %attr(755,root,root) %{javadir}/bin/javac
354 %attr(755,root,root) %{javadir}/bin/javadoc
355 %attr(755,root,root) %{javadir}/bin/javap
356 %attr(755,root,root) %{javadir}/bin/jcmd
357 %attr(755,root,root) %{javadir}/bin/jconsole
358 %attr(755,root,root) %{javadir}/bin/jdb
359 %attr(755,root,root) %{javadir}/bin/jdeprscan
360 %attr(755,root,root) %{javadir}/bin/jdeps
361 %attr(755,root,root) %{javadir}/bin/jhsdb
362 %attr(755,root,root) %{javadir}/bin/jimage
363 %attr(755,root,root) %{javadir}/bin/jinfo
364 %attr(755,root,root) %{javadir}/bin/jjs
365 %attr(755,root,root) %{javadir}/bin/jlink
366 %attr(755,root,root) %{javadir}/bin/jmap
367 %attr(755,root,root) %{javadir}/bin/jmod
368 %attr(755,root,root) %{javadir}/bin/jps
369 %attr(755,root,root) %{javadir}/bin/jrunscript
370 %attr(755,root,root) %{javadir}/bin/jshell
371 %attr(755,root,root) %{javadir}/bin/jstack
372 %attr(755,root,root) %{javadir}/bin/jstat
373 %attr(755,root,root) %{javadir}/bin/jstatd
374 %attr(755,root,root) %{javadir}/bin/pack200
375 %attr(755,root,root) %{javadir}/bin/rmic
376 %attr(755,root,root) %{javadir}/bin/serialver
377 %attr(755,root,root) %{javadir}/bin/unpack200
378 %{javadir}/include
379 %{javadir}/lib/ct.sym
380 %{javadir}/lib/*.jar
381
382 %files jre
383 %defattr(644,root,root,755)
384 %doc lib/server/Xusage*
385 %attr(755,root,root) %{_bindir}/java
386 %attr(755,root,root) %{_bindir}/keytool
387 %attr(755,root,root) %{_bindir}/rmid
388
389 %files jre-base
390 %defattr(644,root,root,755)
391 %dir %{javadir}
392 %dir %{javadir}/bin
393 %attr(755,root,root) %{javadir}/bin/java
394 %attr(755,root,root) %{javadir}/bin/jar
395 %attr(755,root,root) %{javadir}/bin/keytool
396 %attr(755,root,root) %{javadir}/bin/rmid
397 %attr(755,root,root) %{javadir}/bin/rmiregistry
398 %dir %{javadir}/conf
399 %{javadir}/conf/*.properties
400 %{javadir}/conf/management
401 %dir %{javadir}/conf/security
402 %{javadir}/conf/security/policy
403 %{javadir}/conf/security/java.policy
404 %{javadir}/conf/security/java.security
405 %dir %{javadir}/lib
406
407 %{javadir}/lib/jvm.cfg
408 %{javadir}/lib/modules
409 %dir %{javadir}/lib/server
410 %attr(755,root,root) %{javadir}/lib/server/*
411 %dir %{javadir}/lib/jli
412 %attr(755,root,root) %{javadir}/lib/jli/libjli.so
413
414 %attr(755,root,root) %{javadir}/lib/lib*.so
415 %exclude %{javadir}/lib/libjsound.so
416 %exclude %{javadir}/lib/libsplashscreen.so
417 %exclude %{javadir}/lib/libjawt.so
418
419 %attr(755,root,root) %{javadir}/lib/jexec
420 %dir %{javadir}/lib/security
421 %{javadir}/lib/security/*.*
422 %verify(not md5 mtime size) %config(noreplace) %{javadir}/lib/security/cacerts
423 %{javadir}/lib/*.properties
424 %{javadir}/lib/tzdb.dat
425 %lang(ja) %{javadir}/lib/*.properties.ja
426 %dir %{jvmjardir}
427 %{javadir}/lib/classlist
428
429 %files jre-base-X11
430 %defattr(644,root,root,755)
431 %attr(755,root,root) %{javadir}/lib/libsplashscreen.so
432 %attr(755,root,root) %{javadir}/lib/libjawt.so
433
434 %files jre-alsa
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{javadir}/lib/libjsound.so
437
438 %files tools
439 %defattr(644,root,root,755)
440 %attr(755,root,root) %{_bindir}/jar
441 %attr(755,root,root) %{_bindir}/rmic
442 %attr(755,root,root) %{_bindir}/rmiregistry
443
444 %files sources
445 %defattr(644,root,root,755)
446 %dir %{_prefix}/src/%{name}-sources
447 %{_prefix}/src/%{name}-sources/src.zip
This page took 0.11175 seconds and 3 git commands to generate.