/[packages]/cauldron/java-1.8.0-openjdk/current/SPECS/java-1.8.0-openjdk.spec
ViewVC logotype

Annotation of /cauldron/java-1.8.0-openjdk/current/SPECS/java-1.8.0-openjdk.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 489356 - (hide annotations) (download)
Sun Sep 29 20:41:25 2013 UTC (10 years, 6 months ago) by dmorgan
File size: 29035 byte(s)
New version
1 dmorgan 463625 # If debug is 1, OpenJDK is built with all debug info present.
2     %global debug 0
3    
4 dmorgan 489356 %global jdk8_version b106
5 dmorgan 463625 %global hg_tag jdk8-%{jdk8_version}
6 dmorgan 489356 %global aarch64_hg_tag aarch64-20130813
7 dmorgan 463625
8     %global aarch64 aarch64 arm64 armv8
9     %global multilib_arches %{power64} sparc64 x86_64 %{aarch64}
10     %global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64}
11    
12    
13     %ifarch x86_64
14     %global archinstall amd64
15     %endif
16     %ifarch ppc
17     %global archinstall ppc
18     %endif
19     %ifarch %{power64}
20     %global archinstall ppc64
21     %endif
22     %ifarch %{ix86}
23     %global archinstall i386
24     %endif
25     %ifarch ia64
26     %global archinstall ia64
27     %endif
28     %ifarch s390
29     %global archinstall s390
30     %endif
31     %ifarch s390x
32     %global archinstall s390x
33     %endif
34     %ifarch %{arm}
35     %global archinstall arm
36     %endif
37     %ifarch %{aarch64}
38     %global archinstall aarch64
39     %endif
40     # 32 bit sparc, optimized for v9
41     %ifarch sparcv9
42     %global archinstall sparc
43     %endif
44     # 64 bit sparc
45     %ifarch sparc64
46     %global archinstall sparcv9
47     %endif
48     %ifnarch %{jit_arches}
49     %global archinstall %{_arch}
50     %endif
51    
52     %if %{debug}
53     %global debugbuild slowdebug
54     %else
55     %global debugbuild release
56     %endif
57    
58     %global buildoutputdir jdk8/build/jdk8.build
59    
60     %ifarch %{jit_arches}
61     %global with_systemtap 1
62     %else
63     %global with_systemtap 0
64     %endif
65    
66     # Convert an absolute path to a relative path. Each symbolic link is
67     # specified relative to the directory in which it is installed so that
68     # it will resolve properly within chrooted installations.
69     %global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
70     %global abs2rel %{__perl} -e %{script}
71    
72     # Hard-code libdir on 64-bit architectures to make the 64-bit JDK
73     # simply be another alternative.
74     %ifarch %{multilib_arches}
75     %global syslibdir %{_prefix}/lib64
76     %global _libdir %{_prefix}/lib
77     %global archname %{name}.%{_arch}
78     %else
79     %global syslibdir %{_libdir}
80     %global archname %{name}
81     %endif
82    
83     # Standard JPackage naming and versioning defines.
84     %global origin openjdk
85     %global buildver 0
86     # priority must be 6 digits in total
87     %global priority 00000%{buildver}
88     %global javaver 1.8.0
89    
90     # Standard JPackage directories and symbolic links.
91     # Make 64-bit JDKs just another alternative on 64-bit architectures.
92     %ifarch %{multilib_arches}
93     %global sdklnk java-%{javaver}-%{origin}.%{_arch}
94     %global jrelnk jre-%{javaver}-%{origin}.%{_arch}
95     %global sdkdir %{name}-%{version}.%{_arch}
96     %else
97     %global sdklnk java-%{javaver}-%{origin}
98     %global jrelnk jre-%{javaver}-%{origin}
99     %global sdkdir %{name}-%{version}
100     %endif
101     %global jredir %{sdkdir}/jre
102     %global sdkbindir %{_jvmdir}/%{sdklnk}/bin
103     %global jrebindir %{_jvmdir}/%{jrelnk}/bin
104     %ifarch %{multilib_arches}
105     %global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch}
106     %else
107     %global jvmjardir %{_jvmjardir}/%{name}-%{version}
108     %endif
109    
110 dmorgan 489356 %if %{with_systemtap}
111 dmorgan 463625 # Where to install systemtap tapset (links)
112     # We would like these to be in a package specific subdir,
113     # but currently systemtap doesn't support that, so we have to
114     # use the root tapset dir for now. To distinquish between 64
115     # and 32 bit architectures we place the tapsets under the arch
116     # specific dir (note that systemtap will only pickup the tapset
117     # for the primary arch for now). Systemtap uses the machine name
118     # aka build_cpu as architecture specific directory name.
119     %global tapsetroot /usr/share/systemtap
120     %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
121     %endif
122    
123     # Prevent brp-java-repack-jars from being run.
124     %global __jar_repack 0
125    
126     Name: java-%{javaver}-%{origin}
127     Version: %{javaver}.%{buildver}
128 dmorgan 489356 Release: %mkrel 0.19.%{jdk8_version}.1
129 dmorgan 463625 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
130     # and this change was brought into RHEL-4. java-1.5.0-ibm packages
131     # also included the epoch in their virtual provides. This created a
132     # situation where in-the-wild java-1.5.0-ibm packages provided "java =
133     # 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
134     # interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
135     # satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
136     # JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
137     # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
138     Epoch: 1
139     Summary: OpenJDK Runtime Environment
140     Group: Development/Java
141    
142     License: 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
143     URL: http://openjdk.java.net/
144    
145 dmorgan 489356 # Source from upstrem OpenJDK8 project. To regenerate, use
146     # ./generate_source_tarball.sh jdk8 %{hg_tag}
147     # ./generate_source_tarball.sh aarch64-port %{aarch64_hg_tag}
148     Source0: jdk8-%{hg_tag}.tar.xz
149     Source1: aarch64-port-%{aarch64_hg_tag}.tar.xz
150 dmorgan 463625
151     # Custom README for -src subpackage
152     Source2: README.src
153    
154     # Use 'generate_tarballs.sh' to generate the following tarballs
155     # They are based on code contained in the IcedTea7 project.
156    
157     # Systemtap tapsets. Zipped up to keep it small.
158     Source8: systemtap-tapset.tar.gz
159     # .desktop files. Zipped up to keep it small.
160     Source9: desktop-files.tar.gz
161    
162     # nss configuration file
163     Source10: nss.cfg
164    
165     # Removed libraries that we link instead
166     Source12: remove-intree-libraries.sh
167    
168     # Ensure we aren't using the limited crypto policy
169     Source13: TestCryptoLevel.java
170    
171     Source100: config.guess
172     Source101: config.sub
173    
174     # RPM/distribution specific patches
175    
176     # Ignore AWTError when assistive technologies are loaded
177     Patch1: %{name}-accessible-toolkit.patch
178    
179     #
180     # OpenJDK specific patches
181     #
182    
183     # Recognize s390/s390x
184     Patch100: %{name}-s390.patch
185     # Type fixing for s390
186     Patch101: %{name}-bitmap.patch
187     Patch102: %{name}-size_t.patch
188    
189     # Patch for PPC/PPC64
190     Patch103: %{name}-ppc-zero-hotspot.patch
191    
192     Patch201: system-libjpeg.patch
193     Patch202: system-libpng.patch
194     Patch203: system-lcms.patch
195     Patch2031: system-lcmsAARCH64.patch
196    
197     BuildRequires: autoconf
198     BuildRequires: automake
199     BuildRequires: alsa-lib-devel
200     BuildRequires: cups-devel
201     BuildRequires: desktop-file-utils
202     BuildRequires: fontconfig
203     BuildRequires: freetype-devel
204     BuildRequires: giflib-devel
205     BuildRequires: gcc-c++
206     BuildRequires: gtk2-devel
207     BuildRequires: lcms2-devel
208     BuildRequires: libjpeg-devel
209     BuildRequires: libpng-devel
210     #BuildRequires: libxslt
211     BuildRequires: libx11-devel
212     BuildRequires: libxi-devel
213     BuildRequires: libxinerama-devel
214     BuildRequires: libxt-devel
215     BuildRequires: libxtst-devel
216     BuildRequires: pkgconfig
217 dmorgan 489356 BuildRequires: x11-proto-devel
218     #BuildRequires: redhat-lsb
219 dmorgan 463625 BuildRequires: zip
220     # OpenJDK X officially requires OpenJDK (X-1) to build
221     BuildRequires: java-1.7.0-openjdk-devel
222     # Zero-assembler build requirement.
223     %ifnarch %{jit_arches}
224     BuildRequires: libffi-devel
225     %endif
226    
227     # cacerts build requirement.
228     BuildRequires: openssl
229     # execstack build requirement.
230     # no prelink on ARM yet
231     %ifnarch %{arm} %{aarch64}
232     BuildRequires: prelink
233     %endif
234 dmorgan 489356 %if %{with_systemtap}
235 dmorgan 463625 BuildRequires: systemtap
236     %endif
237    
238     # Require /etc/pki/java/cacerts.
239     Requires: ca-certificates
240     # Require jpackage-utils for ownership of /usr/lib/jvm/
241     Requires: jpackage-utils
242     # Require zoneinfo data provided by tzdata-java subpackage.
243     Requires: tzdata-java
244     # Post requires alternatives to install tool alternatives.
245     Requires(post): %{_sbindir}/alternatives
246     # Postun requires alternatives to uninstall tool alternatives.
247     Requires(postun): %{_sbindir}/alternatives
248    
249     # Standard JPackage base provides.
250     Provides: jre8-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
251     Provides: jre8-%{origin} = %{epoch}:%{version}-%{release}
252     Provides: jre8-%{javaver} = %{epoch}:%{version}-%{release}
253     Provides: java8-%{javaver} = %{epoch}:%{version}-%{release}
254     Provides: jre8 = %{javaver}
255     Provides: java8-%{origin} = %{epoch}:%{version}-%{release}
256     Provides: java8 = %{epoch}:%{javaver}
257     # Standard JPackage extensions provides.
258     Provides: jndi8 = %{epoch}:%{version}
259     Provides: jndi8-ldap = %{epoch}:%{version}
260     Provides: jndi8-cos = %{epoch}:%{version}
261     Provides: jndi8-rmi = %{epoch}:%{version}
262     Provides: jndi8-dns = %{epoch}:%{version}
263     Provides: jaas8 = %{epoch}:%{version}
264     Provides: jsse8 = %{epoch}:%{version}
265     Provides: jce8 = %{epoch}:%{version}
266     Provides: jdbc8-stdext = 4.1
267     Provides: java8-sasl = %{epoch}:%{version}
268     Provides: java8-fonts = %{epoch}:%{version}
269    
270     %description
271     The OpenJDK runtime environment.
272    
273     %package devel
274     Summary: OpenJDK Development Environment
275     Group: Development/Java
276    
277     # Require base package.
278     Requires: %{name} = %{epoch}:%{version}-%{release}
279     # Post requires alternatives to install tool alternatives.
280     Requires(post): %{_sbindir}/alternatives
281     # Postun requires alternatives to uninstall tool alternatives.
282     Requires(postun): %{_sbindir}/alternatives
283    
284     # Standard JPackage devel provides.
285     Provides: java8-sdk-%{javaver}-%{origin} = %{epoch}:%{version}
286     Provides: java8-sdk-%{javaver} = %{epoch}:%{version}
287     Provides: java8-sdk-%{origin} = %{epoch}:%{version}
288     Provides: java8-sdk = %{epoch}:%{javaver}
289     Provides: java8-%{javaver}-devel = %{epoch}:%{version}
290     Provides: java8-devel-%{origin} = %{epoch}:%{version}
291     Provides: java8-devel = %{epoch}:%{javaver}
292    
293    
294     %description devel
295     The OpenJDK development tools.
296    
297     %package demo
298     Summary: OpenJDK Demos
299     Group: Development/Java
300    
301     Requires: %{name} = %{epoch}:%{version}-%{release}
302    
303     %description demo
304     The OpenJDK demos.
305    
306     %package src
307     Summary: OpenJDK Source Bundle
308     Group: Development/Java
309 dmorgan 489356
310 dmorgan 463625 Requires: %{name} = %{epoch}:%{version}-%{release}
311    
312     %description src
313     The OpenJDK source bundle.
314    
315     %package javadoc
316     Summary: OpenJDK API Documentation
317     Group: Documentation
318     Requires: jpackage-utils
319     BuildArch: noarch
320    
321     # Post requires alternatives to install javadoc alternative.
322     Requires(post): %{_sbindir}/alternatives
323     # Postun requires alternatives to uninstall javadoc alternative.
324     Requires(postun): %{_sbindir}/alternatives
325    
326     # Standard JPackage javadoc provides.
327     Provides: java8-javadoc = %{epoch}:%{version}-%{release}
328     Provides: java8-%{javaver}-javadoc = %{epoch}:%{version}-%{release}
329    
330     %description javadoc
331     The OpenJDK API documentation.
332    
333     %prep
334     %ifarch %{aarch64}
335     %global source_num 1
336     %else
337     %global source_num 0
338     %endif
339    
340     %setup -q -c -n %{name} -T -a %{source_num}
341     cp %{SOURCE2} .
342    
343     #repalce outdated configure guess script
344     cp %{SOURCE100} jdk8/common/autoconf/build-aux/
345     cp %{SOURCE101} jdk8/common/autoconf/build-aux/
346    
347     # OpenJDK patches
348    
349     # Remove libraries that are linked
350     # disabled until 8 has all system library fixes upstream
351    
352     sh %{SOURCE12}
353    
354     %patch201
355     %patch202
356    
357     %ifarch %{aarch64}
358     %patch2031
359     %else
360     %patch203
361     %endif
362    
363    
364     %patch1
365    
366     # Type fixes for s390
367     %ifarch s390 s390x
368     %patch100
369     %patch101
370     %patch102
371     %endif
372    
373     %ifarch ppc %{power64}
374     # PPC fixes
375     %patch103
376     %endif
377    
378     # Extract systemtap tapsets
379     %if %{with_systemtap}
380    
381     tar xzf %{SOURCE8}
382    
383     for file in tapset/*.in; do
384    
385     OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
386     sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/amd64/server/libjvm.so:g $file > $OUTPUT_FILE
387     sed -i -e '/@ABS_CLIENT_LIBJVM_SO@/d' $OUTPUT_FILE
388     sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE
389     sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
390    
391     done
392    
393     %endif
394    
395     # Extract desktop files
396     tar xzf %{SOURCE9}
397    
398     %build
399     # How many cpu's do we have?
400     export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
401     export NUM_PROC=${NUM_PROC:-1}
402    
403     # Build IcedTea and OpenJDK.
404     %ifarch s390x sparc64 alpha %{power64}
405     export ARCH_DATA_MODEL=64
406     %endif
407     %ifarch alpha
408     export CFLAGS="$CFLAGS -mieee"
409     %endif
410    
411     (cd jdk8/common/autoconf
412     bash ./autogen.sh
413     )
414    
415     mkdir -p %{buildoutputdir}
416    
417     pushd %{buildoutputdir}
418    
419     bash ../../configure \
420     %ifnarch %{jit_arches}
421     --with-jvm-variants=zero \
422     %endif
423 dmorgan 489356 %ifarch %{aarch64}
424     --with-jvm-variants=client \
425     --disable-precompiled-headers \
426     %endif
427     --disable-zip-debug-info \
428 dmorgan 463625 --with-build-number=%{buildver} \
429     --with-boot-jdk=/usr/lib/jvm/java-openjdk \
430     --with-debug-level=%{debugbuild} \
431     --enable-unlimited-crypto \
432     --with-zlib=system \
433     --with-giflib=system \
434     --with-libpng=system \
435     --with-lcms=system \
436     --with-stdc++lib=dynamic \
437     --with-num-cores="$NUM_PROC"
438    
439     make SCTP_WERROR= DEBUG_BINARIES=true DISABLE_INTREE_EC=true LOG=trace all
440    
441     # the build (erroneously) removes read permissions from some jars
442     # this is a regression in OpenJDK 7 (our compiler):
443     # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
444     find images/j2sdk-image -iname '*.jar' -exec chmod ugo+r {} \;
445     chmod ugo+r images/j2sdk-image/lib/ct.sym
446    
447     popd >& /dev/null
448    
449     export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image
450    
451     # Copy tz.properties
452     echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
453    
454     # Check unlimited policy has been used
455     $JAVA_HOME/bin/javac -d . %{SOURCE13}
456     $JAVA_HOME/bin/java TestCryptoLevel
457    
458     %install
459     rm -rf $RPM_BUILD_ROOT
460     STRIP_KEEP_SYMTAB=libjvm*
461    
462     # Install symlink to default soundfont
463     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
464     pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
465     ln -s %{_datadir}/soundfonts/default.sf2
466     popd
467    
468     pushd %{buildoutputdir}/images/j2sdk-image
469    
470     # Install main files.
471     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
472     cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
473     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
474     cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
475    
476 dmorgan 489356 %if %{with_systemtap}
477 dmorgan 463625 # Install systemtap support files.
478     install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
479     cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
480     install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
481     pushd $RPM_BUILD_ROOT%{tapsetdir}
482     RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
483     ln -sf $RELATIVE/*.stp .
484     popd
485     %endif
486    
487     # Install cacerts symlink.
488     rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts
489     pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
490     RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
491     %{_jvmdir}/%{jredir}/lib/security)
492     ln -sf $RELATIVE/cacerts .
493     popd
494    
495     # Install extension symlinks.
496     install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
497     pushd $RPM_BUILD_ROOT%{jvmjardir}
498     RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
499     ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
500     ln -sf $RELATIVE/jce.jar jce-%{version}.jar
501     ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
502     ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
503     ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
504     ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
505     ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
506     ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
507     ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
508     ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
509     for jar in *-%{version}.jar
510     do
511     if [ x%{version} != x%{javaver} ]
512     then
513     ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
514     fi
515     ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
516     done
517     popd
518    
519     # Install JCE policy symlinks.
520     install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
521    
522     # Install versionless symlinks.
523     pushd $RPM_BUILD_ROOT%{_jvmdir}
524     ln -sf %{jredir} %{jrelnk}
525     ln -sf %{sdkdir} %{sdklnk}
526     popd
527    
528     pushd $RPM_BUILD_ROOT%{_jvmjardir}
529     ln -sf %{sdkdir} %{jrelnk}
530     ln -sf %{sdkdir} %{sdklnk}
531     popd
532    
533     # Remove javaws man page
534     rm -f man/man1/javaws*
535    
536     # Install man pages.
537     install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
538     for manpage in man/man1/*
539     do
540     # Convert man pages to UTF8 encoding.
541     iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
542     mv -f $manpage.tmp $manpage
543     install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
544     $manpage .1)-%{name}.1
545     done
546    
547     # Install demos and samples.
548     cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
549     mkdir -p sample/rmi
550     mv bin/java-rmi.cgi sample/rmi
551     cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
552    
553     popd
554    
555    
556     # Install nss.cfg
557     install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
558    
559    
560     # Install Javadoc documentation.
561     install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
562     cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}
563    
564     # Install icons and menu entries.
565     for s in 16 24 32 48 ; do
566     install -D -p -m 644 \
567     jdk8/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
568     $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
569     done
570    
571     # Install desktop files.
572     install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
573     for e in jconsole policytool ; do
574     desktop-file-install --vendor=%{name} --mode=644 \
575     --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
576     done
577    
578     # Find JRE directories.
579     find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
580     | grep -v jre/lib/security \
581     | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
582     > %{name}.files
583     # Find JRE files.
584     find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
585     | grep -v jre/lib/security \
586     | sed 's|'$RPM_BUILD_ROOT'||' \
587     >> %{name}.files
588     # Find demo directories.
589     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
590     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
591     | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
592     > %{name}-demo.files
593    
594     # FIXME: remove SONAME entries from demo DSOs. See
595     # https://bugzilla.redhat.com/show_bug.cgi?id=436497
596    
597     # Find non-documentation demo files.
598     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
599     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
600     -type f -o -type l | sort \
601     | grep -v README \
602     | sed 's|'$RPM_BUILD_ROOT'||' \
603     >> %{name}-demo.files
604     # Find documentation demo files.
605     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
606     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
607     -type f -o -type l | sort \
608     | grep README \
609     | sed 's|'$RPM_BUILD_ROOT'||' \
610     | sed 's|^|%doc |' \
611     >> %{name}-demo.files
612    
613     # FIXME: identical binaries are copied, not linked. This needs to be
614     # fixed upstream.
615     %post
616     ext=.gz
617     alternatives \
618     --install %{_bindir}/java java %{jrebindir}/java %{priority} \
619     --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
620     --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
621     --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
622     --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
623     --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
624     --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
625     --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
626     --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
627     --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
628     --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
629     --slave %{_mandir}/man1/java.1$ext java.1$ext \
630     %{_mandir}/man1/java-%{name}.1$ext \
631     --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
632     %{_mandir}/man1/keytool-%{name}.1$ext \
633     --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
634     %{_mandir}/man1/orbd-%{name}.1$ext \
635     --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
636     %{_mandir}/man1/pack200-%{name}.1$ext \
637     --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
638     %{_mandir}/man1/rmid-%{name}.1$ext \
639     --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
640     %{_mandir}/man1/rmiregistry-%{name}.1$ext \
641     --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
642     %{_mandir}/man1/servertool-%{name}.1$ext \
643     --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
644     %{_mandir}/man1/tnameserv-%{name}.1$ext \
645     --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
646     %{_mandir}/man1/unpack200-%{name}.1$ext
647    
648     alternatives \
649     --install %{_jvmdir}/jre-%{origin} \
650     jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
651     --slave %{_jvmjardir}/jre-%{origin} \
652     jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
653    
654     alternatives \
655     --install %{_jvmdir}/jre-%{javaver} \
656     jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
657     --slave %{_jvmjardir}/jre-%{javaver} \
658     jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
659    
660     update-desktop-database %{_datadir}/applications &> /dev/null || :
661    
662     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
663    
664     exit 0
665    
666     %postun
667     if [ $1 -eq 0 ]
668     then
669     alternatives --remove java %{jrebindir}/java
670     alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
671     alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
672     fi
673    
674     update-desktop-database %{_datadir}/applications &> /dev/null || :
675    
676     if [ $1 -eq 0 ] ; then
677     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
678     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
679     fi
680    
681     exit 0
682    
683     %posttrans
684     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
685    
686     %post devel
687     ext=.gz
688     alternatives \
689     --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
690     --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \
691     --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \
692     --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
693     --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
694     --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
695     --slave %{_bindir}/jar jar %{sdkbindir}/jar \
696     --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
697     --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
698     --slave %{_bindir}/javah javah %{sdkbindir}/javah \
699     --slave %{_bindir}/javap javap %{sdkbindir}/javap \
700     --slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \
701     --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
702     --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
703     --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
704     --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
705     --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
706     --slave %{_bindir}/jps jps %{sdkbindir}/jps \
707     --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
708     --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
709     --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
710     --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
711     --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
712     --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
713     --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \
714     --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
715     --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
716     --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
717     --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
718     --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
719     --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
720     --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
721     %{_mandir}/man1/appletviewer-%{name}.1$ext \
722     --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
723     %{_mandir}/man1/extcheck-%{name}.1$ext \
724     --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \
725     %{_mandir}/man1/idlj-%{name}.1$ext \
726     --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
727     %{_mandir}/man1/jar-%{name}.1$ext \
728     --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
729     %{_mandir}/man1/jarsigner-%{name}.1$ext \
730     --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
731     %{_mandir}/man1/javac-%{name}.1$ext \
732     --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
733     %{_mandir}/man1/javadoc-%{name}.1$ext \
734     --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
735     %{_mandir}/man1/javah-%{name}.1$ext \
736     --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
737     %{_mandir}/man1/javap-%{name}.1$ext \
738     --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \
739     %{_mandir}/man1/jcmd-%{name}.1$ext \
740     --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
741     %{_mandir}/man1/jconsole-%{name}.1$ext \
742     --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
743     %{_mandir}/man1/jdb-%{name}.1$ext \
744     --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
745     %{_mandir}/man1/jhat-%{name}.1$ext \
746     --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
747     %{_mandir}/man1/jinfo-%{name}.1$ext \
748     --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
749     %{_mandir}/man1/jmap-%{name}.1$ext \
750     --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
751     %{_mandir}/man1/jps-%{name}.1$ext \
752     --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
753     %{_mandir}/man1/jrunscript-%{name}.1$ext \
754     --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
755     %{_mandir}/man1/jsadebugd-%{name}.1$ext \
756     --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
757     %{_mandir}/man1/jstack-%{name}.1$ext \
758     --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
759     %{_mandir}/man1/jstat-%{name}.1$ext \
760     --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
761     %{_mandir}/man1/jstatd-%{name}.1$ext \
762     --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
763     %{_mandir}/man1/native2ascii-%{name}.1$ext \
764     --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
765     %{_mandir}/man1/policytool-%{name}.1$ext \
766     --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
767     %{_mandir}/man1/rmic-%{name}.1$ext \
768     --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
769     %{_mandir}/man1/schemagen-%{name}.1$ext \
770     --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
771     %{_mandir}/man1/serialver-%{name}.1$ext \
772     --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
773     %{_mandir}/man1/wsgen-%{name}.1$ext \
774     --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
775     %{_mandir}/man1/wsimport-%{name}.1$ext \
776     --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
777     %{_mandir}/man1/xjc-%{name}.1$ext
778    
779     alternatives \
780     --install %{_jvmdir}/java-%{origin} \
781     java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
782     --slave %{_jvmjardir}/java-%{origin} \
783     java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
784    
785     alternatives \
786     --install %{_jvmdir}/java-%{javaver} \
787     java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
788     --slave %{_jvmjardir}/java-%{javaver} \
789     java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
790    
791     exit 0
792    
793     %postun devel
794     if [ $1 -eq 0 ]
795     then
796     alternatives --remove javac %{sdkbindir}/javac
797     alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
798     alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
799     fi
800    
801     exit 0
802    
803     %post javadoc
804     alternatives \
805     --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \
806     %{priority}
807    
808     exit 0
809    
810     %postun javadoc
811     if [ $1 -eq 0 ]
812     then
813     alternatives --remove javadocdir %{_javadocdir}/%{name}/api
814     fi
815    
816     exit 0
817    
818    
819     %files -f %{name}.files
820     %defattr(-,root,root,-)
821     %doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION
822     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
823     %doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README
824    
825     %dir %{_jvmdir}/%{sdkdir}
826     %{_jvmdir}/%{jrelnk}
827     %{_jvmjardir}/%{jrelnk}
828     %{_jvmprivdir}/*
829     %{jvmjardir}
830     %dir %{_jvmdir}/%{jredir}/lib/security
831     %{_jvmdir}/%{jredir}/lib/security/cacerts
832     %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
833     %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
834     %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
835     %{_mandir}/man1/java-%{name}.1*
836     %{_mandir}/man1/keytool-%{name}.1*
837     %{_mandir}/man1/orbd-%{name}.1*
838     %{_mandir}/man1/pack200-%{name}.1*
839     %{_mandir}/man1/rmid-%{name}.1*
840     %{_mandir}/man1/rmiregistry-%{name}.1*
841     %{_mandir}/man1/servertool-%{name}.1*
842     %{_mandir}/man1/tnameserv-%{name}.1*
843     %{_mandir}/man1/unpack200-%{name}.1*
844     %{_jvmdir}/%{jredir}/lib/security/nss.cfg
845     %{_jvmdir}/%{jredir}/lib/audio/
846     %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
847     %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
848    
849     %files devel
850     %defattr(-,root,root,-)
851     %doc %{buildoutputdir}/images/j2sdk-image/ASSEMBLY_EXCEPTION
852     %doc %{buildoutputdir}/images/j2sdk-image/LICENSE
853     %doc %{buildoutputdir}/images/j2sdk-image/THIRD_PARTY_README
854     %dir %{_jvmdir}/%{sdkdir}/bin
855     %dir %{_jvmdir}/%{sdkdir}/include
856     %dir %{_jvmdir}/%{sdkdir}/lib
857 dmorgan 489356 %if %{with_systemtap}
858 dmorgan 463625 %dir %{_jvmdir}/%{sdkdir}/tapset
859     %endif
860     %{_jvmdir}/%{sdkdir}/bin/*
861     %{_jvmdir}/%{sdkdir}/include/*
862     %{_jvmdir}/%{sdkdir}/lib/*
863 dmorgan 489356 %if %{with_systemtap}
864 dmorgan 463625 %{_jvmdir}/%{sdkdir}/tapset/*.stp
865     %endif
866     %{_jvmdir}/%{sdklnk}
867     %{_jvmjardir}/%{sdklnk}
868     %{_datadir}/applications/*jconsole.desktop
869     %{_datadir}/applications/*policytool.desktop
870     %{_mandir}/man1/appletviewer-%{name}.1*
871     %{_mandir}/man1/extcheck-%{name}.1*
872     %{_mandir}/man1/idlj-%{name}.1*
873     %{_mandir}/man1/jar-%{name}.1*
874     %{_mandir}/man1/jarsigner-%{name}.1*
875     %{_mandir}/man1/javac-%{name}.1*
876     %{_mandir}/man1/javadoc-%{name}.1*
877     %{_mandir}/man1/javah-%{name}.1*
878     %{_mandir}/man1/javap-%{name}.1*
879     %{_mandir}/man1/jconsole-%{name}.1*
880     %{_mandir}/man1/jcmd-%{name}.1*
881     %{_mandir}/man1/jdb-%{name}.1*
882     %{_mandir}/man1/jhat-%{name}.1*
883     %{_mandir}/man1/jinfo-%{name}.1*
884     %{_mandir}/man1/jmap-%{name}.1*
885     %{_mandir}/man1/jps-%{name}.1*
886     %{_mandir}/man1/jrunscript-%{name}.1*
887     %{_mandir}/man1/jsadebugd-%{name}.1*
888     %{_mandir}/man1/jstack-%{name}.1*
889     %{_mandir}/man1/jstat-%{name}.1*
890     %{_mandir}/man1/jstatd-%{name}.1*
891     %{_mandir}/man1/native2ascii-%{name}.1*
892     %{_mandir}/man1/policytool-%{name}.1*
893     %{_mandir}/man1/rmic-%{name}.1*
894     %{_mandir}/man1/schemagen-%{name}.1*
895     %{_mandir}/man1/serialver-%{name}.1*
896     %{_mandir}/man1/wsgen-%{name}.1*
897     %{_mandir}/man1/wsimport-%{name}.1*
898     %{_mandir}/man1/xjc-%{name}.1*
899 dmorgan 489356 %if %{with_systemtap}
900 dmorgan 463625 %{tapsetroot}
901     %endif
902    
903     %files demo -f %{name}-demo.files
904     %defattr(-,root,root,-)
905     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
906    
907     %files src
908     %defattr(-,root,root,-)
909     %doc README.src
910     %{_jvmdir}/%{sdkdir}/src.zip
911    
912     %files javadoc
913     %defattr(-,root,root,-)
914     %doc %{_javadocdir}/%{name}
915     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
916    
917 dmorgan 489356

  ViewVC Help
Powered by ViewVC 1.1.30