]> git.pld-linux.org Git - packages/icedtea8.git/blob - icedtea8.spec
cf85066fdb1b7928f3a235a4aa1e2cdeb70af2a0
[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.232
30
31 Summary:        OpenJDK and GNU Classpath code
32 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath
33 Name:           icedtea8
34 Version:        3.14.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:  9b9cadaa898fd02362805dac6fb2773d
40 Source1:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/openjdk.tar.xz
41 # Source1-md5:  1a5bf40fb002934f7587e0c87afe725d
42 Source2:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/corba.tar.xz
43 # Source2-md5:  bb3ed3a58ced36584aa1e5ff526551cd
44 Source3:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxp.tar.xz
45 # Source3-md5:  40749688c030e4d17e4dd09d76e3b318
46 Source4:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxws.tar.xz
47 # Source4-md5:  d040f6cdc7ac6ca6443f552c9c44c02c
48 Source5:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jdk.tar.xz
49 # Source5-md5:  639173550f40298a00929a7b7412ec2e
50 Source6:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/langtools.tar.xz
51 # Source6-md5:  573ca26d5596cba590e097c13ae1cb5d
52 Source7:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/hotspot.tar.xz
53 # Source7-md5:  c83a44a47fe3ca93d546a155b71a3761
54 Source8:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/nashorn.tar.xz
55 # Source8-md5:  8647edf92cd07fd1c28ed3ce5fcb3895
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
307 %description jre-base
308 OpenJDK runtime environment built using free software only.
309
310 %description jre-base -l pl.UTF-8
311 Środowisko uruchomieniowe OpenJDK zbudowany wyłącznie przy użyciu
312 wolnego oprogramowania.
313
314 %package jre-base-X11
315 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
316 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
317 Group:          Development/Languages/Java
318 Requires:       %{name}-jre-base = %{version}-%{release}
319 Requires:       %{name}-jre-base-freetype = %{version}-%{release}
320
321 %description jre-base-X11
322 X11 support for OpenJDK runtime environment built using free software
323 only.
324
325 %description jre-base-X11 -l pl.UTF-8
326 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
327 wolnego oprogramowania.
328
329 %package jre-base-alsa
330 Summary:        IcedTea7 OpenJDK - runtime environment - ALSA support
331 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa ALSA
332 Group:          Development/Languages/Java
333 Requires:       %{name}-jre-base = %{version}-%{release}
334
335 %description jre-base-alsa
336 ALSA sound support for OpenJDK runtime environment build using free
337 software only.
338
339 %description jre-base-alsa -l pl.UTF-8
340 Biblioteki ALSA rozszerzające środowisko OpenJDK o obsługę dźwięku
341 zbudowane przy uzyciu wyłącznie wolnego oprogramowania.
342
343 %package jre-base-freetype
344 Summary:        IcedTea7 OpenJDK - runtime environment - font support
345 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa fontów
346 Group:          Development/Languages/Java
347 Requires:       %{name}-jre-base = %{version}-%{release}
348
349 %description jre-base-freetype
350 Font handling library for OpenJDK runtime environment built using free
351 software only.
352
353 %description jre-base-freetype -l pl.UTF-8
354 Biblioteki obsługi czcionek dla OpenJDK zbudowane wyłącznie przy
355 użyciu wolnego oprogramowania.
356
357 %package jre-base-gtk
358 Summary:        IcedTea7 OpenJDK - runtime environment - GTK support
359 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa GTK
360 Group:          Development/Languages/Java
361 Requires:       %{name}-jre-base = %{version}-%{release}
362
363 %description jre-base-gtk
364 GTK support for OpenJDK runtime environment.
365
366 %description jre-base-gtk -l pl.UTF-8
367 Biblioteki GTK dla OpenJDK.
368
369 %package jar
370 Summary:        OpenJDK and GNU Classpath code - JAR tool
371 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie JAR
372 Group:          Development/Languages/Java
373 Requires:       %{name}-jdk-base = %{version}-%{release}
374 Provides:       jar
375 Obsoletes:      fastjar
376 Obsoletes:      icedtea6-jar
377 Obsoletes:      icedtea7-jar
378 Obsoletes:      openjdk8-jar
379 Obsoletes:      jar
380
381 %description jar
382 JAR tool from OpenJDK built using free software only.
383
384 JAR is an archiver used to merge Java classes into a single library.
385
386 %description jar -l pl.UTF-8
387 Narzędzie jar z OpenJDK zbudowane przy uzyciu wyłącznie wolnego
388 oprogramowania.
389
390 JAR jest narzędziem pozwalającym wykonywać podstawowe operacje na
391 archiwach javy .jar takie jak na przykład tworzenie lub rozpakowywanie
392 archiwów.
393
394 %package appletviewer
395 Summary:        OpenJDK and GNU Classpath code - appletviewer tool
396 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie appletviewer
397 Group:          Development/Languages/Java
398 Requires:       %{name}-jdk-base = %{version}-%{release}
399 Requires:       %{name}-jre-X11 = %{version}-%{release}
400 Obsoletes:      icedtea6-appletviewer
401 Obsoletes:      icedtea7-appletviewer
402 Obsoletes:      java-sun-appletviewer
403 Obsoletes:      openjdk8-appletviewer
404 Obsoletes:      oracle-java7-appletviewer
405
406 %description appletviewer
407 Appletviewer from OpenJDK build using free software only.
408
409 %description appletviewer -l pl.UTF-8
410 Appletviewer pozwala uruchamiać aplety javy niezależnie od
411 przeglądarki www. Ten appletviewer pochodzi z zestawu narzędzi OpenJDK
412 i został zbudowany wyłącznie przy użyciu wolnego oprogramowania.
413
414 %package jdk-sources
415 Summary:        OpenJDK and GNU Classpath code - sources
416 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - kod źródłowy
417 Group:          Documentation
418 %if "%{_rpmversion}" >= "5"
419 BuildArch:      noarch
420 %endif
421
422 %description jdk-sources
423 Source code for the OpenJDK development kit and Java standard library.
424
425 %description jdk-sources -l pl.UTF-8
426 Kod źródłowy narzędzi programistycznych OpenJDK oraz standardowej
427 biblioteki Javy.
428
429 %package examples
430 Summary:        OpenJDK and GNU Classpath code - examples
431 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - przykłady
432 Group:          Documentation
433 %if "%{_rpmversion}" >= "5"
434 BuildArch:      noarch
435 %endif
436
437 %description examples
438 Code examples for OpenJDK.
439
440 %description examples -l pl.UTF-8
441 Przykłady dla OpenJDK.
442
443 %prep
444 %setup -qn icedtea-%{version}
445 %patch0 -p1
446 %patch1 -p1
447
448 # patches to applied to the extracted sources
449 install -d pld-patches
450 cp -p %{PATCH100} pld-patches
451 %ifarch x32
452 cp -p %{PATCH101} pld-patches
453 %endif
454 cp -p %{PATCH102} pld-patches
455
456 # let the build system extract the sources where it wants them
457 install -d drops
458 ln -s %{SOURCE1} openjdk.tar.xz
459 ln -s %{SOURCE2} corba.tar.xz
460 ln -s %{SOURCE3} jaxp.tar.xz
461 ln -s %{SOURCE4} jaxws.tar.xz
462 ln -s %{SOURCE5} jdk.tar.xz
463 ln -s %{SOURCE6} langtools.tar.xz
464 ln -s %{SOURCE7} hotspot.tar.xz
465 ln -s %{SOURCE8} nashorn.tar.xz
466
467 %build
468 # Make sure we have /proc mounted - otherwise idlc will fail later.
469 if [ ! -f /proc/self/stat ]; then
470         echo "You need to have /proc mounted in order to build this package!"
471         exit 1
472 fi
473
474 unset JAVA_HOME
475
476 mkdir -p build-bin
477 export PATH="$(pwd)/build-bin:$PATH"
478
479 # our /usr/bin/ant is quite broken and won't run properly
480 # in the bootstrap JDK environment prepared by IcedTea build process
481 cat >>build-bin/ant <<'EOF'
482 #!/bin/sh
483
484 exec java \
485         -classpath /usr/share/java/ant-launcher.jar \
486         -Dant.home=/usr/share/ant \
487         -Dant.lib=/usr/share/ant/lib \
488         org.apache.tools.ant.launch.Launcher \
489         "$@"
490 EOF
491 chmod a+x build-bin/ant
492
493 %{__aclocal}
494 %{__autoconf}
495 %{__automake}
496
497 # NOTE: the weird '--disable-bootstrap' is how it is supposed to be
498 # http://icedtea.classpath.org/wiki/CommonIssues#IcedTea7_building_on_systems_with_JDK_5_or_JDK_6
499 %configure \
500         WGET=%{_bindir}/wget \
501 %ifarch x32
502         --enable-zero \
503 %endif
504         --disable-downloading \
505         --with-jdk-home=%{java_home} \
506         --disable-bootstrap \
507         --enable-improved-font-rendering \
508         --enable-system-kerberos \
509         --enable-system-pcsc \
510         --enable-system-sctp \
511         --%{!?with_nss:dis}%{?with_nss:en}able-nss \
512         --%{!?with_sunec:dis}%{?with_sunec:en}able-sunec
513
514 %{__make} extract \
515         SHELL=/bin/bash \
516         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
517
518 %{__make} patch \
519         SHELL=/bin/bash \
520         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)"
521
522 # break here to prepare openjdk patches
523 #exit 1
524
525 cd openjdk/common/autoconf
526 sh autogen.sh
527 cd ../../..
528
529 %{__make} -j1 \
530         SHELL=/bin/bash \
531         DISABLE_HOTSPOT_OS_VERSION_CHECK=ok \
532         DISTRIBUTION_PATCHES="$(echo pld-patches/*.patch)" \
533         PRINTF=/bin/printf \
534         MAX_VM_MEMORY=1024
535
536 # smoke test
537 openjdk.build/jdk/bin/java -version
538
539 %{?with_cacerts:%{__sh} %{SOURCE10}}
540
541 # _jdkversion check
542 JDKVER=$(openjdk.build/jdk/bin/java -version 2>&1 | gawk -F'"' '/openjdk version/ { s=$2; gsub("_", ".", s); print s; } ')
543 if [ "$JDKVER" != "%{_jdkversion}" ]; then
544         echo "Please update _jdkversion macro to $JDKVER" >&2
545         exit 1
546 fi
547
548 %install
549 rm -rf $RPM_BUILD_ROOT
550
551 install -d $RPM_BUILD_ROOT{%{_bindir},%{dstdir},%{_mandir}/ja} \
552         $RPM_BUILD_ROOT{%{jvmjardir},%{_examplesdir}/%{name}-%{version},%{_javasrcdir}} \
553         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
554
555 # install the 'JDK image', it contains the JRE too
556 cp -a openjdk.build/images/j2sdk-image/* $RPM_BUILD_ROOT%{dstdir}
557
558 # convenience symlinks without version number
559 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}
560 ln -s %{jrereldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}-jre
561
562 ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/java
563
564 # move JDK sources and demo to /usr/src
565 mv $RPM_BUILD_ROOT%{dstdir}/demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
566 mv $RPM_BUILD_ROOT%{dstdir}/sample $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
567 mv $RPM_BUILD_ROOT%{dstdir}/src.zip $RPM_BUILD_ROOT%{_javasrcdir}/%{name}-jdk.zip
568
569 # move manual pages to its place
570 mv $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8/man1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
571 rmdir $RPM_BUILD_ROOT%{dstdir}/man/ja_JP.UTF-8
572 rm $RPM_BUILD_ROOT%{dstdir}/man/ja
573 mv $RPM_BUILD_ROOT%{dstdir}/man/man1 $RPM_BUILD_ROOT%{_mandir}/man1
574 rmdir $RPM_BUILD_ROOT%{dstdir}/man
575
576 # replace duplicates with symlinks, link to %{_bindir}
577 for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
578         filename=$(basename $path)
579         if diff -q "$path" "$RPM_BUILD_ROOT%{jredir}/bin/$filename" > /dev/null; then
580                 ln -sf "../jre/bin/$filename" "$path"
581                 ln -sf "%{jredir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
582         else
583                 ln -sf "%{dstdir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
584         fi
585 done
586 ln -sf ../jre/lib/jexec $RPM_BUILD_ROOT%{dstdir}/lib/jexec
587
588 # keep configuration in /etc (not all *.properties go there)
589 for config in management security content-types.properties \
590                 logging.properties net.properties sound.properties; do
591
592         mv $RPM_BUILD_ROOT%{jredir}/lib/$config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$config
593         ln -s %{_sysconfdir}/%{name}/$config $RPM_BUILD_ROOT%{jredir}/lib/$config
594 done
595
596 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jsse.jar
597 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jcert.jar
598 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jnet.jar
599 ln -sf %{jredir}/lib/jce.jar $RPM_BUILD_ROOT%{jvmjardir}/jce.jar
600 for f in jndi jndi-ldap jndi-cos jndi-rmi jaas jdbc-stdext jdbc-stdext-3.0 \
601         sasl jaxp_parser_impl jaxp_transform_impl jaxp jmx activation xml-commons-apis \
602         jndi-dns jndi-rmi; do
603         ln -sf %{jredir}/lib/rt.jar $RPM_BUILD_ROOT%{jvmjardir}/$f.jar
604 done
605
606 # some apps (like opera) looks for it in different place
607 ln -s server/libjvm.so $RPM_BUILD_ROOT%{jredir}/lib/%{jre_arch}/libjvm.so
608
609 %{__rm} $RPM_BUILD_ROOT%{dstdir}/{,jre/}{ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README}
610
611 %{?with_cacerts:install cacerts $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/security}
612
613 %clean
614 rm -rf $RPM_BUILD_ROOT
615
616 %files
617 %defattr(644,root,root,755)
618 %doc AUTHORS ChangeLog HACKING NEWS README
619
620 %files jdk
621 %defattr(644,root,root,755)
622 %attr(755,root,root) %{_bindir}/extcheck
623 %attr(755,root,root) %{_bindir}/idlj
624 %attr(755,root,root) %{_bindir}/jarsigner
625 %attr(755,root,root) %{_bindir}/java-rmi.cgi
626 %attr(755,root,root) %{_bindir}/javac
627 %attr(755,root,root) %{_bindir}/javadoc
628 %attr(755,root,root) %{_bindir}/javah
629 %attr(755,root,root) %{_bindir}/javap
630 %attr(755,root,root) %{_bindir}/jcmd
631 %attr(755,root,root) %{_bindir}/jconsole
632 %attr(755,root,root) %{_bindir}/jdb
633 %attr(755,root,root) %{_bindir}/jdeps
634 %attr(755,root,root) %{_bindir}/jhat
635 %attr(755,root,root) %{_bindir}/jinfo
636 %attr(755,root,root) %{_bindir}/jjs
637 %attr(755,root,root) %{_bindir}/jmap
638 %attr(755,root,root) %{_bindir}/jps
639 %attr(755,root,root) %{_bindir}/jrunscript
640 %attr(755,root,root) %{_bindir}/jsadebugd
641 %attr(755,root,root) %{_bindir}/jstack
642 %attr(755,root,root) %{_bindir}/jstat
643 %attr(755,root,root) %{_bindir}/jstatd
644 %attr(755,root,root) %{_bindir}/native2ascii
645 %attr(755,root,root) %{_bindir}/rmic
646 %attr(755,root,root) %{_bindir}/schemagen
647 %attr(755,root,root) %{_bindir}/serialver
648 %attr(755,root,root) %{_bindir}/wsgen
649 %attr(755,root,root) %{_bindir}/wsimport
650 %attr(755,root,root) %{_bindir}/xjc
651 %{_mandir}/man1/extcheck.1*
652 %{_mandir}/man1/idlj.1*
653 %{_mandir}/man1/jarsigner.1*
654 %{_mandir}/man1/javac.1*
655 %{_mandir}/man1/javadoc.1*
656 %{_mandir}/man1/javah.1*
657 %{_mandir}/man1/javap.1*
658 %{_mandir}/man1/jcmd.1*
659 %{_mandir}/man1/jconsole.1*
660 %{_mandir}/man1/jdb.1*
661 %{_mandir}/man1/jdeps.1*
662 %{_mandir}/man1/jhat.1*
663 %{_mandir}/man1/jinfo.1*
664 %{_mandir}/man1/jjs.1*
665 %{_mandir}/man1/jmap.1*
666 %{_mandir}/man1/jps.1*
667 %{_mandir}/man1/jrunscript.1*
668 %{_mandir}/man1/jsadebugd.1*
669 %{_mandir}/man1/jstack.1*
670 %{_mandir}/man1/jstat.1*
671 %{_mandir}/man1/jstatd.1*
672 %{_mandir}/man1/native2ascii.1*
673 %{_mandir}/man1/schemagen.1*
674 %{_mandir}/man1/serialver.1*
675 %{_mandir}/man1/rmic.1*
676 %{_mandir}/man1/wsgen.1*
677 %{_mandir}/man1/wsimport.1*
678 %{_mandir}/man1/xjc.1*
679 %lang(ja) %{_mandir}/ja/man1/extcheck.1*
680 %lang(ja) %{_mandir}/ja/man1/idlj.1*
681 %lang(ja) %{_mandir}/ja/man1/jarsigner.1*
682 %lang(ja) %{_mandir}/ja/man1/javac.1*
683 %lang(ja) %{_mandir}/ja/man1/javadoc.1*
684 %lang(ja) %{_mandir}/ja/man1/javah.1*
685 %lang(ja) %{_mandir}/ja/man1/javap.1*
686 %lang(ja) %{_mandir}/ja/man1/jcmd.1*
687 %lang(ja) %{_mandir}/ja/man1/jconsole.1*
688 %lang(ja) %{_mandir}/ja/man1/jdb.1*
689 %lang(ja) %{_mandir}/ja/man1/jdeps.1*
690 %lang(ja) %{_mandir}/ja/man1/jhat.1*
691 %lang(ja) %{_mandir}/ja/man1/jinfo.1*
692 %lang(ja) %{_mandir}/ja/man1/jjs.1*
693 %lang(ja) %{_mandir}/ja/man1/jmap.1*
694 %lang(ja) %{_mandir}/ja/man1/jps.1*
695 %lang(ja) %{_mandir}/ja/man1/jrunscript.1*
696 %lang(ja) %{_mandir}/ja/man1/jsadebugd.1*
697 %lang(ja) %{_mandir}/ja/man1/jstack.1*
698 %lang(ja) %{_mandir}/ja/man1/jstat.1*
699 %lang(ja) %{_mandir}/ja/man1/jstatd.1*
700 %lang(ja) %{_mandir}/ja/man1/native2ascii.1*
701 %lang(ja) %{_mandir}/ja/man1/schemagen.1*
702 %lang(ja) %{_mandir}/ja/man1/serialver.1*
703 %lang(ja) %{_mandir}/ja/man1/rmic.1*
704 %lang(ja) %{_mandir}/ja/man1/wsgen.1*
705 %lang(ja) %{_mandir}/ja/man1/wsimport.1*
706 %lang(ja) %{_mandir}/ja/man1/xjc.1*
707
708 %files jdk-base
709 %defattr(644,root,root,755)
710 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
711 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
712 %dir %{dstdir}
713 %{_jvmdir}/%{name}
714 %dir %{dstdir}/bin
715 %attr(755,root,root) %{dstdir}/bin/appletviewer
716 %attr(755,root,root) %{dstdir}/bin/extcheck
717 %attr(755,root,root) %{dstdir}/bin/idlj
718 %attr(755,root,root) %{dstdir}/bin/jar
719 %attr(755,root,root) %{dstdir}/bin/jarsigner
720 %attr(755,root,root) %{dstdir}/bin/java-rmi.cgi
721 %attr(755,root,root) %{dstdir}/bin/javac
722 %attr(755,root,root) %{dstdir}/bin/javadoc
723 %attr(755,root,root) %{dstdir}/bin/javah
724 %attr(755,root,root) %{dstdir}/bin/javap
725 %attr(755,root,root) %{dstdir}/bin/jconsole
726 %attr(755,root,root) %{dstdir}/bin/jcmd
727 %attr(755,root,root) %{dstdir}/bin/jdb
728 %attr(755,root,root) %{dstdir}/bin/jdeps
729 %attr(755,root,root) %{dstdir}/bin/jhat
730 %attr(755,root,root) %{dstdir}/bin/jinfo
731 %attr(755,root,root) %{dstdir}/bin/jmap
732 %attr(755,root,root) %{dstdir}/bin/jps
733 %attr(755,root,root) %{dstdir}/bin/jrunscript
734 %attr(755,root,root) %{dstdir}/bin/jsadebugd
735 %attr(755,root,root) %{dstdir}/bin/jstack
736 %attr(755,root,root) %{dstdir}/bin/jstat
737 %attr(755,root,root) %{dstdir}/bin/jstatd
738 %attr(755,root,root) %{dstdir}/bin/native2ascii
739 %attr(755,root,root) %{dstdir}/bin/rmic
740 %attr(755,root,root) %{dstdir}/bin/schemagen
741 %attr(755,root,root) %{dstdir}/bin/serialver
742 %attr(755,root,root) %{dstdir}/bin/wsgen
743 %attr(755,root,root) %{dstdir}/bin/wsimport
744 %attr(755,root,root) %{dstdir}/bin/xjc
745 %{dstdir}/include
746 %dir %{dstdir}/lib
747 %{dstdir}/lib/ct.sym
748 %{dstdir}/lib/dt.jar
749 %{dstdir}/lib/ir.idl
750 %{dstdir}/lib/jconsole.jar
751 %attr(755,root,root) %{dstdir}/lib/jexec
752 %{dstdir}/lib/orb.idl
753 %ifnarch x32
754 %{dstdir}/lib/sa-jdi.jar
755 %endif
756 %{dstdir}/lib/tools.jar
757 %dir %{dstdir}/lib/%{jre_arch}
758 %dir %{dstdir}/lib/%{jre_arch}/jli
759 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/jli/*.so
760 %{dstdir}/tapset
761
762 %files jre
763 %defattr(644,root,root,755)
764 %attr(755,root,root) %{_bindir}/clhsdb
765 %attr(755,root,root) %{_bindir}/java
766 %attr(755,root,root) %{_bindir}/keytool
767 %attr(755,root,root) %{_bindir}/orbd
768 %attr(755,root,root) %{_bindir}/pack200
769 %attr(755,root,root) %{_bindir}/rmid
770 %attr(755,root,root) %{_bindir}/rmiregistry
771 %attr(755,root,root) %{_bindir}/servertool
772 %attr(755,root,root) %{_bindir}/tnameserv
773 %attr(755,root,root) %{_bindir}/unpack200
774 %{_mandir}/man1/java.1*
775 %{_mandir}/man1/keytool.1*
776 %{_mandir}/man1/orbd.1*
777 %{_mandir}/man1/pack200.1*
778 %{_mandir}/man1/rmid.1*
779 %{_mandir}/man1/rmiregistry.1*
780 %{_mandir}/man1/servertool.1*
781 %{_mandir}/man1/tnameserv.1*
782 %{_mandir}/man1/unpack200.1*
783 %lang(ja) %{_mandir}/ja/man1/java.1*
784 %lang(ja) %{_mandir}/ja/man1/keytool.1*
785 %lang(ja) %{_mandir}/ja/man1/orbd.1*
786 %lang(ja) %{_mandir}/ja/man1/pack200.1*
787 %lang(ja) %{_mandir}/ja/man1/rmid.1*
788 %lang(ja) %{_mandir}/ja/man1/rmiregistry.1*
789 %lang(ja) %{_mandir}/ja/man1/servertool.1*
790 %lang(ja) %{_mandir}/ja/man1/tnameserv.1*
791 %lang(ja) %{_mandir}/ja/man1/unpack200.1*
792 %{_jvmdir}/java
793
794 %files jre-base
795 %defattr(644,root,root,755)
796 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
797 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
798 %dir %{_sysconfdir}/%{name}
799 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
800 %dir %{dstdir}
801 %{dstdir}/release
802 %dir %{jredir}
803 %{_jvmdir}/%{name}-jre
804 %dir %{jredir}/bin
805 %dir %{dstdir}/bin
806 %attr(755,root,root) %{dstdir}/bin/clhsdb
807 %attr(755,root,root) %{jredir}/bin/java
808 %attr(755,root,root) %{dstdir}/bin/java
809 %attr(755,root,root) %{jredir}/bin/jjs
810 %attr(755,root,root) %{dstdir}/bin/jjs
811 %attr(755,root,root) %{jredir}/bin/keytool
812 %attr(755,root,root) %{dstdir}/bin/keytool
813 %attr(755,root,root) %{jredir}/bin/orbd
814 %attr(755,root,root) %{dstdir}/bin/orbd
815 %attr(755,root,root) %{jredir}/bin/pack200
816 %attr(755,root,root) %{dstdir}/bin/pack200
817 %attr(755,root,root) %{jredir}/bin/rmid
818 %attr(755,root,root) %{dstdir}/bin/rmid
819 %attr(755,root,root) %{jredir}/bin/rmiregistry
820 %attr(755,root,root) %{dstdir}/bin/rmiregistry
821 %attr(755,root,root) %{jredir}/bin/servertool
822 %attr(755,root,root) %{dstdir}/bin/servertool
823 %attr(755,root,root) %{jredir}/bin/tnameserv
824 %attr(755,root,root) %{dstdir}/bin/tnameserv
825 %attr(755,root,root) %{jredir}/bin/unpack200
826 %attr(755,root,root) %{dstdir}/bin/unpack200
827 %dir %{jredir}/lib
828 %dir %{jredir}/lib/applet
829 %{jredir}/lib/cmm
830 %{jredir}/lib/ext
831 %dir %{jredir}/lib/%{jre_arch}
832 %dir %{jredir}/lib/%{jre_arch}/jli
833 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/jli/*.so
834 %dir %{jredir}/lib/%{jre_arch}/server
835 %{jredir}/lib/%{jre_arch}/server/Xusage.txt
836 %ifnarch x32
837 %{jredir}/lib/%{jre_arch}/server/classes.jsa
838 %endif
839 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/server/*.so
840 %{jredir}/lib/%{jre_arch}/jvm.cfg
841 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libattach.so
842 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt.so
843 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_headless.so
844 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libdt_socket.so
845 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libhprof.so
846 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libinstrument.so
847 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2gss.so
848 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2krb5.so
849 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pcsc.so
850 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pkcs11.so
851 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2sctp.so
852 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjaas_unix.so
853 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava.so
854 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavajpeg.so
855 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavalcms.so
856 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava_crw_demo.so
857 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjdwp.so
858 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsdt.so
859 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsig.so
860 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsound.so
861 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjvm.so
862 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmanagement.so
863 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmlib_image.so
864 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnet.so
865 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnio.so
866 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnpt.so
867 %ifnarch x32
868 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsaproc.so
869 %endif
870 %{?with_sunec:%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsunec.so}
871 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libunpack.so
872 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libverify.so
873 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libzip.so
874 %{jredir}/lib/images
875 %{jredir}/lib/management
876 %{jredir}/lib/security
877 %{jredir}/lib/hijrah-config-umalqura.properties
878 %{jredir}/lib/tzdb.dat
879 %{jredir}/lib/tz.properties
880
881 %if %{with webstart}
882 %{jredir}/lib/about.jar
883 %{jredir}/lib/about.jnlp
884 %endif
885 %{jredir}/lib/calendars.properties
886 %{jredir}/lib/charsets.jar
887 %{jredir}/lib/classlist
888 %{jredir}/lib/content-types.properties
889 %{jredir}/lib/currency.data
890 %{jredir}/lib/flavormap.properties
891 %{jredir}/lib/jce.jar
892 %attr(755, root, root) %{jredir}/lib/jexec
893 %{jredir}/lib/jsse.jar
894 %{jredir}/lib/jvm.hprof.txt
895 %{jredir}/lib/logging.properties
896 %{jredir}/lib/management-agent.jar
897 %{jredir}/lib/meta-index
898 %{jredir}/lib/net.properties
899 %{jredir}/lib/psfont.properties.ja
900 %{jredir}/lib/psfontj2d.properties
901 %{jredir}/lib/resources.jar
902 %{jredir}/lib/rt.jar
903 %{jredir}/lib/sound.properties
904 %{jvmjardir}
905
906 %files jre-X11
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/hsdb
909 %attr(755,root,root) %{_bindir}/policytool
910 %{_mandir}/man1/policytool.1*
911 %lang(ja) %{_mandir}/ja/man1/policytool.1*
912
913 %files jre-base-X11
914 %defattr(644,root,root,755)
915 %attr(755,root,root) %{dstdir}/bin/hsdb
916 %attr(755,root,root) %{jredir}/bin/policytool
917 %attr(755,root,root) %{dstdir}/bin/policytool
918 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_xawt.so
919 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/libjawt.so
920 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjawt.so
921 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsplashscreen.so
922
923 %files jre-base-alsa
924 %defattr(644,root,root,755)
925 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsoundalsa.so
926
927 %files jre-base-freetype
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libfontmanager.so
930
931 %files jre-base-gtk
932 %defattr(644,root,root,755)
933
934 %files jar
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_bindir}/jar
937 %{_mandir}/man1/jar.1*
938 %lang(ja) %{_mandir}/ja/man1/jar.1*
939
940 %files appletviewer
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_bindir}/appletviewer
943 %{_mandir}/man1/appletviewer.1*
944 %lang(ja) %{_mandir}/ja/man1/appletviewer.1*
945
946 %files jdk-sources
947 %defattr(644,root,root,755)
948 %{_javasrcdir}/%{name}-jdk.zip
949
950 %files examples
951 %defattr(644,root,root,755)
952 %{_examplesdir}/%{name}-%{version}
This page took 0.081285 seconds and 2 git commands to generate.