2 %bcond_without tests # build without tests
4 # disable file duplicate packaging error
5 %define _duplicate_files_terminate_build 0
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
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
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
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
40 Obsoletes: java-blackdown
43 Conflicts: netscape4-plugin-java
44 ExclusiveArch: %{x8664}
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define javareldir java11-%{version}
48 %define javadir %{_jvmdir}/%{javareldir}
49 %define jvmjardir %{_jvmjardir}/java11-%{version}
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
58 # binary packages already stripped
59 %define _enable_debug_packages 0
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
66 This package symlinks Oracle Java development tools provided by
67 java11-jdk-base to system-wide directories like /usr/bin, making Oracle
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
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})
86 Java Development Kit for Linux.
88 %description jdk-base -l pl.UTF-8
89 Środowisko programistyczne Javy dla Linuksa.
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
100 Provides: jre = %{version}
101 Obsoletes: java-blackdown-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.
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
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})
134 %description jre-base
135 Java Runtime Environment for Linux. Does not contain any X11-related
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.
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}
148 %description jre-base-X11
149 X11-related part of Java Runtime Environment for Linux.
151 %description jre-base-X11 -l pl.UTF-8
152 Środowisko uruchomieniowe Javy dla Linuksa, część związana ze
153 środowiskiem graficznym X11.
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
162 %description jre-alsa
163 JRE module for ALSA sound support.
165 %description jre-alsa -l pl.UTF-8
166 Moduł JRE do obsługi dźwięku poprzez ALSA.
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}
174 Provides: java-jre-tools
177 Obsoletes: java-jre-tools
180 This package contains tools that are common for every Java(TM)
181 implementation, such as rmic or jar.
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.
188 Summary: JDK demonstration programs
189 Summary(pl.UTF-8): Programy demonstracyjne do JDK
190 Group: Development/Languages/Java
194 JDK demonstration programs.
196 %description demos -l pl.UTF-8
197 Programy demonstracyjne do JDK.
200 Summary: JRE standard library sources
201 Summary(pl.UTF-8): Źródła standardowej biblioteki JRE
202 Group: Development/Languages/Java
205 Sources for the standard Java library.
207 %description sources -l pl.UTF-8
208 Źródła standardowej bilioteki Java.
211 %setup -q -n jdk-%{version}
213 cp -p %{SOURCE1} Test.java
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"
224 # CLASSPATH prevents finding Test.class in .
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
231 classver=$(cat classver)
232 if [ "$classver" != %{_classdataversion} ]; then
233 echo "Set %%define _classdataversion to $classver and rerun."
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}}
244 cp -a bin conf include lib $RPM_BUILD_ROOT%{javadir}
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
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
259 mv -f $RPM_BUILD_ROOT%{javadir}/lib/src.zip $RPM_BUILD_ROOT%{_prefix}/src/%{name}-sources
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
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
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
274 # silly rpath: jre/bin/unpack200: RPATH=$ORIGIN
275 chrpath -d $RPM_BUILD_ROOT%{javadir}/bin/unpack200
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
284 file=${f#$RPM_BUILD_ROOT}
289 t=$(echo $a | sed -e "s,\$ORIGIN,$origin,g")
291 t=$(set -e; t=$RPM_BUILD_ROOT$t; [ -d $t ] || exit 0; cd $t; pwd)
292 # skip inexistent paths
295 t=${t#$RPM_BUILD_ROOT}
297 if [[ "$new" != *$t* ]]; then
299 new=${new}${new:+:}$t
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
314 rm -rf $RPM_BUILD_ROOT
317 %defattr(644,root,root,755)
318 %doc README.html legal
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
349 %defattr(644,root,root,755)
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
379 %{javadir}/lib/ct.sym
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
390 %defattr(644,root,root,755)
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
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
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
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
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
427 %{javadir}/lib/classlist
430 %defattr(644,root,root,755)
431 %attr(755,root,root) %{javadir}/lib/libsplashscreen.so
432 %attr(755,root,root) %{javadir}/lib/libjawt.so
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{javadir}/lib/libjsound.so
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
445 %defattr(644,root,root,755)
446 %dir %{_prefix}/src/%{name}-sources
447 %{_prefix}/src/%{name}-sources/src.zip