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

Revision 6620, 46.0 KB checked in by daisuke, 12 years ago (diff)

new package java-1.7.0-openjdk-1.7.0.5 with icedtea 2.2.1

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