]> git.pld-linux.org Git - packages/icedtea8.git/blob - icedtea8.spec
2204e04efc0e66e823d24e5f58ee93cb731472cd
[packages/icedtea8.git] / icedtea8.spec
1 #
2 # IMPORTANT:
3 #       when upgrading remember to redownload all sources from the upstream
4 #       URLs and update MD5 sums, as there is no change in the file names
5 #       and distfiles would provide outdated files
6 #
7
8 # TODO:
9 # - install .ttf fonts (same as in sun-java-base-jre-X11 package) or configure
10 #   it to use system fonts (is it possible?).
11 # - desktop files, icons, etc. Some of these are included in the source root dir
12 # - maybe build Shark VM, at least on i486, as the zero-assembly VM is very slow
13 # - pass %{rpmcflags} to build
14
15 %bcond_with bootstrap   # build a bootstrap version, using icedtea6
16 %bcond_without nss      # don't use NSS
17 %bcond_without cacerts  # don't include the default CA certificates
18 %bcond_without sunec    # enable Sun EC crypt lib
19
20 %if %{with bootstrap}
21 %define         use_jdk openjdk8
22 %else
23 %define         use_jdk icedtea8
24 %endif
25
26 # class data version seen with file(1) that this jvm is able to load
27 %define         _classdataversion 52.0
28 # JDK/JRE version, as returned with `java -version`, '_' replaced with '.'
29 %define         _jdkversion 1.8.0.242
30
31 Summary:        OpenJDK and GNU Classpath code
32 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath
33 Name:           icedtea8
34 Version:        3.15.0
35 Release:        2
36 License:        GPL v2
37 Group:          Development/Languages/Java
38 Source0:        http://icedtea.wildebeest.org/download/source/icedtea-%{version}.tar.gz
39 # Source0-md5:  aa67914ccaa4e06310a2a98bda1e4d35
40 Source1:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/openjdk.tar.xz
41 # Source1-md5:  f8de18e2a79f5cd0a4f65c134505f1b3
42 Source2:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/corba.tar.xz
43 # Source2-md5:  a1835170b80736ea01548892d05269b9
44 Source3:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxp.tar.xz
45 # Source3-md5:  bac0dfc3edeb36bb0a8e17bf3e8638ba
46 Source4:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxws.tar.xz
47 # Source4-md5:  c0ec29233b16d028710f3e8a46fa0d8d
48 Source5:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jdk.tar.xz
49 # Source5-md5:  1fb48b1c922b5e451c8c974e7e017c81
50 Source6:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/langtools.tar.xz
51 # Source6-md5:  aac611dac366e55f608b8c0c945b230c
52 Source7:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/hotspot.tar.xz
53 # Source7-md5:  1bf3fe318193497ad84f96c166261218
54 Source8:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/nashorn.tar.xz
55 # Source8-md5:  c4b7700db1ccdb5817a8a614934089a3
56 Source10:       make-cacerts.sh
57 # 0-99 patches for the IcedTea files
58 Patch0:         %{name}-x32-ac.patch
59 Patch1:         %{name}-heimdal.patch
60 # 100-... patches applied to the extracted sources
61 Patch100:       %{name}-libpath.patch
62 Patch101:       %{name}-x32.patch
63 Patch102:       openjdk-heimdal.patch
64 URL:            http://icedtea.classpath.org/wiki/Main_Page
65 BuildRequires:  alsa-lib-devel
66 BuildRequires:  ant
67 BuildRequires:  autoconf
68 BuildRequires:  automake
69 BuildRequires:  bash
70 %{?with_cacerts:BuildRequires:  ca-certificates-update}
71 BuildRequires:  cups-devel
72 BuildRequires:  /usr/bin/jar
73 BuildRequires:  fontconfig-devel
74 BuildRequires:  freetype-devel >= 2.3
75 BuildRequires:  gawk
76 BuildRequires:  giflib-devel >= 5.1
77 BuildRequires:  glib2-devel
78 BuildRequires:  glibc-misc
79 BuildRequires:  gtk+2-devel
80 BuildRequires:  heimdal-devel
81 BuildRequires:  java-rhino
82 BuildRequires:  java-xalan
83 %buildrequires_jdk
84 BuildRequires:  lcms2-devel
85 BuildRequires:  libffi-devel
86 BuildRequires:  libjpeg-devel >= 6b
87 BuildRequires:  pcsc-lite-devel
88 BuildRequires:  libpng-devel
89 BuildRequires:  libsctp-devel
90 BuildRequires:  libstdc++-static
91 BuildRequires:  lsb-release
92 %{?with_nss:BuildRequires:      nss-devel >= 1:3.17.2-5}
93 BuildRequires:  paxctl
94 BuildRequires:  pkgconfig
95 BuildRequires:  rpmbuild(macros) >= 1.557
96 BuildRequires:  systemtap-sdt-devel >= 3.2
97 BuildRequires:  unzip
98 BuildRequires:  util-linux
99 BuildRequires:  xorg-lib-libX11-devel
100 BuildRequires:  xorg-lib-libXau-devel
101 BuildRequires:  xorg-lib-libXcomposite-devel
102 BuildRequires:  xorg-lib-libXdmcp-devel
103 BuildRequires:  xorg-lib-libXext-devel
104 BuildRequires:  xorg-lib-libXi-devel
105 BuildRequires:  xorg-lib-libXinerama-devel
106 BuildRequires:  xorg-lib-libXp-devel
107 BuildRequires:  xorg-lib-libXrender-devel
108 BuildRequires:  xorg-lib-libXt-devel
109 BuildRequires:  xorg-lib-libXtst-devel
110 BuildRequires:  xorg-proto-printproto-devel
111 BuildRequires:  xorg-proto-xproto-devel
112 BuildRequires:  zip
113 BuildRequires:  zlib-devel
114 Requires:       %{name}-appletviewer = %{version}-%{release}
115 Requires:       %{name}-jdk = %{version}-%{release}
116 Suggests:       %{name}-jre-X11
117 Suggests:       icedtea-web
118 Obsoletes:      icedtea6
119 Obsoletes:      icedtea7
120 Obsoletes:      java5-sun
121 Obsoletes:      java5-sun-jre
122 Obsoletes:      java5-sun-jre-jdbc
123 Obsoletes:      java5-sun-jre-X11
124 Obsoletes:      java5-sun-tools
125 Obsoletes:      java-gcj-compat
126 Obsoletes:      java-gcj-compat-devel
127 Obsoletes:      java-sun
128 Obsoletes:      java-sun-demos
129 Obsoletes:      java-sun-jre
130 Obsoletes:      java-sun-jre-alsa
131 Obsoletes:      java-sun-jre-jdbc
132 Obsoletes:      java-sun-jre-X11
133 Obsoletes:      java-sun-tools
134 Obsoletes:      openjdk8
135 Obsoletes:      oracle-java7
136 Obsoletes:      oracle-java7-jre
137 Obsoletes:      oracle-java7-jre-alsa
138 Obsoletes:      oracle-java7-jre-jdbc
139 Obsoletes:      oracle-java7-jre-X11
140 Obsoletes:      oracle-java7-tools
141 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
142
143 %define         dstreldir       %{name}-%{version}
144 %define         dstdir          %{_jvmdir}/%{dstreldir}
145 %define         jrereldir       %{dstreldir}/jre
146 %define         jredir          %{_jvmdir}/%{jrereldir}
147 %define         jvmjardir       %{_jvmjardir}/%{name}-%{version}
148
149 %ifarch %{x8664}
150 %define         jre_arch        amd64
151 %endif
152 %ifarch %{ix86}
153 %define         jre_arch        i386
154 %endif
155 %ifarch x32
156 %define         jre_arch        x32
157 %endif
158
159 # to break artificial subpackage dependency loops
160 %define         _noautoreq      'libmawt.so' java\\\\(ClassDataVersion\\\\)
161
162 %description
163 The IcedTea project provides a harness to build the source code from
164 http://openjdk.java.net/ using Free Software build tools and provides
165 replacements libraries for the binary plugs with code from the GNU
166 Classpath project.
167
168 This is a meta-package which provides, by its dependencies, all the
169 IcedTea6 components including the OpenJDK, Java 6 developement kit and
170 runtime environment.
171
172 %description -l pl.UTF-8
173 Projekt IcedTea daje możliwość kompilacji kodu źródłowego z
174 http://openjdk.java.net/ przy użyciu wolnodostępnych narzędzi oraz
175 dostarcza zamienniki biblioteczne binarnych wtyczek pochodzące z
176 projektu GNU Classpath.
177
178 To jest meta-pakiet, który, za pośrednictwem zależności, dostarcza
179 wszystkie komponenty IcedTea7, w tym środowisko programistyczne
180 (OpenJDK) i uruchomieniowe (JRE).
181
182 %package jdk
183 Summary:        OpenJDK and GNU Classpath code - software development kit
184 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
185 Group:          Development/Languages/Java
186 Requires:       %{name}-jar = %{version}-%{release}
187 Requires:       %{name}-jdk-base = %{version}-%{release}
188 Requires:       %{name}-jre = %{version}-%{release}
189 Provides:       j2sdk = %{_jdkversion}
190 Provides:       jdk = %{_jdkversion}
191 Obsoletes:      blackdown-java-sdk
192 Obsoletes:      ibm-java
193 Obsoletes:      icedtea6-jdk
194 Obsoletes:      icedtea7-jdk
195 Obsoletes:      java-blackdown
196 Obsoletes:      java-gcj-compat-devel
197 Obsoletes:      java-sun
198 Obsoletes:      java5-sun
199 Obsoletes:      openjdk8-jdk
200 Obsoletes:      oracle-java7
201 Obsoletes:      jdk
202 Obsoletes:      kaffe
203
204 %description jdk
205 This package symlinks OpenJDK development tools provided by
206 %{name}-jdk-base to system-wide directories like %{_bindir}, making
207 IcedTea6 default JDK.
208
209 %description jdk -l pl.UTF-8
210 Ten pakiet tworzy symboliczne dowiązania do narzędzi programistycznych
211 OpenJDK, dostarczanych przez pakiet %{name}-jdk-base, w standardowych
212 systemowych ścieżkach takich jak %{_bindir}, sprawiając tym samym, że
213 IcedTea6 staje się domyślnym JDK w systemie.
214
215 %package jdk-base
216 Summary:        OpenJDK and GNU Classpath code - software development kit
217 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
218 Group:          Development/Languages/Java
219 Requires:       %{name}-jre-base = %{version}-%{release}
220 Requires:       jpackage-utils >= 0:1.7.5-4
221 Provides:       jdk(%{name})
222
223 %description jdk-base
224 OpenJDK development tools built using free software only.
225
226 %description jdk-base -l pl.UTF-8
227 OpenJDK skompilowane wyłącznie przy użyciu wolnego oprogramowania.
228
229 %package jre
230 Summary:        OpenJDK and GNU Classpath code - runtime environment
231 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
232 Group:          Development/Languages/Java
233 Requires:       %{name}-jre-base = %{version}-%{release}
234 Requires:       nss >= 1:3.13.4
235 # Require zoneinfo data provided by java-tzdata subpackage.
236 Requires:       java-tzdata
237 Provides:       java
238 Provides:       java(ClassDataVersion) = %{_classdataversion}
239 Provides:       java(jaas) = %{version}
240 Provides:       java(jaf) = 1.1.1
241 Provides:       java(jaxp) = 1.3
242 Provides:       java(jaxp_parser_impl)
243 Provides:       java(jce) = %{version}
244 Provides:       java(jdbc-stdext) = %{version}
245 Provides:       java(jdbc-stdext) = 3.0
246 Provides:       java(jmx) = 1.4
247 Provides:       java(jndi) = %{version}
248 Provides:       java(jsse) = %{version}
249 Provides:       java1.4
250 Provides:       jre = %{_jdkversion}
251 Obsoletes:      icedtea6-jre
252 Obsoletes:      icedtea7-jre
253 Obsoletes:      java(jaas)
254 Obsoletes:      java(jaf)
255 Obsoletes:      java(jaxp)
256 Obsoletes:      java(jce)
257 Obsoletes:      java(jdbc-stdext)
258 Obsoletes:      java(jdbc-stdext)
259 Obsoletes:      java(jmx)
260 Obsoletes:      java(jndi)
261 Obsoletes:      java(jsse)
262 Obsoletes:      java-gcj-compat
263 Obsoletes:      java-sun-jre
264 Obsoletes:      java5-sun-jre
265 Obsoletes:      openjdk8-jre
266 Obsoletes:      oracle-java7-jre
267 Obsoletes:      jre
268
269 %description jre
270 This package symlinks OpenJDK runtime environment tools provided by
271 %{name}-jre-base to system-wide directories like %{_bindir}, making
272 IcedTea6 default JRE.
273
274 %description jre -l pl.UTF-8
275 Ten pakiet tworzy symboliczne dowiązania do środowiska
276 uruchomieniowego OpenJDK, dostarczanych przez pakiet %{name}-jre-base,
277 w standardowych systemowych ścieżkach takich jak %{_bindir},
278 sprawiając tym samym, że IcedTea7 staje się domyślnym JRE w systemie.
279
280 %package jre-X11
281 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
282 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
283 Group:          Development/Languages/Java
284 Requires:       %{name}-jre = %{version}-%{release}
285 Requires:       %{name}-jre-base-X11 = %{version}-%{release}
286 Provides:       jre-X11 = %{_jdkversion}
287 Obsoletes:      icedtea6-jre-X11
288 Obsoletes:      java-sun-jre-X11
289 Obsoletes:      openjdk8-jre-X11
290 Obsoletes:      oracle-java7-jre-X11
291
292 %description jre-X11
293 X11 support for OpenJDK runtime environment built using free software
294 only.
295
296 %description jre-X11 -l pl.UTF-8
297 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
298 wolnego oprogramowania.
299
300 %package jre-base
301 Summary:        OpenJDK and GNU Classpath code - runtime environment
302 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
303 Group:          Development/Languages/Java
304 Requires:       jpackage-utils >= 0:1.7.5-4
305 Provides:       jre(%{name})
306 Provides:       jre-base = %{_jdkversion}
307
308 %description jre-base
309 OpenJDK runtime environment built using free software only.
310
311 %description jre-base -l pl.UTF-8
312 Środowisko uruchomieniowe OpenJDK zbudowany wyłącznie przy użyciu
313 wolnego oprogramowania.
314
315 %package jre-base-X11
316 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
317 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
318 Group:          Development/Languages/Java
319 Requires:       %{name}-jre-base = %{version}-%{release}
320 Requires:       %{name}-jre-base-freetype = %{version}-%{release}
321 Provides:       jre-base-X11 = %{_jdkversion}
322
323 %description jre-base-X11
324 X11 support for OpenJDK runtime environment built using free software
325 only.
326
327 %description jre-base-X11 -l pl.UTF-8
328 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
329 wolnego oprogramowania.
330
331 %package jre-base-alsa
332 Summary:        IcedTea7 OpenJDK - runtime environment - ALSA support
333 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa ALSA
334 Group:          Development/Languages/Java
335 Requires:       %{name}-jre-base = %{version}-%{release}
336
337 %description jre-base-alsa
338 ALSA sound support for OpenJDK runtime environment build using free
339 software only.
340
341 %description jre-base-alsa -l pl.UTF-8
342 Biblioteki ALSA rozszerzające środowisko OpenJDK o obsługę dźwięku
343 zbudowane przy uzyciu wyłącznie wolnego oprogramowania.
344
345 %package jre-base-freetype
346 Summary:        IcedTea7 OpenJDK - runtime environment - font support
347 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa fontów
348 Group:          Development/Languages/Java
349 Requires:       %{name}-jre-base = %{version}-%{release}
350
351 %description jre-base-freetype
352 Font handling library for OpenJDK runtime environment built using free
353 software only.
354
355 %description jre-base-freetype -l pl.UTF-8
356 Biblioteki obsługi czcionek dla OpenJDK zbudowane wyłącznie przy
357 użyciu wolnego oprogramowania.
358
359 %package jre-base-gtk
360 Summary:        IcedTea7 OpenJDK - runtime environment - GTK support
361 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa GTK
362 Group:          Development/Languages/Java
363 Requires:       %{name}-jre-base = %{version}-%{release}
364
365 %description jre-base-gtk
366 GTK support for OpenJDK runtime environment.
367
368 %description jre-base-gtk -l pl.UTF-8
369 Biblioteki GTK dla OpenJDK.
370
371 %package jar
372 Summary:        OpenJDK and GNU Classpath code - JAR tool
373 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie JAR
374 Group:          Development/Languages/Java
375 Requires:       %{name}-jdk-base = %{version}-%{release}
376 Provides:       jar
377 Obsoletes:      fastjar
378 Obsoletes:      icedtea6-jar
379 Obsoletes:      icedtea7-jar
380 Obsoletes:      openjdk8-jar
381 Obsoletes:      jar
382
383 %description jar
384 JAR tool from OpenJDK built using free software only.
385
386 JAR is an archiver used to merge Java classes into a single library.
387
388 %description jar -l pl.UTF-8
389 Narzędzie jar z OpenJDK zbudowane przy uzyciu wyłącznie wolnego
390 oprogramowania.
391
392 JAR jest narzędziem pozwalającym wykonywać podstawowe operacje na
393 archiwach javy .jar takie jak na przykład tworzenie lub rozpakowywanie
394 archiwów.
395
396 %package appletviewer
397 Summary:        OpenJDK and GNU Classpath code - appletviewer tool
398 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie appletviewer
399 Group:          Development/Languages/Java
400 Requires:       %{name}-jdk-base = %{version}-%{release}
401 Requires:       %{name}-jre-X11 = %{version}-%{release}
402 Obsoletes:      icedtea6-appletviewer
403 Obsoletes:      icedtea7-appletviewer
404 Obsoletes:      java-sun-appletviewer
405 Obsoletes:      openjdk8-appletviewer
406 Obsoletes:      oracle-java7-appletviewer
407
408 %description appletviewer
409 Appletviewer from OpenJDK build using free software only.
410
411 %description appletviewer -l pl.UTF-8
412 Appletviewer pozwala uruchamiać aplety javy niezależnie od
413 przeglądarki www. Ten appletviewer pochodzi z zestawu narzędzi OpenJDK
414 i został zbudowany wyłącznie przy użyciu wolnego oprogramowania.
415
416 %package jdk-sources
417 Summary:        OpenJDK and GNU Classpath code - sources
418 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - kod źródłowy
419 Group:          Documentation
420 %if "%{_rpmversion}" >= "5"
421 BuildArch:      noarch
422 %endif
423
424 %description jdk-sources
425 Source code for the OpenJDK development kit and Java standard library.
426
427 %description jdk-sources -l pl.UTF-8
428 Kod źródłowy narzędzi programistycznych OpenJDK oraz standardowej
429 biblioteki Javy.
430
431 %package examples
432 Summary:        OpenJDK and GNU Classpath code - examples
433 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - przykłady
434 Group:          Documentation
435 %if "%{_rpmversion}" >= "5"
436 BuildArch:      noarch
437 %endif
438
439 %description examples
440 Code examples for OpenJDK.
441
442 %description examples -l pl.UTF-8
443 Przykłady dla OpenJDK.
444
445 %prep
446 %setup -qn icedtea-%{version}
447 %patch0 -p1
448 %patch1 -p1
449
450 # patches to applied to the extracted sources
451 install -d pld-patches
452 cp -p %{PATCH100} pld-patches
453 %ifarch x32
454 cp -p %{PATCH101} pld-patches
455 %endif
456 cp -p %{PATCH102} pld-patches
457
458 # let the build system extract the sources where it wants them
459 install -d drops
460 ln -s %{SOURCE1} openjdk.tar.xz
461 ln -s %{SOURCE2} corba.tar.xz
462 ln -s %{SOURCE3} jaxp.tar.xz
463 ln -s %{SOURCE4} jaxws.tar.xz
464 ln -s %{SOURCE5} jdk.tar.xz
465 ln -s %{SOURCE6} langtools.tar.xz
466 ln -s %{SOURCE7} hotspot.tar.xz
467 ln -s %{SOURCE8} nashorn.tar.xz
468
469 %build
470 # Make sure we have /proc mounted - otherwise idlc will fail later.
471 if [ ! -f /proc/self/stat ]; then
472         echo "You need to have /proc mounted in order to build this package!"
473         exit 1
474 fi
475
476 unset JAVA_HOME
477
478 mkdir -p build-bin
479 export PATH="$(pwd)/build-bin:$PATH"
480
481 # our /usr/bin/ant is quite broken and won't run properly
482 # in the bootstrap JDK environment prepared by IcedTea build process
483 cat >>build-bin/ant <<'EOF'
484 #!/bin/sh
485
486 exec java \
487         -classpath /usr/share/java/ant-launcher.jar \
488         -Dant.home=/usr/share/ant \
489         -Dant.lib=/usr/share/ant/lib \
490         org.apache.tools.ant.launch.Launcher \
491         "$@"
492 EOF
493 chmod a+x build-bin/ant
494
495 %{__aclocal}
496 %{__autoconf}
497 %{__automake}
498
499 # NOTE: the weird '--disable-bootstrap' is how it is supposed to be
500 # http://icedtea.classpath.org/wiki/CommonIssues#IcedTea7_building_on_systems_with_JDK_5_or_JDK_6
501 %configure \
502         WGET=%{_bindir}/wget \
503 %ifarch x32
504         --enable-zero \
505 %endif
506         --disable-downloading \
507         --with-jdk-home=%{java_home} \
508         --disable-bootstrap \
509         --enable-improved-font-rendering \
510         --enable-system-kerberos \
511         --enable-system-pcsc \
512         --enable-system-sctp \
513         --%{!?with_nss:dis}%{?with_nss:en}able-nss \
514         --%{!?with_sunec:dis}%{?with_sunec:en}able-sunec
515
516 %{__make} extract \
517         SHELL=/bin/bash \
518         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
519
520 %{__make} patch \
521         SHELL=/bin/bash \
522         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
523
524 # break here to prepare openjdk patches
525 #exit 1
526
527 cd openjdk/common/autoconf
528 sh autogen.sh
529 cd ../../..
530
531 %{__make} -j1 \
532         SHELL=/bin/bash \
533         DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \
534         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)" \
535         PRINTF=/bin/printf \
536         MAX_VM_MEMORY=1024
537
538 # smoke test
539 openjdk.build/jdk/bin/java -version
540
541 %{?with_cacerts:%{__sh} %{SOURCE10}}
542
543 # _jdkversion check
544 JDKVER=$(openjdk.build/jdk/bin/java -version 2>&1 | gawk -F'"' '/openjdk version/ { s=$2; gsub("_", ".", s); print s; } ')
545 if [ "$JDKVER" != "%{_jdkversion}" ]; then
546         echo "Please update _jdkversion macro to $JDKVER" >&2
547         exit 1
548 fi
549
550 %install
551 rm -rf $RPM_BUILD_ROOT
552
553 install -d $RPM_BUILD_ROOT{%{_bindir},%{dstdir},%{_mandir}/ja} \
554         $RPM_BUILD_ROOT{%{jvmjardir},%{_examplesdir}/%{name}-%{version},%{_javasrcdir}} \
555         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
556
557 # install the 'JDK image', it contains the JRE too
558 cp -a openjdk.build/images/j2sdk-image/* $RPM_BUILD_ROOT%{dstdir}
559
560 # convenience symlinks without version number
561 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}
562 ln -s %{jrereldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}-jre
563
564 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/java
565
566 # move JDK sources and demo to /usr/src
567 mv $RPM_BUILD_ROOT%{dstdir}/demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
568 mv $RPM_BUILD_ROOT%{dstdir}/sample $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
569 mv $RPM_BUILD_ROOT%{dstdir}/src.zip $RPM_BUILD_ROOT%{_javasrcdir}/%{name}-jdk.zip
570
571 # move manual pages to its place
572 mv $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8/man1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
573 rmdir $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8
574 rm $RPM_BUILD_ROOT%{dstdir}/man/ja
575 mv $RPM_BUILD_ROOT%{dstdir}/man/man1 $RPM_BUILD_ROOT%{_mandir}/man1
576 rmdir $RPM_BUILD_ROOT%{dstdir}/man
577
578 # replace duplicates with symlinks, link to %{_bindir}
579 for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
580         filename=$(basename $path)
581         if diff -q "$path" "$RPM_BUILD_ROOT%{jredir}/bin/$filename" > /dev/null; then
582                 ln -sf "../jre/bin/$filename" "$path"
583                 ln -sf "%{jredir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
584         else
585                 ln -sf "%{dstdir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
586         fi
587 done
588 ln -sf ../jre/lib/jexec $RPM_BUILD_ROOT%{dstdir}/lib/jexec
589
590 # keep configuration in /etc (not all *.properties go there)
591 for config in management security content-types.properties \
592                 logging.properties net.properties sound.properties; do
593
594         mv $RPM_BUILD_ROOT%{jredir}/lib/$config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$config
595         ln -s %{_sysconfdir}/%{name}/$config $RPM_BUILD_ROOT%{jredir}/lib/$config
596 done
597
598 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jsse.jar
599 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jcert.jar
600 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jnet.jar
601 ln -sf %{jredir}/lib/jce.jar $RPM_BUILD_ROOT%{jvmjardir}/jce.jar
602 for f in jndi jndi-ldap jndi-cos jndi-rmi jaas jdbc-stdext jdbc-stdext-3.0 \
603         sasl jaxp_parser_impl jaxp_transform_impl jaxp jmx activation xml-commons-apis \
604         jndi-dns jndi-rmi; do
605         ln -sf %{jredir}/lib/rt.jar $RPM_BUILD_ROOT%{jvmjardir}/$f.jar
606 done
607
608 # some apps (like opera) looks for it in different place
609 ln -s server/libjvm.so $RPM_BUILD_ROOT%{jredir}/lib/%{jre_arch}/libjvm.so
610
611 %{__rm} $RPM_BUILD_ROOT%{dstdir}/{,jre/}{ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README}
612
613 %{?with_cacerts:install cacerts $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/security}
614
615 %clean
616 rm -rf $RPM_BUILD_ROOT
617
618 %files
619 %defattr(644,root,root,755)
620 %doc AUTHORS ChangeLog HACKING NEWS README
621
622 %files jdk
623 %defattr(644,root,root,755)
624 %attr(755,root,root) %{_bindir}/extcheck
625 %attr(755,root,root) %{_bindir}/idlj
626 %attr(755,root,root) %{_bindir}/jarsigner
627 %attr(755,root,root) %{_bindir}/java-rmi.cgi
628 %attr(755,root,root) %{_bindir}/javac
629 %attr(755,root,root) %{_bindir}/javadoc
630 %attr(755,root,root) %{_bindir}/javah
631 %attr(755,root,root) %{_bindir}/javap
632 %attr(755,root,root) %{_bindir}/jcmd
633 %attr(755,root,root) %{_bindir}/jconsole
634 %attr(755,root,root) %{_bindir}/jdb
635 %attr(755,root,root) %{_bindir}/jdeps
636 %attr(755,root,root) %{_bindir}/jhat
637 %attr(755,root,root) %{_bindir}/jinfo
638 %attr(755,root,root) %{_bindir}/jjs
639 %attr(755,root,root) %{_bindir}/jmap
640 %attr(755,root,root) %{_bindir}/jps
641 %attr(755,root,root) %{_bindir}/jrunscript
642 %attr(755,root,root) %{_bindir}/jsadebugd
643 %attr(755,root,root) %{_bindir}/jstack
644 %attr(755,root,root) %{_bindir}/jstat
645 %attr(755,root,root) %{_bindir}/jstatd
646 %attr(755,root,root) %{_bindir}/native2ascii
647 %attr(755,root,root) %{_bindir}/rmic
648 %attr(755,root,root) %{_bindir}/schemagen
649 %attr(755,root,root) %{_bindir}/serialver
650 %attr(755,root,root) %{_bindir}/wsgen
651 %attr(755,root,root) %{_bindir}/wsimport
652 %attr(755,root,root) %{_bindir}/xjc
653 %{_mandir}/man1/extcheck.1*
654 %{_mandir}/man1/idlj.1*
655 %{_mandir}/man1/jarsigner.1*
656 %{_mandir}/man1/javac.1*
657 %{_mandir}/man1/javadoc.1*
658 %{_mandir}/man1/javah.1*
659 %{_mandir}/man1/javap.1*
660 %{_mandir}/man1/jcmd.1*
661 %{_mandir}/man1/jconsole.1*
662 %{_mandir}/man1/jdb.1*
663 %{_mandir}/man1/jdeps.1*
664 %{_mandir}/man1/jhat.1*
665 %{_mandir}/man1/jinfo.1*
666 %{_mandir}/man1/jjs.1*
667 %{_mandir}/man1/jmap.1*
668 %{_mandir}/man1/jps.1*
669 %{_mandir}/man1/jrunscript.1*
670 %{_mandir}/man1/jsadebugd.1*
671 %{_mandir}/man1/jstack.1*
672 %{_mandir}/man1/jstat.1*
673 %{_mandir}/man1/jstatd.1*
674 %{_mandir}/man1/native2ascii.1*
675 %{_mandir}/man1/schemagen.1*
676 %{_mandir}/man1/serialver.1*
677 %{_mandir}/man1/rmic.1*
678 %{_mandir}/man1/wsgen.1*
679 %{_mandir}/man1/wsimport.1*
680 %{_mandir}/man1/xjc.1*
681 %lang(ja) %{_mandir}/ja/man1/extcheck.1*
682 %lang(ja) %{_mandir}/ja/man1/idlj.1*
683 %lang(ja) %{_mandir}/ja/man1/jarsigner.1*
684 %lang(ja) %{_mandir}/ja/man1/javac.1*
685 %lang(ja) %{_mandir}/ja/man1/javadoc.1*
686 %lang(ja) %{_mandir}/ja/man1/javah.1*
687 %lang(ja) %{_mandir}/ja/man1/javap.1*
688 %lang(ja) %{_mandir}/ja/man1/jcmd.1*
689 %lang(ja) %{_mandir}/ja/man1/jconsole.1*
690 %lang(ja) %{_mandir}/ja/man1/jdb.1*
691 %lang(ja) %{_mandir}/ja/man1/jdeps.1*
692 %lang(ja) %{_mandir}/ja/man1/jhat.1*
693 %lang(ja) %{_mandir}/ja/man1/jinfo.1*
694 %lang(ja) %{_mandir}/ja/man1/jjs.1*
695 %lang(ja) %{_mandir}/ja/man1/jmap.1*
696 %lang(ja) %{_mandir}/ja/man1/jps.1*
697 %lang(ja) %{_mandir}/ja/man1/jrunscript.1*
698 %lang(ja) %{_mandir}/ja/man1/jsadebugd.1*
699 %lang(ja) %{_mandir}/ja/man1/jstack.1*
700 %lang(ja) %{_mandir}/ja/man1/jstat.1*
701 %lang(ja) %{_mandir}/ja/man1/jstatd.1*
702 %lang(ja) %{_mandir}/ja/man1/native2ascii.1*
703 %lang(ja) %{_mandir}/ja/man1/schemagen.1*
704 %lang(ja) %{_mandir}/ja/man1/serialver.1*
705 %lang(ja) %{_mandir}/ja/man1/rmic.1*
706 %lang(ja) %{_mandir}/ja/man1/wsgen.1*
707 %lang(ja) %{_mandir}/ja/man1/wsimport.1*
708 %lang(ja) %{_mandir}/ja/man1/xjc.1*
709
710 %files jdk-base
711 %defattr(644,root,root,755)
712 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
713 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
714 %dir %{dstdir}
715 %{_jvmdir}/%{name}
716 %dir %{dstdir}/bin
717 %attr(755,root,root) %{dstdir}/bin/appletviewer
718 %attr(755,root,root) %{dstdir}/bin/extcheck
719 %attr(755,root,root) %{dstdir}/bin/idlj
720 %attr(755,root,root) %{dstdir}/bin/jar
721 %attr(755,root,root) %{dstdir}/bin/jarsigner
722 %attr(755,root,root) %{dstdir}/bin/java-rmi.cgi
723 %attr(755,root,root) %{dstdir}/bin/javac
724 %attr(755,root,root) %{dstdir}/bin/javadoc
725 %attr(755,root,root) %{dstdir}/bin/javah
726 %attr(755,root,root) %{dstdir}/bin/javap
727 %attr(755,root,root) %{dstdir}/bin/jconsole
728 %attr(755,root,root) %{dstdir}/bin/jcmd
729 %attr(755,root,root) %{dstdir}/bin/jdb
730 %attr(755,root,root) %{dstdir}/bin/jdeps
731 %attr(755,root,root) %{dstdir}/bin/jhat
732 %attr(755,root,root) %{dstdir}/bin/jinfo
733 %attr(755,root,root) %{dstdir}/bin/jmap
734 %attr(755,root,root) %{dstdir}/bin/jps
735 %attr(755,root,root) %{dstdir}/bin/jrunscript
736 %attr(755,root,root) %{dstdir}/bin/jsadebugd
737 %attr(755,root,root) %{dstdir}/bin/jstack
738 %attr(755,root,root) %{dstdir}/bin/jstat
739 %attr(755,root,root) %{dstdir}/bin/jstatd
740 %attr(755,root,root) %{dstdir}/bin/native2ascii
741 %attr(755,root,root) %{dstdir}/bin/rmic
742 %attr(755,root,root) %{dstdir}/bin/schemagen
743 %attr(755,root,root) %{dstdir}/bin/serialver
744 %attr(755,root,root) %{dstdir}/bin/wsgen
745 %attr(755,root,root) %{dstdir}/bin/wsimport
746 %attr(755,root,root) %{dstdir}/bin/xjc
747 %{dstdir}/include
748 %dir %{dstdir}/lib
749 %{dstdir}/lib/ct.sym
750 %{dstdir}/lib/dt.jar
751 %{dstdir}/lib/ir.idl
752 %{dstdir}/lib/jconsole.jar
753 %attr(755,root,root) %{dstdir}/lib/jexec
754 %{dstdir}/lib/orb.idl
755 %ifnarch x32
756 %{dstdir}/lib/sa-jdi.jar
757 %endif
758 %{dstdir}/lib/tools.jar
759 %dir %{dstdir}/lib/%{jre_arch}
760 %dir %{dstdir}/lib/%{jre_arch}/jli
761 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/jli/*.so
762 %{dstdir}/tapset
763
764 %files jre
765 %defattr(644,root,root,755)
766 %attr(755,root,root) %{_bindir}/clhsdb
767 %attr(755,root,root) %{_bindir}/java
768 %attr(755,root,root) %{_bindir}/keytool
769 %attr(755,root,root) %{_bindir}/orbd
770 %attr(755,root,root) %{_bindir}/pack200
771 %attr(755,root,root) %{_bindir}/rmid
772 %attr(755,root,root) %{_bindir}/rmiregistry
773 %attr(755,root,root) %{_bindir}/servertool
774 %attr(755,root,root) %{_bindir}/tnameserv
775 %attr(755,root,root) %{_bindir}/unpack200
776 %{_mandir}/man1/java.1*
777 %{_mandir}/man1/keytool.1*
778 %{_mandir}/man1/orbd.1*
779 %{_mandir}/man1/pack200.1*
780 %{_mandir}/man1/rmid.1*
781 %{_mandir}/man1/rmiregistry.1*
782 %{_mandir}/man1/servertool.1*
783 %{_mandir}/man1/tnameserv.1*
784 %{_mandir}/man1/unpack200.1*
785 %lang(ja) %{_mandir}/ja/man1/java.1*
786 %lang(ja) %{_mandir}/ja/man1/keytool.1*
787 %lang(ja) %{_mandir}/ja/man1/orbd.1*
788 %lang(ja) %{_mandir}/ja/man1/pack200.1*
789 %lang(ja) %{_mandir}/ja/man1/rmid.1*
790 %lang(ja) %{_mandir}/ja/man1/rmiregistry.1*
791 %lang(ja) %{_mandir}/ja/man1/servertool.1*
792 %lang(ja) %{_mandir}/ja/man1/tnameserv.1*
793 %lang(ja) %{_mandir}/ja/man1/unpack200.1*
794 %{_jvmdir}/java
795
796 %files jre-base
797 %defattr(644,root,root,755)
798 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
799 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
800 %dir %{_sysconfdir}/%{name}
801 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
802 %dir %{dstdir}
803 %{dstdir}/release
804 %dir %{jredir}
805 %{_jvmdir}/%{name}-jre
806 %dir %{jredir}/bin
807 %dir %{dstdir}/bin
808 %attr(755,root,root) %{dstdir}/bin/clhsdb
809 %attr(755,root,root) %{jredir}/bin/java
810 %attr(755,root,root) %{dstdir}/bin/java
811 %attr(755,root,root) %{jredir}/bin/jjs
812 %attr(755,root,root) %{dstdir}/bin/jjs
813 %attr(755,root,root) %{jredir}/bin/keytool
814 %attr(755,root,root) %{dstdir}/bin/keytool
815 %attr(755,root,root) %{jredir}/bin/orbd
816 %attr(755,root,root) %{dstdir}/bin/orbd
817 %attr(755,root,root) %{jredir}/bin/pack200
818 %attr(755,root,root) %{dstdir}/bin/pack200
819 %attr(755,root,root) %{jredir}/bin/rmid
820 %attr(755,root,root) %{dstdir}/bin/rmid
821 %attr(755,root,root) %{jredir}/bin/rmiregistry
822 %attr(755,root,root) %{dstdir}/bin/rmiregistry
823 %attr(755,root,root) %{jredir}/bin/servertool
824 %attr(755,root,root) %{dstdir}/bin/servertool
825 %attr(755,root,root) %{jredir}/bin/tnameserv
826 %attr(755,root,root) %{dstdir}/bin/tnameserv
827 %attr(755,root,root) %{jredir}/bin/unpack200
828 %attr(755,root,root) %{dstdir}/bin/unpack200
829 %dir %{jredir}/lib
830 %dir %{jredir}/lib/applet
831 %{jredir}/lib/cmm
832 %{jredir}/lib/ext
833 %dir %{jredir}/lib/%{jre_arch}
834 %dir %{jredir}/lib/%{jre_arch}/jli
835 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/jli/*.so
836 %dir %{jredir}/lib/%{jre_arch}/server
837 %{jredir}/lib/%{jre_arch}/server/Xusage.txt
838 %ifnarch x32
839 %{jredir}/lib/%{jre_arch}/server/classes.jsa
840 %endif
841 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/server/*.so
842 %{jredir}/lib/%{jre_arch}/jvm.cfg
843 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libattach.so
844 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt.so
845 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_headless.so
846 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libdt_socket.so
847 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libhprof.so
848 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libinstrument.so
849 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2gss.so
850 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2krb5.so
851 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pcsc.so
852 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pkcs11.so
853 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2sctp.so
854 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjaas_unix.so
855 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava.so
856 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavajpeg.so
857 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavalcms.so
858 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava_crw_demo.so
859 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjdwp.so
860 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsdt.so
861 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsig.so
862 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsound.so
863 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjvm.so
864 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmanagement.so
865 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmlib_image.so
866 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnet.so
867 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnio.so
868 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnpt.so
869 %ifnarch x32
870 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsaproc.so
871 %endif
872 %{?with_sunec:%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsunec.so}
873 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libunpack.so
874 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libverify.so
875 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libzip.so
876 %{jredir}/lib/images
877 %{jredir}/lib/management
878 %{jredir}/lib/security
879 %{jredir}/lib/hijrah-config-umalqura.properties
880 %{jredir}/lib/tzdb.dat
881 %{jredir}/lib/tz.properties
882
883 %if %{with webstart}
884 %{jredir}/lib/about.jar
885 %{jredir}/lib/about.jnlp
886 %endif
887 %{jredir}/lib/calendars.properties
888 %{jredir}/lib/charsets.jar
889 %{jredir}/lib/classlist
890 %{jredir}/lib/content-types.properties
891 %{jredir}/lib/currency.data
892 %{jredir}/lib/flavormap.properties
893 %{jredir}/lib/jce.jar
894 %attr(755, root, root) %{jredir}/lib/jexec
895 %{jredir}/lib/jsse.jar
896 %{jredir}/lib/jvm.hprof.txt
897 %{jredir}/lib/logging.properties
898 %{jredir}/lib/management-agent.jar
899 %{jredir}/lib/meta-index
900 %{jredir}/lib/net.properties
901 %{jredir}/lib/psfont.properties.ja
902 %{jredir}/lib/psfontj2d.properties
903 %{jredir}/lib/resources.jar
904 %{jredir}/lib/rt.jar
905 %{jredir}/lib/sound.properties
906 %{jvmjardir}
907
908 %files jre-X11
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{_bindir}/hsdb
911 %attr(755,root,root) %{_bindir}/policytool
912 %{_mandir}/man1/policytool.1*
913 %lang(ja) %{_mandir}/ja/man1/policytool.1*
914
915 %files jre-base-X11
916 %defattr(644,root,root,755)
917 %attr(755,root,root) %{dstdir}/bin/hsdb
918 %attr(755,root,root) %{jredir}/bin/policytool
919 %attr(755,root,root) %{dstdir}/bin/policytool
920 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_xawt.so
921 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/libjawt.so
922 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjawt.so
923 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsplashscreen.so
924
925 %files jre-base-alsa
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsoundalsa.so
928
929 %files jre-base-freetype
930 %defattr(644,root,root,755)
931 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libfontmanager.so
932
933 %files jre-base-gtk
934 %defattr(644,root,root,755)
935
936 %files jar
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_bindir}/jar
939 %{_mandir}/man1/jar.1*
940 %lang(ja) %{_mandir}/ja/man1/jar.1*
941
942 %files appletviewer
943 %defattr(644,root,root,755)
944 %attr(755,root,root) %{_bindir}/appletviewer
945 %{_mandir}/man1/appletviewer.1*
946 %lang(ja) %{_mandir}/ja/man1/appletviewer.1*
947
948 %files jdk-sources
949 %defattr(644,root,root,755)
950 %{_javasrcdir}/%{name}-jdk.zip
951
952 %files examples
953 %defattr(644,root,root,755)
954 %{_examplesdir}/%{name}-%{version}
This page took 0.076693 seconds and 2 git commands to generate.