source: projects/specs/trunk/j/java-1.7.0-openjdk/java-1.7.0-openjdk-vl.spec @ 7544

Revision 7544, 45.2 KB checked in by daisuke, 11 years ago (diff)

java-1.7.0-openjdk: update to icedtea 2.3.8

Line 
1# If gcjbootstrap is 1 OpenJDK is bootstrapped against
2# java-1.5.0-gcj-devel.  If gcjbootstrap is 0 OpenJDK is built against
3# java-devel >= 1.6.0
4%global gcjbootstrap 0
5
6# If debug is 1, OpenJDK is built with all debug info present.
7%global debug 0
8
9%global icedtea_version 2.3.8
10%global hg_tag icedtea-{icedtea_version}
11
12%global accessmajorver 1.23
13%global accessminorver 0
14%global accessver %{accessmajorver}.%{accessminorver}
15%global accessurl http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/
16
17
18%global multilib_arches ppc64 sparc64 x86_64
19
20%global jit_arches %{ix86} x86_64 sparcv9 sparc64
21
22%ifarch x86_64
23%global archbuild amd64
24%global archinstall amd64
25%endif
26%ifarch ppc
27%global archbuild ppc
28%global archinstall ppc
29%global archdef PPC
30%endif
31%ifarch ppc64
32%global archbuild ppc64
33%global archinstall ppc64
34%global archdef PPC
35%endif
36%ifarch %{ix86}
37%global archbuild i586
38%global archinstall i386
39%endif
40%ifarch ia64
41%global archbuild ia64
42%global archinstall ia64
43%endif
44%ifarch s390
45%global archbuild s390
46%global archinstall s390
47%global archdef S390
48%endif
49%ifarch s390x
50%global archbuild s390x
51%global archinstall s390x
52%global archdef S390
53%endif
54%ifarch %{arm}
55%global archbuild arm
56%global archinstall arm
57%global archdef ARM
58%endif
59# 32 bit sparc, optimized for v9
60%ifarch sparcv9
61%global archbuild sparc
62%global archinstall sparc
63%endif
64# 64 bit sparc
65%ifarch sparc64
66%global archbuild sparcv9
67%global archinstall sparcv9
68%endif
69%ifnarch %{jit_arches}
70%global archbuild %{_arch}
71%global archinstall %{_arch}
72%endif
73
74%if %{debug}
75%global debugbuild debug_build
76%else
77%global debugbuild %{nil}
78%endif
79
80%global buildoutputdir openjdk/build/linux-%{archbuild}
81
82%global with_pulseaudio 1
83
84%ifarch %{jit_arches}
85%global with_systemtap 0
86%else
87%global with_systemtap 0
88%endif
89
90# Convert an absolute path to a relative path.  Each symbolic link is
91# specified relative to the directory in which it is installed so that
92# it will resolve properly within chrooted installations.
93%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
94%global abs2rel %{__perl} -e %{script}
95
96# Hard-code libdir on 64-bit architectures to make the 64-bit JDK
97# simply be another alternative.
98%ifarch %{multilib_arches}
99%global syslibdir       %{_prefix}/lib64
100%global _libdir         %{_prefix}/lib
101%global archname        %{name}.%{_arch}
102%else
103%global syslibdir       %{_libdir}
104%global archname        %{name}
105%endif
106
107# Standard JPackage naming and versioning defines.
108%global origin          openjdk
109%global buildver        9
110# Keep priority on 6digits in case buildver>9
111%global priority        17000%{buildver}
112%global javaver         1.7.0
113
114# Standard JPackage directories and symbolic links.
115# Make 64-bit JDKs just another alternative on 64-bit architectures.
116%ifarch %{multilib_arches}
117%global sdklnk          java-%{javaver}-%{origin}.%{_arch}
118%global jrelnk          jre-%{javaver}-%{origin}.%{_arch}
119%global sdkdir          %{name}-%{version}.%{_arch}
120%else
121%global sdklnk          java-%{javaver}-%{origin}
122%global jrelnk          jre-%{javaver}-%{origin}
123%global sdkdir          %{name}-%{version}
124%endif
125%global jredir          %{sdkdir}/jre
126%global sdkbindir       %{_jvmdir}/%{sdklnk}/bin
127%global jrebindir       %{_jvmdir}/%{jrelnk}/bin
128%ifarch %{multilib_arches}
129%global jvmjardir       %{_jvmjardir}/%{name}-%{version}.%{_arch}
130%else
131%global jvmjardir       %{_jvmjardir}/%{name}-%{version}
132%endif
133
134%if %{with_systemtap}
135# Where to install systemtap tapset (links)
136# We would like these to be in a package specific subdir,
137# but currently systemtap doesn't support that, so we have to
138# use the root tapset dir for now. To distinquish between 64
139# and 32 bit architectures we place the tapsets under the arch
140# specific dir (note that systemtap will only pickup the tapset
141# for the primary arch for now). Systemtap uses the machine name
142# aka build_cpu as architecture specific directory name.
143%global tapsetroot /usr/share/systemtap
144%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
145%endif
146
147# Prevent brp-java-repack-jars from being run.
148%global __jar_repack 0
149
150Name:    java-%{javaver}-%{origin}
151Version: %{javaver}.%{buildver}
152Release: %{icedtea_version}.1%{?_dist_release}
153Summary: OpenJDK Runtime Environment
154Summary(ja): OpenJDK ランタイム環境
155Group:   Development/Languages
156
157License:  ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
158URL:      http://openjdk.java.net/
159
160#head
161#REPO=http://icedtea.classpath.org/hg/icedtea7-forest
162#current release
163#REPO=http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3
164# hg clone $REPO/ openjdk -r %{hg_tag}
165# hg clone $REPO/corba/ openjdk/corba -r %{hg_tag}
166# hg clone $REPO/hotspot/ openjdk/hotspot -r %{hg_tag}
167# hg clone $REPO/jaxp/ openjdk/jaxp -r %{hg_tag}
168# hg clone $REPO/jaxws/ openjdk/jaxws -r %{hg_tag}
169# hg clone $REPO/jdk/ openjdk/jdk -r %{hg_tag}
170# hg clone $REPO/langtools/ openjdk/langtools -r %{hg_tag}
171# find openjdk -name ".hg" -exec rm -rf '{}' \;
172# find openjdk -name ".hgtags" -exec rm -rf '{}' \;
173# tar czf openjdk-icedtea-%{icedtea_version}.tar.gz openjdk
174Source0:  openjdk-icedtea-%{icedtea_version}.tar.gz
175
176# Gnome access bridge
177Source1:  %{accessurl}%{accessmajorver}/java-access-bridge-%{accessver}.tar.bz2
178
179# README file
180Source2:  README.src
181
182# javac wrapper (used during bootstrap to strip what ecj doesn't support)
183Source3: javac-wrapper
184
185# Auto-generated files (used only in bootstrap)
186# To reproduce:
187# build OpenJDK7 tarball above with any JDK
188# mv generated.build generated
189# tar czf generated-files.tar.gz generated
190Source4: generated-files.tar.gz
191
192# Class rewrite to rewrite rhino hierarchy
193Source5: class-rewriter.tar.gz
194
195# Systemtap tapsets. Zipped up to keep it small.
196Source6: systemtap-tapset.tar.gz
197
198# .desktop files. Zipped up to keep it small.
199Source7: desktop-files.tar.gz
200
201# nss configuration file
202Source8: nss.cfg
203
204# FIXME: Taken from IcedTea snapshot 877ad5f00f69, but needs to be moved out
205# hg clone -r 877ad5f00f69 http://icedtea.classpath.org/hg/icedtea7
206Source9: pulseaudio.tar.gz
207
208# Removed libraries that we link instead
209Source10: remove-intree-libraries.sh
210
211# For primary arches, build latest and for secondary, use hs22
212# base (icedtea-2.2.1 tag)
213
214# http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1
215# hg tag: icedtea-2.1.6
216Source100:  openjdk-icedtea-2.1.6.tar.gz
217
218# RPM/distribution specific patches
219
220# Allow TCK to pass with access bridge wired in
221Patch1:   java-1.7.0-openjdk-java-access-bridge-tck.patch
222
223# Adjust idlj compilation switches to match what system idlj supports
224Patch2:   java-1.7.0-openjdk-java-access-bridge-idlj.patch
225
226# Disable access to access-bridge packages by untrusted apps
227Patch3:   java-1.7.0-openjdk-java-access-bridge-security.patch
228
229# Ignore AWTError when assistive technologies are loaded
230Patch4:   java-1.7.0-openjdk-accessible-toolkit.patch
231
232# Build docs even in debug
233Patch5:   java-1.7.0-openjdk-debugdocs.patch
234
235# Add debuginfo where missing
236Patch6:   %{name}-debuginfo.patch
237
238#
239# OpenJDK specific patches
240#
241
242# Add rhino support
243Patch100: rhino.patch
244
245# Type fixing for s390
246Patch101: %{name}-bitmap.patch
247Patch102: %{name}-size_t.patch
248
249# Patches for Arm
250Patch103: %{name}-arm-fixes.patch
251
252# Patch for PPC/PPC64
253Patch104: %{name}-ppc-zero-jdk.patch
254Patch105: %{name}-ppc-zero-hotspot.patch
255
256Patch106: %{name}-freetype-check-fix.patch
257
258#
259# Bootstrap patches (code with this is never shipped)
260#
261
262# Explicitly set javac, so that the bootstrap version is used
263Patch200: bootstrap-ant-javac.patch
264
265# Adjusted generated sources path to use prebuilt ones
266Patch201: bootstrap-corba-defs.patch
267
268# Do not use idlj to generate sources, as we use prebuilt ones
269Patch202: bootstrap-corba-idlj.patch
270
271# Disable decending into sources dir for generation
272Patch203: bootstrap-corba-no-gen.patch
273
274# Explicitly compile ORB.java
275Patch204: bootstrap-corba-orb.patch
276
277# Don't build demos in bootstrap
278Patch205: bootstrap-demos.patch
279
280# Change hex constants to be numbers instead of 0x... so that ecj can compile them right
281Patch206: bootstrap-ecj-fphexconstants.patch
282
283# Adjust opt flags to remove what ecj doesn't support
284Patch207: bootstrap-ecj-opts.patch
285
286# use pre-generated font config files
287Patch208: bootstrap-fontconfig.patch
288
289# Don't write auto-generation message in bootstrap
290Patch209: bootstrap-generated-comments.patch
291
292# Adjust bootclasspath to match what ecj has
293Patch210: bootstrap-xbootclasspath.patch
294
295# Wire in icedtea rt.jar (FIXME: name needs update, kept same for now to match icedtea name)
296Patch211: bootstrap-icedteart.patch
297
298# Wire in custom compiles rt classes
299Patch212: bootstrap-jar.patch
300
301# Compile inner opengl class explicitly
302Patch213: bootstrap-javah.patch
303
304# Disable ct.sym creation for bootstrap
305Patch214: bootstrap-symbols.patch
306
307# Disable icon generation for bootstrap
308Patch215: bootstrap-tobin.patch
309
310# Don't run test_gamma
311Patch216: bootstrap-test_gamma.patch
312
313# Disable requirement of module_lib path which bootstrap java_home doesn't have
314Patch217: bootstrap-tools.jar.patch
315
316# Allow -J opts to jar only if jar knows of them
317Patch218: bootstrap-jopt.patch
318
319# Explicitly add jaxp classes to classpath
320Patch219: bootstrap-jaxp-dependency.patch
321
322# Don't fork when generating stubs
323Patch220: bootstrap-genstubs-nofork.patch
324
325# Remove dependency on ProcessBuilder which is package private to Oracle implementation
326Patch221: bootstrap-break-processbuilder-dependency.patch
327
328# Allow to build with 1.5
329Patch222: bootstrap-revert-6973616.patch
330
331# Avoid trying to load system zone info provider and failing
332Patch223: bootstrap-revert-6941137.patch
333
334# Replace usage of string switch with if/elseif/else
335Patch224: bootstrap-ecj-stringswitch.patch
336
337# Allow langtools to use older jdk
338Patch225: bootstrap-langtools-force-old-jdk.patch
339
340# Access JDK sources and classes from langtools build
341Patch226: bootstrap-corba-dependencies.patch
342
343# Access langtools classes for Javadoc
344Patch227: bootstrap-jaxws-langtools-dependency.patch
345
346# Access JDK sources for com.sun.net.httpserver
347Patch228: bootstrap-jaxws-jdk-dependency.patch
348
349# Access JDK and generated sources to build servicability agent
350Patch229: bootstrap-hotspot-jdk-dependency.patch
351
352# Remove use of multi-catch and replace with regular multi-level catch
353Patch230: bootstrap-ecj-multicatch.patch
354
355# Remove use of try-with-resources and replace with manual close
356Patch231: bootstrap-ecj-trywithresources.patch
357
358# Disable auto-boxing and manally cast
359Patch232: bootstrap-ecj-autoboxing.patch
360
361# Use custom xslt processor
362Patch233: bootstrap-xsltproc.patch
363
364# Use constants from interface rather than impl
365Patch234: bootstrap-pr40188.patch
366
367# Remove use of diamond operator and replace with manual
368Patch235: bootstrap-ecj-diamond.patch
369
370# Adjust javah switches to only use what bootstrap version supports
371Patch236: bootstrap-javah-xbootclasspath.patch
372
373#
374# Optional component packages
375#
376
377# Make the ALSA based mixer the default when building with the pulseaudio based
378# mixer
379Patch300: pulse-soundproperties.patch
380
381# SystemTap support
382# Workaround for RH613824
383Patch302: systemtap.patch
384
385#
386# IcedTea 2.1.1/hs22 specific patches
387#
388
389# Rhino support
390Patch400: rhino-icedtea-2.1.1.patch
391
392BuildRequires: autoconf
393BuildRequires: automake
394BuildRequires: alsa-lib-devel
395BuildRequires: cups-devel
396BuildRequires: desktop-file-utils
397BuildRequires: giflib-devel
398BuildRequires: lcms2-devel
399BuildRequires: libX11-devel
400BuildRequires: libXi-devel
401BuildRequires: libXp-devel
402BuildRequires: libXt-devel
403BuildRequires: libXtst-devel
404BuildRequires: libjpeg-turbo-devel
405BuildRequires: libpng-devel
406BuildRequires: wget
407BuildRequires: libxslt
408BuildRequires: xorg-x11-proto-devel
409BuildRequires: mercurial
410BuildRequires: ant
411BuildRequires: libXinerama-devel
412BuildRequires: rhino
413BuildRequires: lsb
414BuildRequires: zip
415%if %{gcjbootstrap}
416BuildRequires: java-1.5.0-gcj-devel
417%else
418BuildRequires: java-devel >= 1.6.0
419%endif
420BuildRequires: fontconfig
421# Java Access Bridge for GNOME build requirements.
422BuildRequires: at-spi-devel
423BuildRequires: gawk
424BuildRequires: libbonobo-devel
425BuildRequires: pkgconfig >= 0.9.0
426BuildRequires: xorg-x11-utils
427# PulseAudio build requirements.
428%if %{with_pulseaudio}
429BuildRequires: pulseaudio-libs-devel >= 0.9.11
430BuildRequires: pulseaudio >= 0.9.11
431%endif
432# Zero-assembler build requirement.
433%ifnarch %{jit_arches}
434BuildRequires: libffi-devel >= 3.0.10
435%endif
436
437# cacerts build requirement.
438BuildRequires: openssl
439# execstack build requirement.
440# no prelink on ARM yet
441%ifnarch %{arm}
442BuildRequires: prelink
443%endif
444%if %{with_systemtap}
445#systemtap build requirement.
446BuildRequires: systemtap-sdt-devel
447%endif
448
449Requires: rhino
450Requires: lcms2
451Requires: libjpeg-turbo
452# Require /etc/pki/java/cacerts.
453Requires: ca-certificates
454# Require jpackage-utils for ant.
455Requires: jpackage-utils
456# Require zoneinfo data provided by tzdata-java subpackage.
457Requires: tzdata-java
458# Post requires alternatives to install tool alternatives.
459Requires(post):   alternatives
460# Postun requires alternatives to uninstall tool alternatives.
461Requires(postun): alternatives
462
463# Standard JPackage base provides.
464Provides: jre-%{javaver}-%{origin} = %{version}-%{release}
465Provides: jre-%{origin} = %{version}-%{release}
466Provides: jre-%{javaver} = %{version}-%{release}
467Provides: java-%{javaver} = %{version}-%{release}
468Provides: jre = %{javaver}
469Provides: java-%{origin} = %{version}-%{release}
470Provides: java = %{javaver}
471# Standard JPackage extensions provides.
472Provides: jndi = %{version}
473Provides: jndi-ldap = %{version}
474Provides: jndi-cos = %{version}
475Provides: jndi-rmi = %{version}
476Provides: jndi-dns = %{version}
477Provides: jaas = %{version}
478Provides: jsse = %{version}
479Provides: jce = %{version}
480Provides: jdbc-stdext = 4.1
481Provides: java-sasl = %{version}
482Provides: java-fonts = %{version}
483
484# Obsolete older 1.6 packages as it cannot use the new bytecode
485Obsoletes: java-1.6.0-openjdk
486Obsoletes: java-1.6.0-openjdk-demo
487Obsoletes: java-1.6.0-openjdk-devel
488Obsoletes: java-1.6.0-openjdk-javadoc
489Obsoletes: java-1.6.0-openjdk-src
490
491%description
492The OpenJDK runtime environment.
493
494%package devel
495Summary: OpenJDK Development Environment
496Summary(ja): OpenJDK 開発環境
497Group:   Development/Tools
498
499# Require base package.
500Requires:         %{name} = %{version}-%{release}
501# Post requires alternatives to install tool alternatives.
502Requires(post):   alternatives
503# Postun requires alternatives to uninstall tool alternatives.
504Requires(postun): alternatives
505
506# Standard JPackage devel provides.
507Provides: java-sdk-%{javaver}-%{origin} = %{version}
508Provides: java-sdk-%{javaver} = %{version}
509Provides: java-sdk-%{origin} = %{version}
510Provides: java-sdk = %{javaver}
511Provides: java-%{javaver}-devel = %{version}
512Provides: java-devel-%{origin} = %{version}
513Provides: java-devel = %{javaver}
514
515
516%description devel
517The OpenJDK development tools.
518
519%package demo
520Summary: OpenJDK Demos
521Summary(ja): OpenJDK デモ
522Group:   Development/Languages
523
524Requires: %{name} = %{version}-%{release}
525
526%description demo
527The OpenJDK demos.
528
529%package src
530Summary: OpenJDK Source Bundle
531Summary(ja): OpenJDK ソースバンドル
532Group:   Development/Languages
533
534Requires: %{name} = %{version}-%{release}
535
536%description src
537The OpenJDK source bundle.
538
539%package javadoc
540Summary: OpenJDK API Documentation
541Summary(ja): OpenJDK API ドキュメント
542Group:   Documentation
543Requires: jpackage-utils
544BuildArch: noarch
545
546# Post requires alternatives to install javadoc alternative.
547Requires(post):   alternatives
548# Postun requires alternatives to uninstall javadoc alternative.
549Requires(postun): alternatives
550
551# Standard JPackage javadoc provides.
552Provides: java-javadoc = %{version}-%{release}
553Provides: java-%{javaver}-javadoc = %{version}-%{release}
554
555%description javadoc
556The OpenJDK API documentation.
557
558%prep
559
560%ifarch %{jit_arches}
561%global source_num 0
562%else
563%global source_num 100
564%endif
565
566%setup -q -c -n %{name} -T -a %{source_num}
567%setup -q -n %{name} -T -D -a 1
568cp %{SOURCE2} .
569
570# OpenJDK patches
571
572# Rhino patch -- one default version (100) and one specific to 2.1.1 (400)
573%ifarch %{jit_arches}
574%patch100
575%else
576%patch400
577%endif
578
579# pulseaudio support
580%if %{with_pulseaudio}
581%patch300
582%endif
583
584# Add systemtap patches if enabled
585%if %{with_systemtap}
586%patch302
587%endif
588
589# Remove libraries that are linked
590sh %{SOURCE10}
591
592# Copy jaxp, jaf and jaxws drops
593mkdir drops/
594
595# Extract the generated files
596tar xzf %{SOURCE4}
597
598# Extract the rewriter (to rewrite rhino classes)
599tar xzf %{SOURCE5}
600
601# Extract systemtap tapsets
602%if %{with_systemtap}
603
604tar xzf %{SOURCE6}
605
606for file in tapset/*.in; do
607
608    OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
609    sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/amd64/server/libjvm.so:g $file > $OUTPUT_FILE
610    sed -i -e '/@ABS_CLIENT_LIBJVM_SO@/d' $OUTPUT_FILE
611    sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE
612    sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
613
614done
615
616%endif
617
618# Pulseaudio
619%if %{with_pulseaudio}
620tar xzf %{SOURCE9}
621%endif
622
623# Extract desktop files
624tar xzf %{SOURCE7}
625
626# If bootstrapping, apply additional patches
627%if %{gcjbootstrap}
628
629cp -a openjdk openjdk-boot
630
631# Add bootstrap patches
632%patch200
633%patch201
634%patch202
635%patch203
636%patch204
637%patch205
638%patch206
639%patch207
640%patch208
641%patch209
642%patch210
643%patch211
644%patch212
645%patch213
646%patch214
647%patch215
648%patch216
649%patch217
650%patch218
651%patch219
652%patch220
653%patch221
654%patch222
655%patch223
656%patch224
657%patch225
658%patch226
659%patch227
660%patch228
661%patch229
662%patch230
663%patch231
664%patch232
665%patch233
666%patch234
667%patch235
668%patch236
669
670%endif
671
672%build
673# How many cpu's do we have?
674export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
675export NUM_PROC=${NUM_PROC:-1}
676
677# Build IcedTea and OpenJDK.
678%ifarch s390x sparc64 alpha ppc64
679export ARCH_DATA_MODEL=64
680%endif
681%ifarch alpha
682export CFLAGS="$CFLAGS -mieee"
683%endif
684
685patch -l -p0 < %{PATCH3}
686patch -l -p0 < %{PATCH4}
687
688%if %{debug}
689patch -l -p0 < %{PATCH5}
690patch -l -p0 < %{PATCH6}
691%endif
692
693# Type fixes for s390
694%ifarch s390 s390x
695patch -l -p0 < %{PATCH101}
696patch -l -p0 < %{PATCH102}
697%endif
698
699# Arm fixes
700%ifarch %{arm}
701patch -l -p0 < %{PATCH103}
702%endif
703
704patch -l -p0 < %{PATCH106}
705
706%ifarch ppc ppc64
707# PPC fixes
708patch -l -p0 < %{PATCH104}
709patch -l -p0 < %{PATCH105}
710%endif
711
712# Add a "-icedtea" tag to the version
713sed -i "s#BUILD_VARIANT_RELEASE)#BUILD_VARIANT_RELEASE)-icedtea#" openjdk/jdk/make/common/shared/Defs.gmk
714
715# Build the re-written rhino jar
716mkdir -p rhino/{old,new}
717
718# Compile the rewriter
719(cd rewriter
720 javac com/redhat/rewriter/ClassRewriter.java
721)
722
723# Extract rhino.jar contents and rewrite
724(cd rhino/old
725 jar xf /usr/share/java/rhino.jar
726)
727
728java -cp rewriter com.redhat.rewriter.ClassRewriter \
729    $PWD/rhino/old \
730    $PWD/rhino/new \
731    org.mozilla \
732    sun.org.mozilla
733
734(cd rhino/old
735 for file in `find -type f -not -name '*.class'` ; do
736     new_file=../new/`echo $file | sed -e 's#org#sun/org#'`
737     mkdir -pv `dirname $new_file`
738     cp -v $file $new_file
739     sed -ie 's#org\.mozilla#sun.org.mozilla#g' $new_file
740 done
741)
742
743(cd rhino/new
744   jar cfm ../rhino.jar META-INF/MANIFEST.MF sun
745)
746
747%if %{gcjbootstrap}
748
749mkdir -p bootstrap/boot
750
751# Copy over JAVA_HOME from /usr/lib/jvm/java-gcj/
752cp -aL %{_jvmdir}/java-gcj/* bootstrap/boot/ || : # broken symlinks can be non-fatal but may cause this to fail
753
754# Replace javac with a wrapper that does some magic
755cp -af %{SOURCE3} bootstrap/boot/bin/javac
756chmod u+x bootstrap/boot/bin/javac # SOURCE3 may not be +x
757sed -i -e s:@RT_JAR@:$PWD/bootstrap/boot/jre/lib/rt.jar:g bootstrap/boot/bin/javac
758
759# Link the native2ascii binary
760ln -sf /usr/bin/gnative2ascii bootstrap/boot/bin/native2ascii
761
762# We don't need a disassebler, fake it
763echo "#!/bin/sh
764exit 0" > bootstrap/boot/bin/javap
765chmod u+rx bootstrap/boot/bin/javap # We need to run this during build
766
767# Modules directory
768mkdir -p bootstrap/boot/lib/modules
769
770# jdk1.6.0 link
771rm -f bootstrap/jdk1.6.0
772ln -sf boot bootstrap/jdk1.6.0
773
774# Update rt.jar with newer classes
775# Extra classes to compile for reasons like
776# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42003
777echo "openjdk-boot/jdk/src/share/classes/java/util/regex/Matcher.java
778openjdk-boot/jdk/src/share/classes/javax/management/remote/JMXServiceURL.java
779openjdk-boot/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
780openjdk-boot/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
781openjdk-boot/langtools/src/share/classes/javax/tools/JavaFileManager.java" > rt-source-files
782
783mkdir -p rt
784bootstrap/jdk1.6.0/bin/javac -g -encoding utf-8    -source 6 -target 6 -d rt \
785  -classpath %{_jvmdir}/java-gcj/jre/lib/rt.jar \
786  -sourcepath 'generated:openjdk-boot/jdk/src/share/classes:openjdk-boot/jdk/src/solaris/classes:openjdk-boot/langtools/src/share/classes:openjdk-boot/corba/src/share/classes' \
787  -bootclasspath "\'\'" @rt-source-files
788
789pushd rt
790zip -qur ../bootstrap/jdk1.6.0/jre/lib/rt.jar *
791popd
792
793# clean up
794rm -f rt-source-files
795rm -rf rt
796
797# Build it
798pushd openjdk-boot
799cp -a ../generated generated.build
800chmod u+rwx generated.build
801
802export ALT_DROPS_DIR=$PWD/../drops
803export ALT_JDK_IMPORT_PATH="$PWD/../bootstrap/jdk1.6.0"
804
805# Set generic profile
806source jdk/make/jdk_generic_profile.sh
807
808make \
809  ANT="/usr/bin/ant" \
810  ALT_BOOTDIR="$PWD/../bootstrap/jdk1.6.0" \
811  ICEDTEA_RT="$PWD/../bootstrap/jdk1.6.0/jre/lib/rt.jar" \
812  HOTSPOT_BUILD_JOBS="$NUM_PROC" \
813  NO_DOCS="true" \
814  RHINO_JAR="$PWD/../rhino/rhino.jar" \
815  GENSRCDIR="$PWD/generated.build" \
816  DISABLE_NIMBUS="true" \
817  XSLT="/usr/bin/xsltproc" \
818  FT2_CFLAGS="-I/usr/include/freetype2 " \
819  FT2_LIBS="-lfreetype " \
820%ifnarch %{jit_arches}
821  LIBFFI_CFLAGS="`pkg-config --cflags libffi` " \
822  LIBFFI_LIBS="-lffi " \
823  ZERO_BUILD="true" \
824  ZERO_LIBARCH="%{archbuild}" \
825  ZERO_ARCHDEF="%{archdef}" \
826%ifarch ppc ppc64 s390 s390x
827  ZERO_ENDIANNESS="big" \
828%else
829  ZERO_ENDIANNESS="little" \
830%endif
831%endif
832  %{nil}
833
834export JDK_TO_BUILD_WITH=$PWD/build/linux-%{archbuild}/j2sdk-image
835
836popd
837
838%else
839
840export JDK_TO_BUILD_WITH=/usr/lib/jvm/java-openjdk
841
842%endif
843
844pushd openjdk >& /dev/null
845
846export ALT_DROPS_DIR=$PWD/../drops
847export ALT_BOOTDIR="$JDK_TO_BUILD_WITH"
848
849# Save old umask as jdk_generic_profile overwrites it
850oldumask=`umask`
851
852# Set generic profile
853source jdk/make/jdk_generic_profile.sh
854
855# Restore old umask
856umask $oldumask
857
858make \
859  ANT="/usr/bin/ant" \
860  DISTRO_NAME="Vine Linux" \
861  DISTRO_PACKAGE_VERSION="vine-%{release}-%{_arch}" \
862%ifarch %{jit_arches}
863  JDK_UPDATE_VERSION=`printf "%02d" %{buildver}` \
864%else
865  JDK_UPDATE_VERSION="03" \
866%endif
867  MILESTONE="fcs" \
868  HOTSPOT_BUILD_JOBS="$NUM_PROC" \
869  STATIC_CXX="false" \
870  RHINO_JAR="$PWD/../rhino/rhino.jar" \
871  GENSRCDIR="$PWD/generated.build" \
872  FT2_CFLAGS="-I/usr/include/freetype2 " \
873  FT2_LIBS="-lfreetype " \
874  DEBUG_CLASSFILES="true" \
875  DEBUG_BINARIES="true" \
876  STRIP_POLICY="no_strip" \
877  ALT_STRIP_POLICY="no_strip" \
878%ifnarch %{jit_arches}
879  LIBFFI_CFLAGS="`pkg-config --cflags libffi` " \
880  LIBFFI_LIBS="-lffi " \
881  ZERO_BUILD="true" \
882  ZERO_LIBARCH="%{archbuild}" \
883  ZERO_ARCHDEF="%{archdef}" \
884%ifarch ppc ppc64 s390 s390x
885  ZERO_ENDIANNESS="big" \
886%else
887  ZERO_ENDIANNESS="little" \
888%endif
889%endif
890  %{debugbuild}
891
892popd >& /dev/null
893
894%ifarch %{jit_arches}
895chmod 644 $(pwd)/%{buildoutputdir}/j2sdk-image/lib/sa-jdi.jar
896%endif
897
898export JAVA_HOME=$(pwd)/%{buildoutputdir}/j2sdk-image
899
900# Build pulseaudio and install it to JDK build location
901%if %{with_pulseaudio}
902pushd pulseaudio
903make JAVA_HOME=$JAVA_HOME -f Makefile.pulseaudio
904cp -pPRf build/native/libpulse-java.so $JAVA_HOME/jre/lib/%{archinstall}/
905cp -pPRf build/pulse-java.jar $JAVA_HOME/jre/lib/ext/
906popd
907%endif
908
909# Build Java Access Bridge for GNOME.
910pushd java-access-bridge-%{accessver}
911  patch -l -p1 < %{PATCH1}
912  patch -l -p1 < %{PATCH2}
913  OLD_PATH=$PATH
914  export PATH=$JAVA_HOME/bin:$OLD_PATH
915  ./configure
916  make
917  export PATH=$OLD_PATH
918  cp -a bridge/accessibility.properties $JAVA_HOME/jre/lib
919  chmod 644 gnome-java-bridge.jar
920  cp -a gnome-java-bridge.jar $JAVA_HOME/jre/lib/ext
921popd
922
923# Copy tz.properties
924echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
925
926%install
927rm -rf $RPM_BUILD_ROOT
928STRIP_KEEP_SYMTAB=libjvm*
929
930# Install symlink to default soundfont
931install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
932pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
933ln -s %{_datadir}/soundfonts/default.sf2
934popd
935
936pushd %{buildoutputdir}/j2sdk-image
937
938  # Install main files.
939  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
940  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
941  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
942  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
943
944%if %{with_systemtap}
945  # Install systemtap support files.
946  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
947  cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
948  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
949  pushd $RPM_BUILD_ROOT%{tapsetdir}
950    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
951    ln -sf $RELATIVE/*.stp .
952  popd
953%endif
954
955  # Install cacerts symlink.
956  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts
957  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
958    RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
959      %{_jvmdir}/%{jredir}/lib/security)
960    ln -sf $RELATIVE/cacerts .
961  popd
962
963  # Install extension symlinks.
964  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
965  pushd $RPM_BUILD_ROOT%{jvmjardir}
966    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
967    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
968    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
969    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
970    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
971    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
972    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
973    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
974    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
975    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
976    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
977    for jar in *-%{version}.jar
978    do
979      if [ x%{version} != x%{javaver} ]
980      then
981        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
982      fi
983      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
984    done
985  popd
986
987  # Install JCE policy symlinks.
988  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
989
990  # Install versionless symlinks.
991  pushd $RPM_BUILD_ROOT%{_jvmdir}
992    ln -sf %{jredir} %{jrelnk}
993    ln -sf %{sdkdir} %{sdklnk}
994  popd
995
996  pushd $RPM_BUILD_ROOT%{_jvmjardir}
997    ln -sf %{sdkdir} %{jrelnk}
998    ln -sf %{sdkdir} %{sdklnk}
999  popd
1000
1001  # Remove javaws man page
1002  rm -f man/man1/javaws*
1003
1004  # Install man pages.
1005  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
1006  for manpage in man/man1/*
1007  do
1008    # Convert man pages to UTF8 encoding.
1009    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
1010    mv -f $manpage.tmp $manpage
1011    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
1012      $manpage .1)-%{name}.1
1013  done
1014
1015  # Install demos and samples.
1016  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
1017  mkdir -p sample/rmi
1018  mv bin/java-rmi.cgi sample/rmi
1019  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
1020
1021popd
1022
1023
1024# Install nss.cfg
1025install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
1026
1027
1028# Install Javadoc documentation.
1029install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
1030cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}
1031
1032# Install icons and menu entries.
1033for s in 16 24 32 48 ; do
1034  install -D -p -m 644 \
1035    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
1036    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
1037done
1038
1039# Install desktop files.
1040install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
1041for e in jconsole policytool ; do
1042    desktop-file-install --vendor=%{name} --mode=644 \
1043        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
1044done
1045
1046# Find JRE directories.
1047find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
1048  | grep -v jre/lib/security \
1049  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
1050  > %{name}.files
1051# Find JRE files.
1052find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
1053  | grep -v jre/lib/security \
1054  | sed 's|'$RPM_BUILD_ROOT'||' \
1055  >> %{name}.files
1056# Find demo directories.
1057find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
1058  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
1059  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
1060  > %{name}-demo.files
1061
1062# FIXME: remove SONAME entries from demo DSOs.  See
1063# https://bugzilla.redhat.com/show_bug.cgi?id=436497
1064
1065# Find non-documentation demo files.
1066find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
1067  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
1068  -type f -o -type l | sort \
1069  | grep -v README \
1070  | sed 's|'$RPM_BUILD_ROOT'||' \
1071  >> %{name}-demo.files
1072# Find documentation demo files.
1073find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
1074  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
1075  -type f -o -type l | sort \
1076  | grep README \
1077  | sed 's|'$RPM_BUILD_ROOT'||' \
1078  | sed 's|^|%doc |' \
1079  >> %{name}-demo.files
1080
1081# FIXME: identical binaries are copied, not linked. This needs to be
1082# fixed upstream.
1083%post
1084ext=.gz
1085alternatives \
1086  --install %{_bindir}/java java %{jrebindir}/java %{priority} \
1087  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
1088  --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
1089  --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
1090  --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
1091  --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
1092  --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
1093  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
1094  --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
1095  --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
1096  --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
1097  --slave %{_mandir}/man1/java.1$ext java.1$ext \
1098  %{_mandir}/man1/java-%{name}.1$ext \
1099  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
1100  %{_mandir}/man1/keytool-%{name}.1$ext \
1101  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
1102  %{_mandir}/man1/orbd-%{name}.1$ext \
1103  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
1104  %{_mandir}/man1/pack200-%{name}.1$ext \
1105  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
1106  %{_mandir}/man1/rmid-%{name}.1$ext \
1107  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
1108  %{_mandir}/man1/rmiregistry-%{name}.1$ext \
1109  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
1110  %{_mandir}/man1/servertool-%{name}.1$ext \
1111  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
1112  %{_mandir}/man1/tnameserv-%{name}.1$ext \
1113  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
1114  %{_mandir}/man1/unpack200-%{name}.1$ext
1115
1116alternatives \
1117  --install %{_jvmdir}/jre-%{origin} \
1118  jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
1119  --slave %{_jvmjardir}/jre-%{origin} \
1120  jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
1121
1122alternatives \
1123  --install %{_jvmdir}/jre-%{javaver} \
1124  jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
1125  --slave %{_jvmjardir}/jre-%{javaver} \
1126  jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
1127
1128update-desktop-database %{_datadir}/applications &> /dev/null || :
1129
1130touch --no-create %{_datadir}/icons/hicolor
1131if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
1132  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
1133fi
1134
1135exit 0
1136
1137%postun
1138if [ $1 -eq 0 ]
1139then
1140  alternatives --remove java %{jrebindir}/java
1141  alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
1142  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
1143fi
1144
1145update-desktop-database %{_datadir}/applications &> /dev/null || :
1146
1147touch --no-create %{_datadir}/icons/hicolor
1148if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
1149  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
1150fi
1151
1152exit 0
1153
1154%post devel
1155ext=.gz
1156alternatives \
1157  --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
1158  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \
1159  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \
1160  --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
1161  --slave %{_bindir}/apt apt %{sdkbindir}/apt \
1162  --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
1163  --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
1164  --slave %{_bindir}/jar jar %{sdkbindir}/jar \
1165  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
1166  --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
1167  --slave %{_bindir}/javah javah %{sdkbindir}/javah \
1168  --slave %{_bindir}/javap javap %{sdkbindir}/javap \
1169  --slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \
1170  --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
1171  --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
1172  --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
1173  --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
1174  --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
1175  --slave %{_bindir}/jps jps %{sdkbindir}/jps \
1176  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
1177  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
1178  --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
1179  --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
1180  --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
1181  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
1182  --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \
1183  --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
1184  --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
1185  --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
1186  --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
1187  --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
1188  --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
1189  --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
1190  %{_mandir}/man1/appletviewer-%{name}.1$ext \
1191  --slave %{_mandir}/man1/apt.1$ext apt.1$ext \
1192  %{_mandir}/man1/apt-%{name}.1$ext \
1193  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
1194  %{_mandir}/man1/extcheck-%{name}.1$ext \
1195  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
1196  %{_mandir}/man1/jar-%{name}.1$ext \
1197  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
1198  %{_mandir}/man1/jarsigner-%{name}.1$ext \
1199  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
1200  %{_mandir}/man1/javac-%{name}.1$ext \
1201  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
1202  %{_mandir}/man1/javadoc-%{name}.1$ext \
1203  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
1204  %{_mandir}/man1/javah-%{name}.1$ext \
1205  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
1206  %{_mandir}/man1/javap-%{name}.1$ext \
1207  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
1208  %{_mandir}/man1/jconsole-%{name}.1$ext \
1209  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
1210  %{_mandir}/man1/jdb-%{name}.1$ext \
1211  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
1212  %{_mandir}/man1/jhat-%{name}.1$ext \
1213  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
1214  %{_mandir}/man1/jinfo-%{name}.1$ext \
1215  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
1216  %{_mandir}/man1/jmap-%{name}.1$ext \
1217  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
1218  %{_mandir}/man1/jps-%{name}.1$ext \
1219  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
1220  %{_mandir}/man1/jrunscript-%{name}.1$ext \
1221  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
1222  %{_mandir}/man1/jsadebugd-%{name}.1$ext \
1223  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
1224  %{_mandir}/man1/jstack-%{name}.1$ext \
1225  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
1226  %{_mandir}/man1/jstat-%{name}.1$ext \
1227  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
1228  %{_mandir}/man1/jstatd-%{name}.1$ext \
1229  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
1230  %{_mandir}/man1/native2ascii-%{name}.1$ext \
1231  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
1232  %{_mandir}/man1/policytool-%{name}.1$ext \
1233  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
1234  %{_mandir}/man1/rmic-%{name}.1$ext \
1235  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
1236  %{_mandir}/man1/schemagen-%{name}.1$ext \
1237  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
1238  %{_mandir}/man1/serialver-%{name}.1$ext \
1239  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
1240  %{_mandir}/man1/wsgen-%{name}.1$ext \
1241  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
1242  %{_mandir}/man1/wsimport-%{name}.1$ext \
1243  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
1244  %{_mandir}/man1/xjc-%{name}.1$ext
1245
1246alternatives \
1247  --install %{_jvmdir}/java-%{origin} \
1248  java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
1249  --slave %{_jvmjardir}/java-%{origin} \
1250  java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
1251
1252alternatives \
1253  --install %{_jvmdir}/java-%{javaver} \
1254  java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
1255  --slave %{_jvmjardir}/java-%{javaver} \
1256  java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
1257
1258exit 0
1259
1260%postun devel
1261if [ $1 -eq 0 ]
1262then
1263  alternatives --remove javac %{sdkbindir}/javac
1264  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
1265  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
1266fi
1267
1268exit 0
1269
1270%post javadoc
1271alternatives \
1272  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \
1273  %{priority}
1274
1275exit 0
1276
1277%postun javadoc
1278if [ $1 -eq 0 ]
1279then
1280  alternatives --remove javadocdir %{_javadocdir}/%{name}/api
1281fi
1282
1283exit 0
1284
1285
1286%files -f %{name}.files
1287%defattr(-,root,root,-)
1288%doc %{buildoutputdir}/j2sdk-image/jre/ASSEMBLY_EXCEPTION
1289%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
1290%doc %{buildoutputdir}/j2sdk-image/jre/THIRD_PARTY_README
1291
1292%dir %{_jvmdir}/%{sdkdir}
1293%{_jvmdir}/%{jrelnk}
1294%{_jvmjardir}/%{jrelnk}
1295%{_jvmprivdir}/*
1296%{jvmjardir}
1297%dir %{_jvmdir}/%{jredir}/lib/security
1298%{_jvmdir}/%{jredir}/lib/security/cacerts
1299%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
1300%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
1301%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
1302%{_mandir}/man1/java-%{name}.1*
1303%{_mandir}/man1/keytool-%{name}.1*
1304%{_mandir}/man1/orbd-%{name}.1*
1305%{_mandir}/man1/pack200-%{name}.1*
1306%{_mandir}/man1/rmid-%{name}.1*
1307%{_mandir}/man1/rmiregistry-%{name}.1*
1308%{_mandir}/man1/servertool-%{name}.1*
1309%{_mandir}/man1/tnameserv-%{name}.1*
1310%{_mandir}/man1/unpack200-%{name}.1*
1311%{_jvmdir}/%{jredir}/lib/security/nss.cfg
1312%{_jvmdir}/%{jredir}/lib/audio/
1313
1314
1315%files devel
1316%defattr(-,root,root,-)
1317%doc %{buildoutputdir}/j2sdk-image/ASSEMBLY_EXCEPTION
1318%doc %{buildoutputdir}/j2sdk-image/LICENSE
1319%doc %{buildoutputdir}/j2sdk-image/THIRD_PARTY_README
1320%dir %{_jvmdir}/%{sdkdir}/bin
1321%dir %{_jvmdir}/%{sdkdir}/include
1322%dir %{_jvmdir}/%{sdkdir}/lib
1323%if %{with_systemtap}
1324%dir %{_jvmdir}/%{sdkdir}/tapset
1325%endif
1326%{_jvmdir}/%{sdkdir}/bin/*
1327%{_jvmdir}/%{sdkdir}/include/*
1328%{_jvmdir}/%{sdkdir}/lib/*
1329%if %{with_systemtap}
1330%{_jvmdir}/%{sdkdir}/tapset/*.stp
1331%endif
1332%{_jvmdir}/%{sdklnk}
1333%{_jvmjardir}/%{sdklnk}
1334%{_datadir}/applications/*jconsole.desktop
1335%{_datadir}/applications/*policytool.desktop
1336%{_mandir}/man1/appletviewer-%{name}.1*
1337%{_mandir}/man1/apt-%{name}.1*
1338%{_mandir}/man1/extcheck-%{name}.1*
1339%{_mandir}/man1/idlj-%{name}.1*
1340%{_mandir}/man1/jar-%{name}.1*
1341%{_mandir}/man1/jarsigner-%{name}.1*
1342%{_mandir}/man1/javac-%{name}.1*
1343%{_mandir}/man1/javadoc-%{name}.1*
1344%{_mandir}/man1/javah-%{name}.1*
1345%{_mandir}/man1/javap-%{name}.1*
1346%{_mandir}/man1/jconsole-%{name}.1*
1347%ifarch %{jit_arches} # Only in u4+
1348%{_mandir}/man1/jcmd-%{name}.1*
1349%endif
1350%{_mandir}/man1/jdb-%{name}.1*
1351%{_mandir}/man1/jhat-%{name}.1*
1352%{_mandir}/man1/jinfo-%{name}.1*
1353%{_mandir}/man1/jmap-%{name}.1*
1354%{_mandir}/man1/jps-%{name}.1*
1355%{_mandir}/man1/jrunscript-%{name}.1*
1356%{_mandir}/man1/jsadebugd-%{name}.1*
1357%{_mandir}/man1/jstack-%{name}.1*
1358%{_mandir}/man1/jstat-%{name}.1*
1359%{_mandir}/man1/jstatd-%{name}.1*
1360%{_mandir}/man1/native2ascii-%{name}.1*
1361%{_mandir}/man1/policytool-%{name}.1*
1362%{_mandir}/man1/rmic-%{name}.1*
1363%{_mandir}/man1/schemagen-%{name}.1*
1364%{_mandir}/man1/serialver-%{name}.1*
1365%{_mandir}/man1/wsgen-%{name}.1*
1366%{_mandir}/man1/wsimport-%{name}.1*
1367%{_mandir}/man1/xjc-%{name}.1*
1368%if %{with_systemtap}
1369%{tapsetroot}
1370%endif
1371
1372%files demo -f %{name}-demo.files
1373%defattr(-,root,root,-)
1374%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
1375
1376%files src
1377%defattr(-,root,root,-)
1378%doc README.src
1379%{_jvmdir}/%{sdkdir}/src.zip
1380
1381%files javadoc
1382%defattr(-,root,root,-)
1383%doc %{_javadocdir}/%{name}
1384%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
1385
1386%changelog
1387* Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
1388- update to icedtea7 2.3.8
1389
1390* Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
1391- initial build for Vine Linux
1392
1393* Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
1394- Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
1395  arches
1396
1397* Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
1398- Fixed broken provides sections
1399- Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
1400
1401* Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
1402- Used newly prepared tarball with security fixes
1403- Bump to icedtea7-forest-2.2.1
1404- _mandir/man1/jcmd-name.1 added to alternatives
1405- Updated rhino.patch
1406- Modified partially upstreamed patch302 - systemtap.patch
1407- Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
1408- Removed already upstreamed patches 104,107,108,301
1409  - java-1.7.0-openjdk-arm-ftbfs.patch
1410  - java-1.7.0-openjdk-system-zlib.patch
1411  - java-1.7.0-openjdk-remove-mimpure-opt.patch
1412  - systemtap-alloc-size-workaround.patch
1413- patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
1414- patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
1415- Added build requires zip, which was untill now  dependence  of dependence
1416- Access gnome brridge jar forced to be 644
1417
1418* Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
1419- Miscellaneous fixes brought in from RHEL branch
1420- Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
1421- Moved Patch #7 (usage of system zlib) to #107
1422
1423* Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
1424- Removed VisualVM requirements
1425- Obsoleted java-1.6.0-openjdk*
1426- Added BR for zip
1427
1428* Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
1429- Added SystemTap fixes by Mark Wielaard
1430
1431* Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
1432- update paths in the ppc patches, add missing snippet
1433
1434* Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
1435- Reverted fix for rhbz#740762
1436- Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
1437- Moved OpenJDK specific patches to 1XX series
1438
1439* Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
1440- Resolved rhbz#740762: java.library.path is missing some paths
1441- Unified spec file for x86, x86_64, ARM and s390
1442  - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
1443  - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
1444
1445* Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
1446- Added flag so that debuginfo is built into classfiles (rhbz# 796400)
1447- Updated rhino.patch to build scripting support (rhbz# 796398)
1448
1449* Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
1450- Updated to OpenJDK7u3/IcedTea7 2.1
1451- Security fixes:
1452  - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
1453  - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
1454  - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
1455  - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
1456  - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
1457  - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
1458  - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
1459  - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
1460  - S7110704, CVE-2012-0506: CORBA fix
1461- Add patch to fix compilation with GCC 4.7
1462
1463* Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
1464- Added patch to fix bug in jdk_generic_profile.sh
1465- Compile with generic profile to use system libraries
1466- Made remove-intree-libraries.sh more robust
1467- Added lcms requirement
1468- Added patch to fix glibc name clash
1469- Updated java version to include -icedtea
1470
1471* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
1472- Added missing changelog entry
1473
1474* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
1475- Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
1476- Removed obsoleted patches
1477- Added system timezone support
1478- Revamp version/release naming scheme to make it proper
1479- Security fixes
1480  - S7000600, CVE-2011-3547: InputStream skip() information leak
1481  - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
1482  - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
1483  - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
1484  - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
1485  - S7055902, CVE-2011-3521: IIOP deserialization code execution
1486  - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
1487  - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
1488  - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
1489  - S7077466, CVE-2011-3556: RMI DGC server remote code execution
1490  - S7083012, CVE-2011-3557: RMI registry privileged code execution
1491  - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
1492
1493* Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
1494- Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
1495- Resolves: rhbz#728706,  patch from Ville Skyttä <ville.skytta at iki dot fi>
1496
1497* Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
1498- Use a newer snapshot and forest on classpath.org rather than on openjdk.net
1499- Added in-tree-removal script to remove libraries that we manually link
1500- Updated snapshots
1501- Added DISTRO_NAME and FreeType header/lib locations
1502- Removed application of patch100 and patch 113 (now in forest)
1503
1504* Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
1505- Initial build from java-1.6.0-openjdk RPM
Note: See TracBrowser for help on using the repository browser.