]> git.pld-linux.org Git - packages/icedtea8.git/blob - icedtea8.spec
- rel up
[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.222
30
31 Summary:        OpenJDK and GNU Classpath code
32 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath
33 Name:           icedtea8
34 Version:        3.13.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:  c8ca65f40e0a721384b4cc93a0cc404e
40 Source1:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/openjdk.tar.xz
41 # Source1-md5:  6ca0d831f2e7c7aa2c7f90005eb6bb42
42 Source2:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/corba.tar.xz
43 # Source2-md5:  bb3c3825352ca50e104d8e871f72aed5
44 Source3:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxp.tar.xz
45 # Source3-md5:  d18fe62f73cfeb403db205a4fb5950e3
46 Source4:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jaxws.tar.xz
47 # Source4-md5:  e0521c962a051790636bdd5c8dc3d098
48 Source5:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/jdk.tar.xz
49 # Source5-md5:  32928a839f7d711c09ff03a11fd60036
50 Source6:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/langtools.tar.xz
51 # Source6-md5:  3304542bfcd2fa2474ac489e16ee0e64
52 Source7:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/hotspot.tar.xz
53 # Source7-md5:  f2625e6b7e3f555af155533e8239ad9a
54 Source8:        http://icedtea.wildebeest.org/download/drops/icedtea8/%{version}/nashorn.tar.xz
55 # Source8-md5:  51b622871d03b271a85bbdff465eb92e
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 Patch2:         %{name}-bashisms.patch
61 # 100-... patches applied to the extracted sources
62 Patch100:       %{name}-libpath.patch
63 Patch101:       %{name}-x32.patch
64 Patch102:       openjdk-heimdal.patch
65 URL:            http://icedtea.classpath.org/wiki/Main_Page
66 BuildRequires:  alsa-lib-devel
67 BuildRequires:  ant
68 BuildRequires:  autoconf
69 BuildRequires:  automake
70 BuildRequires:  bash
71 %{?with_cacerts:BuildRequires:  ca-certificates-update}
72 BuildRequires:  cups-devel
73 BuildRequires:  /usr/bin/jar
74 BuildRequires:  fontconfig-devel
75 BuildRequires:  freetype-devel >= 2.3
76 BuildRequires:  gawk
77 BuildRequires:  giflib-devel >= 5.1
78 BuildRequires:  glib2-devel
79 BuildRequires:  glibc-misc
80 BuildRequires:  gtk+2-devel
81 BuildRequires:  heimdal-devel
82 BuildRequires:  java-rhino
83 BuildRequires:  java-xalan
84 %buildrequires_jdk
85 BuildRequires:  lcms2-devel
86 BuildRequires:  libffi-devel
87 BuildRequires:  libjpeg-devel >= 6b
88 BuildRequires:  pcsc-lite-devel
89 BuildRequires:  libpng-devel
90 BuildRequires:  libsctp-devel
91 BuildRequires:  libstdc++-static
92 BuildRequires:  lsb-release
93 %{?with_nss:BuildRequires:      nss-devel >= 1:3.17.2-5}
94 BuildRequires:  paxctl
95 BuildRequires:  pkgconfig
96 BuildRequires:  rpmbuild(macros) >= 1.557
97 BuildRequires:  systemtap-sdt-devel >= 3.2
98 BuildRequires:  unzip
99 BuildRequires:  util-linux
100 BuildRequires:  xorg-lib-libX11-devel
101 BuildRequires:  xorg-lib-libXau-devel
102 BuildRequires:  xorg-lib-libXcomposite-devel
103 BuildRequires:  xorg-lib-libXdmcp-devel
104 BuildRequires:  xorg-lib-libXext-devel
105 BuildRequires:  xorg-lib-libXi-devel
106 BuildRequires:  xorg-lib-libXinerama-devel
107 BuildRequires:  xorg-lib-libXp-devel
108 BuildRequires:  xorg-lib-libXrender-devel
109 BuildRequires:  xorg-lib-libXt-devel
110 BuildRequires:  xorg-lib-libXtst-devel
111 BuildRequires:  xorg-proto-printproto-devel
112 BuildRequires:  xorg-proto-xproto-devel
113 BuildRequires:  zip
114 BuildRequires:  zlib-devel
115 Requires:       %{name}-appletviewer = %{version}-%{release}
116 Requires:       %{name}-jdk = %{version}-%{release}
117 Suggests:       %{name}-jre-X11
118 Suggests:       icedtea-web
119 Obsoletes:      icedtea6
120 Obsoletes:      icedtea7
121 Obsoletes:      java5-sun
122 Obsoletes:      java5-sun-jre
123 Obsoletes:      java5-sun-jre-jdbc
124 Obsoletes:      java5-sun-jre-X11
125 Obsoletes:      java5-sun-tools
126 Obsoletes:      java-gcj-compat
127 Obsoletes:      java-gcj-compat-devel
128 Obsoletes:      java-sun
129 Obsoletes:      java-sun-demos
130 Obsoletes:      java-sun-jre
131 Obsoletes:      java-sun-jre-alsa
132 Obsoletes:      java-sun-jre-jdbc
133 Obsoletes:      java-sun-jre-X11
134 Obsoletes:      java-sun-tools
135 Obsoletes:      openjdk8
136 Obsoletes:      oracle-java7
137 Obsoletes:      oracle-java7-jre
138 Obsoletes:      oracle-java7-jre-alsa
139 Obsoletes:      oracle-java7-jre-jdbc
140 Obsoletes:      oracle-java7-jre-X11
141 Obsoletes:      oracle-java7-tools
142 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
143
144 %define         dstreldir       %{name}-%{version}
145 %define         dstdir          %{_jvmdir}/%{dstreldir}
146 %define         jrereldir       %{dstreldir}/jre
147 %define         jredir          %{_jvmdir}/%{jrereldir}
148 %define         jvmjardir       %{_jvmjardir}/%{name}-%{version}
149
150 %ifarch %{x8664}
151 %define         jre_arch        amd64
152 %endif
153 %ifarch %{ix86}
154 %define         jre_arch        i386
155 %endif
156 %ifarch x32
157 %define         jre_arch        x32
158 %endif
159
160 # to break artificial subpackage dependency loops
161 %define         _noautoreq      'libmawt.so' java\\\\(ClassDataVersion\\\\)
162
163 %description
164 The IcedTea project provides a harness to build the source code from
165 http://openjdk.java.net/ using Free Software build tools and provides
166 replacements libraries for the binary plugs with code from the GNU
167 Classpath project.
168
169 This is a meta-package which provides, by its dependencies, all the
170 IcedTea6 components including the OpenJDK, Java 6 developement kit and
171 runtime environment.
172
173 %description -l pl.UTF-8
174 Projekt IcedTea daje możliwość kompilacji kodu źródłowego z
175 http://openjdk.java.net/ przy użyciu wolnodostępnych narzędzi oraz
176 dostarcza zamienniki biblioteczne binarnych wtyczek pochodzące z
177 projektu GNU Classpath.
178
179 To jest meta-pakiet, który, za pośrednictwem zależności, dostarcza
180 wszystkie komponenty IcedTea7, w tym środowisko programistyczne
181 (OpenJDK) i uruchomieniowe (JRE).
182
183 %package jdk
184 Summary:        OpenJDK and GNU Classpath code - software development kit
185 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
186 Group:          Development/Languages/Java
187 Requires:       %{name}-jar = %{version}-%{release}
188 Requires:       %{name}-jdk-base = %{version}-%{release}
189 Requires:       %{name}-jre = %{version}-%{release}
190 Provides:       j2sdk = %{_jdkversion}
191 Provides:       jdk = %{_jdkversion}
192 Obsoletes:      blackdown-java-sdk
193 Obsoletes:      ibm-java
194 Obsoletes:      icedtea6-jdk
195 Obsoletes:      icedtea7-jdk
196 Obsoletes:      java-blackdown
197 Obsoletes:      java-gcj-compat-devel
198 Obsoletes:      java-sun
199 Obsoletes:      java5-sun
200 Obsoletes:      openjdk8-jdk
201 Obsoletes:      oracle-java7
202 Obsoletes:      jdk
203 Obsoletes:      kaffe
204
205 %description jdk
206 This package symlinks OpenJDK development tools provided by
207 %{name}-jdk-base to system-wide directories like %{_bindir}, making
208 IcedTea6 default JDK.
209
210 %description jdk -l pl.UTF-8
211 Ten pakiet tworzy symboliczne dowiązania do narzędzi programistycznych
212 OpenJDK, dostarczanych przez pakiet %{name}-jdk-base, w standardowych
213 systemowych ścieżkach takich jak %{_bindir}, sprawiając tym samym, że
214 IcedTea6 staje się domyślnym JDK w systemie.
215
216 %package jdk-base
217 Summary:        OpenJDK and GNU Classpath code - software development kit
218 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko programistyczne
219 Group:          Development/Languages/Java
220 Requires:       %{name}-jre-base = %{version}-%{release}
221 Requires:       jpackage-utils >= 0:1.7.5-4
222 Provides:       jdk(%{name})
223
224 %description jdk-base
225 OpenJDK development tools built using free software only.
226
227 %description jdk-base -l pl.UTF-8
228 OpenJDK skompilowane wyłącznie przy użyciu wolnego oprogramowania.
229
230 %package jre
231 Summary:        OpenJDK and GNU Classpath code - runtime environment
232 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
233 Group:          Development/Languages/Java
234 Requires:       %{name}-jre-base = %{version}-%{release}
235 Requires:       nss >= 1:3.13.4
236 # Require zoneinfo data provided by java-tzdata subpackage.
237 Requires:       java-tzdata
238 Provides:       java
239 Provides:       java(ClassDataVersion) = %{_classdataversion}
240 Provides:       java(jaas) = %{version}
241 Provides:       java(jaf) = 1.1.1
242 Provides:       java(jaxp) = 1.3
243 Provides:       java(jaxp_parser_impl)
244 Provides:       java(jce) = %{version}
245 Provides:       java(jdbc-stdext) = %{version}
246 Provides:       java(jdbc-stdext) = 3.0
247 Provides:       java(jmx) = 1.4
248 Provides:       java(jndi) = %{version}
249 Provides:       java(jsse) = %{version}
250 Provides:       java1.4
251 Provides:       jre = %{_jdkversion}
252 Obsoletes:      icedtea6-jre
253 Obsoletes:      icedtea7-jre
254 Obsoletes:      java(jaas)
255 Obsoletes:      java(jaf)
256 Obsoletes:      java(jaxp)
257 Obsoletes:      java(jce)
258 Obsoletes:      java(jdbc-stdext)
259 Obsoletes:      java(jdbc-stdext)
260 Obsoletes:      java(jmx)
261 Obsoletes:      java(jndi)
262 Obsoletes:      java(jsse)
263 Obsoletes:      java-gcj-compat
264 Obsoletes:      java-sun-jre
265 Obsoletes:      java5-sun-jre
266 Obsoletes:      openjdk8-jre
267 Obsoletes:      oracle-java7-jre
268 Obsoletes:      jre
269
270 %description jre
271 This package symlinks OpenJDK runtime environment tools provided by
272 %{name}-jre-base to system-wide directories like %{_bindir}, making
273 IcedTea6 default JRE.
274
275 %description jre -l pl.UTF-8
276 Ten pakiet tworzy symboliczne dowiązania do środowiska
277 uruchomieniowego OpenJDK, dostarczanych przez pakiet %{name}-jre-base,
278 w standardowych systemowych ścieżkach takich jak %{_bindir},
279 sprawiając tym samym, że IcedTea7 staje się domyślnym JRE w systemie.
280
281 %package jre-X11
282 Summary:        IcedTea7 OpenJDK - runtime environment - X11 support
283 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa X11
284 Group:          Development/Languages/Java
285 Requires:       %{name}-jre = %{version}-%{release}
286 Requires:       %{name}-jre-base-X11 = %{version}-%{release}
287 Provides:       jre-X11 = %{_jdkversion}
288 Obsoletes:      icedtea6-jre-X11
289 Obsoletes:      java-sun-jre-X11
290 Obsoletes:      openjdk8-jre-X11
291 Obsoletes:      oracle-java7-jre-X11
292
293 %description jre-X11
294 X11 support for OpenJDK runtime environment built using free software
295 only.
296
297 %description jre-X11 -l pl.UTF-8
298 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
299 wolnego oprogramowania.
300
301 %package jre-base
302 Summary:        OpenJDK and GNU Classpath code - runtime environment
303 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - środowisko uruchomieniowe
304 Group:          Development/Languages/Java
305 Requires:       jpackage-utils >= 0:1.7.5-4
306 Provides:       jre(%{name})
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
322 %description jre-base-X11
323 X11 support for OpenJDK runtime environment built using free software
324 only.
325
326 %description jre-base-X11 -l pl.UTF-8
327 Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
328 wolnego oprogramowania.
329
330 %package jre-base-alsa
331 Summary:        IcedTea7 OpenJDK - runtime environment - ALSA support
332 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa ALSA
333 Group:          Development/Languages/Java
334 Requires:       %{name}-jre-base = %{version}-%{release}
335
336 %description jre-base-alsa
337 ALSA sound support for OpenJDK runtime environment build using free
338 software only.
339
340 %description jre-base-alsa -l pl.UTF-8
341 Biblioteki ALSA rozszerzające środowisko OpenJDK o obsługę dźwięku
342 zbudowane przy uzyciu wyłącznie wolnego oprogramowania.
343
344 %package jre-base-freetype
345 Summary:        IcedTea7 OpenJDK - runtime environment - font support
346 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa fontów
347 Group:          Development/Languages/Java
348 Requires:       %{name}-jre-base = %{version}-%{release}
349
350 %description jre-base-freetype
351 Font handling library for OpenJDK runtime environment built using free
352 software only.
353
354 %description jre-base-freetype -l pl.UTF-8
355 Biblioteki obsługi czcionek dla OpenJDK zbudowane wyłącznie przy
356 użyciu wolnego oprogramowania.
357
358 %package jre-base-gtk
359 Summary:        IcedTea7 OpenJDK - runtime environment - GTK support
360 Summary(pl.UTF-8):      IcedTea7 OpenJDK - środowisko uruchomieniowe - obsługa GTK
361 Group:          Development/Languages/Java
362 Requires:       %{name}-jre-base = %{version}-%{release}
363
364 %description jre-base-gtk
365 GTK support for OpenJDK runtime environment.
366
367 %description jre-base-gtk -l pl.UTF-8
368 Biblioteki GTK dla OpenJDK.
369
370 %package jar
371 Summary:        OpenJDK and GNU Classpath code - JAR tool
372 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie JAR
373 Group:          Development/Languages/Java
374 Requires:       %{name}-jdk-base = %{version}-%{release}
375 Provides:       jar
376 Obsoletes:      fastjar
377 Obsoletes:      icedtea6-jar
378 Obsoletes:      icedtea7-jar
379 Obsoletes:      openjdk8-jar
380 Obsoletes:      jar
381
382 %description jar
383 JAR tool from OpenJDK built using free software only.
384
385 JAR is an archiver used to merge Java classes into a single library.
386
387 %description jar -l pl.UTF-8
388 Narzędzie jar z OpenJDK zbudowane przy uzyciu wyłącznie wolnego
389 oprogramowania.
390
391 JAR jest narzędziem pozwalającym wykonywać podstawowe operacje na
392 archiwach javy .jar takie jak na przykład tworzenie lub rozpakowywanie
393 archiwów.
394
395 %package appletviewer
396 Summary:        OpenJDK and GNU Classpath code - appletviewer tool
397 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - narzędzie appletviewer
398 Group:          Development/Languages/Java
399 Requires:       %{name}-jdk-base = %{version}-%{release}
400 Requires:       %{name}-jre-X11 = %{version}-%{release}
401 Obsoletes:      icedtea6-appletviewer
402 Obsoletes:      icedtea7-appletviewer
403 Obsoletes:      java-sun-appletviewer
404 Obsoletes:      openjdk8-appletviewer
405 Obsoletes:      oracle-java7-appletviewer
406
407 %description appletviewer
408 Appletviewer from OpenJDK build using free software only.
409
410 %description appletviewer -l pl.UTF-8
411 Appletviewer pozwala uruchamiać aplety javy niezależnie od
412 przeglądarki www. Ten appletviewer pochodzi z zestawu narzędzi OpenJDK
413 i został zbudowany wyłącznie przy użyciu wolnego oprogramowania.
414
415 %package jdk-sources
416 Summary:        OpenJDK and GNU Classpath code - sources
417 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - kod źródłowy
418 Group:          Documentation
419 %if "%{_rpmversion}" >= "5"
420 BuildArch:      noarch
421 %endif
422
423 %description jdk-sources
424 Source code for the OpenJDK development kit and Java standard library.
425
426 %description jdk-sources -l pl.UTF-8
427 Kod źródłowy narzędzi programistycznych OpenJDK oraz standardowej
428 biblioteki Javy.
429
430 %package examples
431 Summary:        OpenJDK and GNU Classpath code - examples
432 Summary(pl.UTF-8):      Kod OpenJDK i GNU Classpath - przykłady
433 Group:          Documentation
434 %if "%{_rpmversion}" >= "5"
435 BuildArch:      noarch
436 %endif
437
438 %description examples
439 Code examples for OpenJDK.
440
441 %description examples -l pl.UTF-8
442 Przykłady dla OpenJDK.
443
444 %prep
445 %setup -qn icedtea-%{version}
446 %patch0 -p1
447 %patch1 -p1
448 %patch2 -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 rm $RPM_BUILD_ROOT%{dstdir}/jre/bin/{cl,}hsdb
578
579 # replace duplicates with symlinks, link to %{_bindir}
580 for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
581         filename=$(basename $path)
582         if diff -q "$path" "$RPM_BUILD_ROOT%{jredir}/bin/$filename" > /dev/null; then
583                 ln -sf "../jre/bin/$filename" "$path"
584                 ln -sf "%{jredir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
585         else
586                 ln -sf "%{dstdir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
587         fi
588 done
589 ln -sf ../jre/lib/jexec $RPM_BUILD_ROOT%{dstdir}/lib/jexec
590
591 # keep configuration in /etc (not all *.properties go there)
592 for config in management security content-types.properties \
593                 logging.properties net.properties sound.properties; do
594
595         mv $RPM_BUILD_ROOT%{jredir}/lib/$config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$config
596         ln -s %{_sysconfdir}/%{name}/$config $RPM_BUILD_ROOT%{jredir}/lib/$config
597 done
598
599 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jsse.jar
600 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jcert.jar
601 ln -sf %{jredir}/lib/jsse.jar $RPM_BUILD_ROOT%{jvmjardir}/jnet.jar
602 ln -sf %{jredir}/lib/jce.jar $RPM_BUILD_ROOT%{jvmjardir}/jce.jar
603 for f in jndi jndi-ldap jndi-cos jndi-rmi jaas jdbc-stdext jdbc-stdext-3.0 \
604         sasl jaxp_parser_impl jaxp_transform_impl jaxp jmx activation xml-commons-apis \
605         jndi-dns jndi-rmi; do
606         ln -sf %{jredir}/lib/rt.jar $RPM_BUILD_ROOT%{jvmjardir}/$f.jar
607 done
608
609 # some apps (like opera) looks for it in different place
610 ln -s server/libjvm.so $RPM_BUILD_ROOT%{jredir}/lib/%{jre_arch}/libjvm.so
611
612 %{__rm} $RPM_BUILD_ROOT%{dstdir}/{,jre/}{ASSEMBLY_EXCEPTION,LICENSE,THIRD_PARTY_README}
613
614 %{?with_cacerts:install cacerts $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/security}
615
616 %clean
617 rm -rf $RPM_BUILD_ROOT
618
619 %files
620 %defattr(644,root,root,755)
621 %doc AUTHORS ChangeLog HACKING NEWS README
622
623 %files jdk
624 %defattr(644,root,root,755)
625 %attr(755,root,root) %{_bindir}/extcheck
626 %attr(755,root,root) %{_bindir}/idlj
627 %attr(755,root,root) %{_bindir}/jarsigner
628 %attr(755,root,root) %{_bindir}/java-rmi.cgi
629 %attr(755,root,root) %{_bindir}/javac
630 %attr(755,root,root) %{_bindir}/javadoc
631 %attr(755,root,root) %{_bindir}/javah
632 %attr(755,root,root) %{_bindir}/javap
633 %attr(755,root,root) %{_bindir}/jcmd
634 %attr(755,root,root) %{_bindir}/jconsole
635 %attr(755,root,root) %{_bindir}/jdb
636 %attr(755,root,root) %{_bindir}/jdeps
637 %attr(755,root,root) %{_bindir}/jhat
638 %attr(755,root,root) %{_bindir}/jinfo
639 %attr(755,root,root) %{_bindir}/jjs
640 %attr(755,root,root) %{_bindir}/jmap
641 %attr(755,root,root) %{_bindir}/jps
642 %attr(755,root,root) %{_bindir}/jrunscript
643 %attr(755,root,root) %{_bindir}/jsadebugd
644 %attr(755,root,root) %{_bindir}/jstack
645 %attr(755,root,root) %{_bindir}/jstat
646 %attr(755,root,root) %{_bindir}/jstatd
647 %attr(755,root,root) %{_bindir}/native2ascii
648 %attr(755,root,root) %{_bindir}/rmic
649 %attr(755,root,root) %{_bindir}/schemagen
650 %attr(755,root,root) %{_bindir}/serialver
651 %attr(755,root,root) %{_bindir}/wsgen
652 %attr(755,root,root) %{_bindir}/wsimport
653 %attr(755,root,root) %{_bindir}/xjc
654 %{_mandir}/man1/extcheck.1*
655 %{_mandir}/man1/idlj.1*
656 %{_mandir}/man1/jarsigner.1*
657 %{_mandir}/man1/javac.1*
658 %{_mandir}/man1/javadoc.1*
659 %{_mandir}/man1/javah.1*
660 %{_mandir}/man1/javap.1*
661 %{_mandir}/man1/jcmd.1*
662 %{_mandir}/man1/jconsole.1*
663 %{_mandir}/man1/jdb.1*
664 %{_mandir}/man1/jdeps.1*
665 %{_mandir}/man1/jhat.1*
666 %{_mandir}/man1/jinfo.1*
667 %{_mandir}/man1/jjs.1*
668 %{_mandir}/man1/jmap.1*
669 %{_mandir}/man1/jps.1*
670 %{_mandir}/man1/jrunscript.1*
671 %{_mandir}/man1/jsadebugd.1*
672 %{_mandir}/man1/jstack.1*
673 %{_mandir}/man1/jstat.1*
674 %{_mandir}/man1/jstatd.1*
675 %{_mandir}/man1/native2ascii.1*
676 %{_mandir}/man1/schemagen.1*
677 %{_mandir}/man1/serialver.1*
678 %{_mandir}/man1/rmic.1*
679 %{_mandir}/man1/wsgen.1*
680 %{_mandir}/man1/wsimport.1*
681 %{_mandir}/man1/xjc.1*
682 %lang(ja) %{_mandir}/ja/man1/extcheck.1*
683 %lang(ja) %{_mandir}/ja/man1/idlj.1*
684 %lang(ja) %{_mandir}/ja/man1/jarsigner.1*
685 %lang(ja) %{_mandir}/ja/man1/javac.1*
686 %lang(ja) %{_mandir}/ja/man1/javadoc.1*
687 %lang(ja) %{_mandir}/ja/man1/javah.1*
688 %lang(ja) %{_mandir}/ja/man1/javap.1*
689 %lang(ja) %{_mandir}/ja/man1/jcmd.1*
690 %lang(ja) %{_mandir}/ja/man1/jconsole.1*
691 %lang(ja) %{_mandir}/ja/man1/jdb.1*
692 %lang(ja) %{_mandir}/ja/man1/jdeps.1*
693 %lang(ja) %{_mandir}/ja/man1/jhat.1*
694 %lang(ja) %{_mandir}/ja/man1/jinfo.1*
695 %lang(ja) %{_mandir}/ja/man1/jjs.1*
696 %lang(ja) %{_mandir}/ja/man1/jmap.1*
697 %lang(ja) %{_mandir}/ja/man1/jps.1*
698 %lang(ja) %{_mandir}/ja/man1/jrunscript.1*
699 %lang(ja) %{_mandir}/ja/man1/jsadebugd.1*
700 %lang(ja) %{_mandir}/ja/man1/jstack.1*
701 %lang(ja) %{_mandir}/ja/man1/jstat.1*
702 %lang(ja) %{_mandir}/ja/man1/jstatd.1*
703 %lang(ja) %{_mandir}/ja/man1/native2ascii.1*
704 %lang(ja) %{_mandir}/ja/man1/schemagen.1*
705 %lang(ja) %{_mandir}/ja/man1/serialver.1*
706 %lang(ja) %{_mandir}/ja/man1/rmic.1*
707 %lang(ja) %{_mandir}/ja/man1/wsgen.1*
708 %lang(ja) %{_mandir}/ja/man1/wsimport.1*
709 %lang(ja) %{_mandir}/ja/man1/xjc.1*
710
711 %files jdk-base
712 %defattr(644,root,root,755)
713 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
714 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
715 %dir %{dstdir}
716 %{_jvmdir}/%{name}
717 %dir %{dstdir}/bin
718 %attr(755,root,root) %{dstdir}/bin/appletviewer
719 %attr(755,root,root) %{dstdir}/bin/extcheck
720 %attr(755,root,root) %{dstdir}/bin/idlj
721 %attr(755,root,root) %{dstdir}/bin/jar
722 %attr(755,root,root) %{dstdir}/bin/jarsigner
723 %attr(755,root,root) %{dstdir}/bin/java-rmi.cgi
724 %attr(755,root,root) %{dstdir}/bin/javac
725 %attr(755,root,root) %{dstdir}/bin/javadoc
726 %attr(755,root,root) %{dstdir}/bin/javah
727 %attr(755,root,root) %{dstdir}/bin/javap
728 %attr(755,root,root) %{dstdir}/bin/jconsole
729 %attr(755,root,root) %{dstdir}/bin/jcmd
730 %attr(755,root,root) %{dstdir}/bin/jdb
731 %attr(755,root,root) %{dstdir}/bin/jdeps
732 %attr(755,root,root) %{dstdir}/bin/jhat
733 %attr(755,root,root) %{dstdir}/bin/jinfo
734 %attr(755,root,root) %{dstdir}/bin/jmap
735 %attr(755,root,root) %{dstdir}/bin/jps
736 %attr(755,root,root) %{dstdir}/bin/jrunscript
737 %attr(755,root,root) %{dstdir}/bin/jsadebugd
738 %attr(755,root,root) %{dstdir}/bin/jstack
739 %attr(755,root,root) %{dstdir}/bin/jstat
740 %attr(755,root,root) %{dstdir}/bin/jstatd
741 %attr(755,root,root) %{dstdir}/bin/native2ascii
742 %attr(755,root,root) %{dstdir}/bin/rmic
743 %attr(755,root,root) %{dstdir}/bin/schemagen
744 %attr(755,root,root) %{dstdir}/bin/serialver
745 %attr(755,root,root) %{dstdir}/bin/wsgen
746 %attr(755,root,root) %{dstdir}/bin/wsimport
747 %attr(755,root,root) %{dstdir}/bin/xjc
748 %{dstdir}/include
749 %dir %{dstdir}/lib
750 %{dstdir}/lib/ct.sym
751 %{dstdir}/lib/dt.jar
752 %{dstdir}/lib/ir.idl
753 %{dstdir}/lib/jconsole.jar
754 %attr(755,root,root) %{dstdir}/lib/jexec
755 %{dstdir}/lib/orb.idl
756 %ifnarch x32
757 %{dstdir}/lib/sa-jdi.jar
758 %endif
759 %{dstdir}/lib/tools.jar
760 %dir %{dstdir}/lib/%{jre_arch}
761 %dir %{dstdir}/lib/%{jre_arch}/jli
762 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/jli/*.so
763 %{dstdir}/tapset
764
765 %files jre
766 %defattr(644,root,root,755)
767 %attr(755,root,root) %{_bindir}/clhsdb
768 %attr(755,root,root) %{_bindir}/java
769 %attr(755,root,root) %{_bindir}/keytool
770 %attr(755,root,root) %{_bindir}/orbd
771 %attr(755,root,root) %{_bindir}/pack200
772 %attr(755,root,root) %{_bindir}/rmid
773 %attr(755,root,root) %{_bindir}/rmiregistry
774 %attr(755,root,root) %{_bindir}/servertool
775 %attr(755,root,root) %{_bindir}/tnameserv
776 %attr(755,root,root) %{_bindir}/unpack200
777 %{_mandir}/man1/java.1*
778 %{_mandir}/man1/keytool.1*
779 %{_mandir}/man1/orbd.1*
780 %{_mandir}/man1/pack200.1*
781 %{_mandir}/man1/rmid.1*
782 %{_mandir}/man1/rmiregistry.1*
783 %{_mandir}/man1/servertool.1*
784 %{_mandir}/man1/tnameserv.1*
785 %{_mandir}/man1/unpack200.1*
786 %lang(ja) %{_mandir}/ja/man1/java.1*
787 %lang(ja) %{_mandir}/ja/man1/keytool.1*
788 %lang(ja) %{_mandir}/ja/man1/orbd.1*
789 %lang(ja) %{_mandir}/ja/man1/pack200.1*
790 %lang(ja) %{_mandir}/ja/man1/rmid.1*
791 %lang(ja) %{_mandir}/ja/man1/rmiregistry.1*
792 %lang(ja) %{_mandir}/ja/man1/servertool.1*
793 %lang(ja) %{_mandir}/ja/man1/tnameserv.1*
794 %lang(ja) %{_mandir}/ja/man1/unpack200.1*
795 %{_jvmdir}/java
796
797 %files jre-base
798 %defattr(644,root,root,755)
799 %doc openjdk.build/images/j2sdk-image/THIRD_PARTY_README
800 %doc openjdk.build/images/j2sdk-image/ASSEMBLY_EXCEPTION
801 %dir %{_sysconfdir}/%{name}
802 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
803 %dir %{dstdir}
804 %{dstdir}/release
805 %dir %{jredir}
806 %{_jvmdir}/%{name}-jre
807 %dir %{jredir}/bin
808 %dir %{dstdir}/bin
809 %attr(755,root,root) %{dstdir}/bin/clhsdb
810 %attr(755,root,root) %{jredir}/bin/java
811 %attr(755,root,root) %{dstdir}/bin/java
812 %attr(755,root,root) %{jredir}/bin/jjs
813 %attr(755,root,root) %{dstdir}/bin/jjs
814 %attr(755,root,root) %{jredir}/bin/keytool
815 %attr(755,root,root) %{dstdir}/bin/keytool
816 %attr(755,root,root) %{jredir}/bin/orbd
817 %attr(755,root,root) %{dstdir}/bin/orbd
818 %attr(755,root,root) %{jredir}/bin/pack200
819 %attr(755,root,root) %{dstdir}/bin/pack200
820 %attr(755,root,root) %{jredir}/bin/rmid
821 %attr(755,root,root) %{dstdir}/bin/rmid
822 %attr(755,root,root) %{jredir}/bin/rmiregistry
823 %attr(755,root,root) %{dstdir}/bin/rmiregistry
824 %attr(755,root,root) %{jredir}/bin/servertool
825 %attr(755,root,root) %{dstdir}/bin/servertool
826 %attr(755,root,root) %{jredir}/bin/tnameserv
827 %attr(755,root,root) %{dstdir}/bin/tnameserv
828 %attr(755,root,root) %{jredir}/bin/unpack200
829 %attr(755,root,root) %{dstdir}/bin/unpack200
830 %dir %{jredir}/lib
831 %dir %{jredir}/lib/applet
832 %{jredir}/lib/cmm
833 %{jredir}/lib/ext
834 %dir %{jredir}/lib/%{jre_arch}
835 %dir %{jredir}/lib/%{jre_arch}/jli
836 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/jli/*.so
837 %dir %{jredir}/lib/%{jre_arch}/server
838 %{jredir}/lib/%{jre_arch}/server/Xusage.txt
839 %ifnarch x32
840 %{jredir}/lib/%{jre_arch}/server/classes.jsa
841 %endif
842 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/server/*.so
843 %{jredir}/lib/%{jre_arch}/jvm.cfg
844 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libattach.so
845 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt.so
846 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_headless.so
847 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libdt_socket.so
848 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libhprof.so
849 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libinstrument.so
850 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2gss.so
851 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2krb5.so
852 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pcsc.so
853 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2pkcs11.so
854 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libj2sctp.so
855 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjaas_unix.so
856 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava.so
857 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavajpeg.so
858 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjavalcms.so
859 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjava_crw_demo.so
860 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjdwp.so
861 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsdt.so
862 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsig.so
863 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsound.so
864 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjvm.so
865 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmanagement.so
866 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libmlib_image.so
867 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnet.so
868 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnio.so
869 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libnpt.so
870 %ifnarch x32
871 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsaproc.so
872 %endif
873 %{?with_sunec:%attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsunec.so}
874 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libunpack.so
875 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libverify.so
876 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libzip.so
877 %{jredir}/lib/images
878 %{jredir}/lib/management
879 %{jredir}/lib/security
880 %{jredir}/lib/hijrah-config-umalqura.properties
881 %{jredir}/lib/tzdb.dat
882 %{jredir}/lib/tz.properties
883
884 %if %{with webstart}
885 %{jredir}/lib/about.jar
886 %{jredir}/lib/about.jnlp
887 %endif
888 %{jredir}/lib/calendars.properties
889 %{jredir}/lib/charsets.jar
890 %{jredir}/lib/classlist
891 %{jredir}/lib/content-types.properties
892 %{jredir}/lib/currency.data
893 %{jredir}/lib/flavormap.properties
894 %{jredir}/lib/jce.jar
895 %attr(755, root, root) %{jredir}/lib/jexec
896 %{jredir}/lib/jsse.jar
897 %{jredir}/lib/jvm.hprof.txt
898 %{jredir}/lib/logging.properties
899 %{jredir}/lib/management-agent.jar
900 %{jredir}/lib/meta-index
901 %{jredir}/lib/net.properties
902 %{jredir}/lib/psfont.properties.ja
903 %{jredir}/lib/psfontj2d.properties
904 %{jredir}/lib/resources.jar
905 %{jredir}/lib/rt.jar
906 %{jredir}/lib/sound.properties
907 %{jvmjardir}
908
909 %files jre-X11
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_bindir}/hsdb
912 %attr(755,root,root) %{_bindir}/policytool
913 %{_mandir}/man1/policytool.1*
914 %lang(ja) %{_mandir}/ja/man1/policytool.1*
915
916 %files jre-base-X11
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{dstdir}/bin/hsdb
919 %attr(755,root,root) %{jredir}/bin/policytool
920 %attr(755,root,root) %{dstdir}/bin/policytool
921 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libawt_xawt.so
922 %attr(755,root,root) %{dstdir}/lib/%{jre_arch}/libjawt.so
923 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjawt.so
924 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libsplashscreen.so
925
926 %files jre-base-alsa
927 %defattr(644,root,root,755)
928 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libjsoundalsa.so
929
930 %files jre-base-freetype
931 %defattr(644,root,root,755)
932 %attr(755,root,root) %{jredir}/lib/%{jre_arch}/libfontmanager.so
933
934 %files jre-base-gtk
935 %defattr(644,root,root,755)
936
937 %files jar
938 %defattr(644,root,root,755)
939 %attr(755,root,root) %{_bindir}/jar
940 %{_mandir}/man1/jar.1*
941 %lang(ja) %{_mandir}/ja/man1/jar.1*
942
943 %files appletviewer
944 %defattr(644,root,root,755)
945 %attr(755,root,root) %{_bindir}/appletviewer
946 %{_mandir}/man1/appletviewer.1*
947 %lang(ja) %{_mandir}/ja/man1/appletviewer.1*
948
949 %files jdk-sources
950 %defattr(644,root,root,755)
951 %{_javasrcdir}/%{name}-jdk.zip
952
953 %files examples
954 %defattr(644,root,root,755)
955 %{_examplesdir}/%{name}-%{version}
This page took 0.157406 seconds and 3 git commands to generate.