/[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 543864 - (hide annotations) (download)
Tue Oct 22 02:45:31 2013 UTC (10 years, 5 months ago) by umeabot
File size: 29080 byte(s)
Mageia 4 Mass Rebuild
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 umeabot 543864 Release: %mkrel 0.19.%{jdk8_version}.3
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 luigiwalser 498086 Patch0: %{name}-make-4.0.patch
176 dmorgan 463625
177     # Ignore AWTError when assistive technologies are loaded
178     Patch1: %{name}-accessible-toolkit.patch
179    
180     #
181     # OpenJDK specific patches
182     #
183    
184     # Recognize s390/s390x
185     Patch100: %{name}-s390.patch
186     # Type fixing for s390
187     Patch101: %{name}-bitmap.patch
188     Patch102: %{name}-size_t.patch
189    
190     # Patch for PPC/PPC64
191     Patch103: %{name}-ppc-zero-hotspot.patch
192    
193     Patch201: system-libjpeg.patch
194     Patch202: system-libpng.patch
195     Patch203: system-lcms.patch
196     Patch2031: system-lcmsAARCH64.patch
197    
198     BuildRequires: autoconf
199     BuildRequires: automake
200     BuildRequires: alsa-lib-devel
201     BuildRequires: cups-devel
202     BuildRequires: desktop-file-utils
203     BuildRequires: fontconfig
204     BuildRequires: freetype-devel
205     BuildRequires: giflib-devel
206     BuildRequires: gcc-c++
207     BuildRequires: gtk2-devel
208     BuildRequires: lcms2-devel
209     BuildRequires: libjpeg-devel
210     BuildRequires: libpng-devel
211     #BuildRequires: libxslt
212     BuildRequires: libx11-devel
213     BuildRequires: libxi-devel
214     BuildRequires: libxinerama-devel
215     BuildRequires: libxt-devel
216     BuildRequires: libxtst-devel
217     BuildRequires: pkgconfig
218 dmorgan 489356 BuildRequires: x11-proto-devel
219     #BuildRequires: redhat-lsb
220 dmorgan 463625 BuildRequires: zip
221     # OpenJDK X officially requires OpenJDK (X-1) to build
222     BuildRequires: java-1.7.0-openjdk-devel
223     # Zero-assembler build requirement.
224     %ifnarch %{jit_arches}
225     BuildRequires: libffi-devel
226     %endif
227    
228     # cacerts build requirement.
229     BuildRequires: openssl
230     # execstack build requirement.
231     # no prelink on ARM yet
232     %ifnarch %{arm} %{aarch64}
233     BuildRequires: prelink
234     %endif
235 dmorgan 489356 %if %{with_systemtap}
236 dmorgan 463625 BuildRequires: systemtap
237     %endif
238    
239     # Require /etc/pki/java/cacerts.
240     Requires: ca-certificates
241     # Require jpackage-utils for ownership of /usr/lib/jvm/
242     Requires: jpackage-utils
243     # Require zoneinfo data provided by tzdata-java subpackage.
244     Requires: tzdata-java
245     # Post requires alternatives to install tool alternatives.
246     Requires(post): %{_sbindir}/alternatives
247     # Postun requires alternatives to uninstall tool alternatives.
248     Requires(postun): %{_sbindir}/alternatives
249    
250     # Standard JPackage base provides.
251     Provides: jre8-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
252     Provides: jre8-%{origin} = %{epoch}:%{version}-%{release}
253     Provides: jre8-%{javaver} = %{epoch}:%{version}-%{release}
254     Provides: java8-%{javaver} = %{epoch}:%{version}-%{release}
255     Provides: jre8 = %{javaver}
256     Provides: java8-%{origin} = %{epoch}:%{version}-%{release}
257     Provides: java8 = %{epoch}:%{javaver}
258     # Standard JPackage extensions provides.
259     Provides: jndi8 = %{epoch}:%{version}
260     Provides: jndi8-ldap = %{epoch}:%{version}
261     Provides: jndi8-cos = %{epoch}:%{version}
262     Provides: jndi8-rmi = %{epoch}:%{version}
263     Provides: jndi8-dns = %{epoch}:%{version}
264     Provides: jaas8 = %{epoch}:%{version}
265     Provides: jsse8 = %{epoch}:%{version}
266     Provides: jce8 = %{epoch}:%{version}
267     Provides: jdbc8-stdext = 4.1
268     Provides: java8-sasl = %{epoch}:%{version}
269     Provides: java8-fonts = %{epoch}:%{version}
270    
271     %description
272     The OpenJDK runtime environment.
273    
274     %package devel
275     Summary: OpenJDK Development Environment
276     Group: Development/Java
277    
278     # Require base package.
279     Requires: %{name} = %{epoch}:%{version}-%{release}
280     # Post requires alternatives to install tool alternatives.
281     Requires(post): %{_sbindir}/alternatives
282     # Postun requires alternatives to uninstall tool alternatives.
283     Requires(postun): %{_sbindir}/alternatives
284    
285     # Standard JPackage devel provides.
286     Provides: java8-sdk-%{javaver}-%{origin} = %{epoch}:%{version}
287     Provides: java8-sdk-%{javaver} = %{epoch}:%{version}
288     Provides: java8-sdk-%{origin} = %{epoch}:%{version}
289     Provides: java8-sdk = %{epoch}:%{javaver}
290     Provides: java8-%{javaver}-devel = %{epoch}:%{version}
291     Provides: java8-devel-%{origin} = %{epoch}:%{version}
292     Provides: java8-devel = %{epoch}:%{javaver}
293    
294    
295     %description devel
296     The OpenJDK development tools.
297    
298     %package demo
299     Summary: OpenJDK Demos
300     Group: Development/Java
301    
302     Requires: %{name} = %{epoch}:%{version}-%{release}
303    
304     %description demo
305     The OpenJDK demos.
306    
307     %package src
308     Summary: OpenJDK Source Bundle
309     Group: Development/Java
310 dmorgan 489356
311 dmorgan 463625 Requires: %{name} = %{epoch}:%{version}-%{release}
312    
313     %description src
314     The OpenJDK source bundle.
315    
316     %package javadoc
317     Summary: OpenJDK API Documentation
318     Group: Documentation
319     Requires: jpackage-utils
320     BuildArch: noarch
321    
322     # Post requires alternatives to install javadoc alternative.
323     Requires(post): %{_sbindir}/alternatives
324     # Postun requires alternatives to uninstall javadoc alternative.
325     Requires(postun): %{_sbindir}/alternatives
326    
327     # Standard JPackage javadoc provides.
328     Provides: java8-javadoc = %{epoch}:%{version}-%{release}
329     Provides: java8-%{javaver}-javadoc = %{epoch}:%{version}-%{release}
330    
331     %description javadoc
332     The OpenJDK API documentation.
333    
334     %prep
335     %ifarch %{aarch64}
336     %global source_num 1
337     %else
338     %global source_num 0
339     %endif
340    
341     %setup -q -c -n %{name} -T -a %{source_num}
342     cp %{SOURCE2} .
343    
344     #repalce outdated configure guess script
345     cp %{SOURCE100} jdk8/common/autoconf/build-aux/
346     cp %{SOURCE101} jdk8/common/autoconf/build-aux/
347    
348     # OpenJDK patches
349    
350     # Remove libraries that are linked
351     # disabled until 8 has all system library fixes upstream
352    
353     sh %{SOURCE12}
354    
355     %patch201
356     %patch202
357    
358     %ifarch %{aarch64}
359     %patch2031
360     %else
361     %patch203
362     %endif
363    
364    
365 luigiwalser 498086 %patch0 -p1
366 dmorgan 463625 %patch1
367    
368     # Type fixes for s390
369     %ifarch s390 s390x
370     %patch100
371     %patch101
372     %patch102
373     %endif
374    
375     %ifarch ppc %{power64}
376     # PPC fixes
377     %patch103
378     %endif
379    
380     # Extract systemtap tapsets
381     %if %{with_systemtap}
382    
383     tar xzf %{SOURCE8}
384    
385     for file in tapset/*.in; do
386    
387     OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
388     sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/amd64/server/libjvm.so:g $file > $OUTPUT_FILE
389     sed -i -e '/@ABS_CLIENT_LIBJVM_SO@/d' $OUTPUT_FILE
390     sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE
391     sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
392    
393     done
394    
395     %endif
396    
397     # Extract desktop files
398     tar xzf %{SOURCE9}
399    
400     %build
401     # How many cpu's do we have?
402     export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
403     export NUM_PROC=${NUM_PROC:-1}
404    
405     # Build IcedTea and OpenJDK.
406     %ifarch s390x sparc64 alpha %{power64}
407     export ARCH_DATA_MODEL=64
408     %endif
409     %ifarch alpha
410     export CFLAGS="$CFLAGS -mieee"
411     %endif
412    
413     (cd jdk8/common/autoconf
414     bash ./autogen.sh
415     )
416    
417     mkdir -p %{buildoutputdir}
418    
419     pushd %{buildoutputdir}
420    
421     bash ../../configure \
422     %ifnarch %{jit_arches}
423     --with-jvm-variants=zero \
424     %endif
425 dmorgan 489356 %ifarch %{aarch64}
426     --with-jvm-variants=client \
427     --disable-precompiled-headers \
428     %endif
429     --disable-zip-debug-info \
430 dmorgan 463625 --with-build-number=%{buildver} \
431     --with-boot-jdk=/usr/lib/jvm/java-openjdk \
432     --with-debug-level=%{debugbuild} \
433     --enable-unlimited-crypto \
434     --with-zlib=system \
435     --with-giflib=system \
436     --with-libpng=system \
437     --with-lcms=system \
438     --with-stdc++lib=dynamic \
439     --with-num-cores="$NUM_PROC"
440    
441     make SCTP_WERROR= DEBUG_BINARIES=true DISABLE_INTREE_EC=true LOG=trace all
442    
443     # the build (erroneously) removes read permissions from some jars
444     # this is a regression in OpenJDK 7 (our compiler):
445     # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
446     find images/j2sdk-image -iname '*.jar' -exec chmod ugo+r {} \;
447     chmod ugo+r images/j2sdk-image/lib/ct.sym
448    
449     popd >& /dev/null
450    
451     export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image
452    
453     # Copy tz.properties
454     echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
455    
456     # Check unlimited policy has been used
457     $JAVA_HOME/bin/javac -d . %{SOURCE13}
458     $JAVA_HOME/bin/java TestCryptoLevel
459    
460     %install
461     rm -rf $RPM_BUILD_ROOT
462     STRIP_KEEP_SYMTAB=libjvm*
463    
464     # Install symlink to default soundfont
465     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
466     pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/audio
467     ln -s %{_datadir}/soundfonts/default.sf2
468     popd
469    
470     pushd %{buildoutputdir}/images/j2sdk-image
471    
472     # Install main files.
473     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
474     cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
475     install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
476     cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
477    
478 dmorgan 489356 %if %{with_systemtap}
479 dmorgan 463625 # Install systemtap support files.
480     install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
481     cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
482     install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
483     pushd $RPM_BUILD_ROOT%{tapsetdir}
484     RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
485     ln -sf $RELATIVE/*.stp .
486     popd
487     %endif
488    
489     # Install cacerts symlink.
490     rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/cacerts
491     pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
492     RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
493     %{_jvmdir}/%{jredir}/lib/security)
494     ln -sf $RELATIVE/cacerts .
495     popd
496    
497     # Install extension symlinks.
498     install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
499     pushd $RPM_BUILD_ROOT%{jvmjardir}
500     RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir})
501     ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
502     ln -sf $RELATIVE/jce.jar jce-%{version}.jar
503     ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
504     ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
505     ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
506     ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
507     ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
508     ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
509     ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
510     ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
511     for jar in *-%{version}.jar
512     do
513     if [ x%{version} != x%{javaver} ]
514     then
515     ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
516     fi
517     ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
518     done
519     popd
520    
521     # Install JCE policy symlinks.
522     install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
523    
524     # Install versionless symlinks.
525     pushd $RPM_BUILD_ROOT%{_jvmdir}
526     ln -sf %{jredir} %{jrelnk}
527     ln -sf %{sdkdir} %{sdklnk}
528     popd
529    
530     pushd $RPM_BUILD_ROOT%{_jvmjardir}
531     ln -sf %{sdkdir} %{jrelnk}
532     ln -sf %{sdkdir} %{sdklnk}
533     popd
534    
535     # Remove javaws man page
536     rm -f man/man1/javaws*
537    
538     # Install man pages.
539     install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
540     for manpage in man/man1/*
541     do
542     # Convert man pages to UTF8 encoding.
543     iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
544     mv -f $manpage.tmp $manpage
545     install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
546     $manpage .1)-%{name}.1
547     done
548    
549     # Install demos and samples.
550     cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
551     mkdir -p sample/rmi
552     mv bin/java-rmi.cgi sample/rmi
553     cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
554    
555     popd
556    
557    
558     # Install nss.cfg
559     install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
560    
561    
562     # Install Javadoc documentation.
563     install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
564     cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name}
565    
566     # Install icons and menu entries.
567     for s in 16 24 32 48 ; do
568     install -D -p -m 644 \
569     jdk8/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
570     $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
571     done
572    
573     # Install desktop files.
574     install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
575     for e in jconsole policytool ; do
576     desktop-file-install --vendor=%{name} --mode=644 \
577     --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
578     done
579    
580     # Find JRE directories.
581     find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
582     | grep -v jre/lib/security \
583     | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
584     > %{name}.files
585     # Find JRE files.
586     find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
587     | grep -v jre/lib/security \
588     | sed 's|'$RPM_BUILD_ROOT'||' \
589     >> %{name}.files
590     # Find demo directories.
591     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
592     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
593     | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
594     > %{name}-demo.files
595    
596     # FIXME: remove SONAME entries from demo DSOs. See
597     # https://bugzilla.redhat.com/show_bug.cgi?id=436497
598    
599     # Find non-documentation demo files.
600     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
601     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
602     -type f -o -type l | sort \
603     | grep -v README \
604     | sed 's|'$RPM_BUILD_ROOT'||' \
605     >> %{name}-demo.files
606     # Find documentation demo files.
607     find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
608     $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
609     -type f -o -type l | sort \
610     | grep README \
611     | sed 's|'$RPM_BUILD_ROOT'||' \
612     | sed 's|^|%doc |' \
613     >> %{name}-demo.files
614    
615     # FIXME: identical binaries are copied, not linked. This needs to be
616     # fixed upstream.
617     %post
618     ext=.gz
619     alternatives \
620     --install %{_bindir}/java java %{jrebindir}/java %{priority} \
621     --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
622     --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
623     --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
624     --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
625     --slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
626     --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \
627     --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \
628     --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \
629     --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
630     --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
631     --slave %{_mandir}/man1/java.1$ext java.1$ext \
632     %{_mandir}/man1/java-%{name}.1$ext \
633     --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
634     %{_mandir}/man1/keytool-%{name}.1$ext \
635     --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
636     %{_mandir}/man1/orbd-%{name}.1$ext \
637     --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
638     %{_mandir}/man1/pack200-%{name}.1$ext \
639     --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
640     %{_mandir}/man1/rmid-%{name}.1$ext \
641     --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
642     %{_mandir}/man1/rmiregistry-%{name}.1$ext \
643     --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
644     %{_mandir}/man1/servertool-%{name}.1$ext \
645     --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
646     %{_mandir}/man1/tnameserv-%{name}.1$ext \
647     --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
648     %{_mandir}/man1/unpack200-%{name}.1$ext
649    
650     alternatives \
651     --install %{_jvmdir}/jre-%{origin} \
652     jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
653     --slave %{_jvmjardir}/jre-%{origin} \
654     jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
655    
656     alternatives \
657     --install %{_jvmdir}/jre-%{javaver} \
658     jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
659     --slave %{_jvmjardir}/jre-%{javaver} \
660     jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
661    
662     update-desktop-database %{_datadir}/applications &> /dev/null || :
663    
664     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
665    
666     exit 0
667    
668     %postun
669     if [ $1 -eq 0 ]
670     then
671     alternatives --remove java %{jrebindir}/java
672     alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
673     alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
674     fi
675    
676     update-desktop-database %{_datadir}/applications &> /dev/null || :
677    
678     if [ $1 -eq 0 ] ; then
679     /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
680     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
681     fi
682    
683     exit 0
684    
685     %posttrans
686     /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
687    
688     %post devel
689     ext=.gz
690     alternatives \
691     --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
692     --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \
693     --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \
694     --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
695     --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
696     --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
697     --slave %{_bindir}/jar jar %{sdkbindir}/jar \
698     --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
699     --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \
700     --slave %{_bindir}/javah javah %{sdkbindir}/javah \
701     --slave %{_bindir}/javap javap %{sdkbindir}/javap \
702     --slave %{_bindir}/jcmd jcmd %{sdkbindir}/jcmd \
703     --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \
704     --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \
705     --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \
706     --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \
707     --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \
708     --slave %{_bindir}/jps jps %{sdkbindir}/jps \
709     --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \
710     --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \
711     --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \
712     --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \
713     --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \
714     --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \
715     --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \
716     --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \
717     --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \
718     --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \
719     --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \
720     --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
721     --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
722     --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
723     %{_mandir}/man1/appletviewer-%{name}.1$ext \
724     --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
725     %{_mandir}/man1/extcheck-%{name}.1$ext \
726     --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \
727     %{_mandir}/man1/idlj-%{name}.1$ext \
728     --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
729     %{_mandir}/man1/jar-%{name}.1$ext \
730     --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
731     %{_mandir}/man1/jarsigner-%{name}.1$ext \
732     --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
733     %{_mandir}/man1/javac-%{name}.1$ext \
734     --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
735     %{_mandir}/man1/javadoc-%{name}.1$ext \
736     --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
737     %{_mandir}/man1/javah-%{name}.1$ext \
738     --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
739     %{_mandir}/man1/javap-%{name}.1$ext \
740     --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \
741     %{_mandir}/man1/jcmd-%{name}.1$ext \
742     --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
743     %{_mandir}/man1/jconsole-%{name}.1$ext \
744     --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
745     %{_mandir}/man1/jdb-%{name}.1$ext \
746     --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
747     %{_mandir}/man1/jhat-%{name}.1$ext \
748     --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
749     %{_mandir}/man1/jinfo-%{name}.1$ext \
750     --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
751     %{_mandir}/man1/jmap-%{name}.1$ext \
752     --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
753     %{_mandir}/man1/jps-%{name}.1$ext \
754     --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
755     %{_mandir}/man1/jrunscript-%{name}.1$ext \
756     --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
757     %{_mandir}/man1/jsadebugd-%{name}.1$ext \
758     --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
759     %{_mandir}/man1/jstack-%{name}.1$ext \
760     --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
761     %{_mandir}/man1/jstat-%{name}.1$ext \
762     --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
763     %{_mandir}/man1/jstatd-%{name}.1$ext \
764     --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
765     %{_mandir}/man1/native2ascii-%{name}.1$ext \
766     --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
767     %{_mandir}/man1/policytool-%{name}.1$ext \
768     --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
769     %{_mandir}/man1/rmic-%{name}.1$ext \
770     --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
771     %{_mandir}/man1/schemagen-%{name}.1$ext \
772     --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
773     %{_mandir}/man1/serialver-%{name}.1$ext \
774     --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
775     %{_mandir}/man1/wsgen-%{name}.1$ext \
776     --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
777     %{_mandir}/man1/wsimport-%{name}.1$ext \
778     --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
779     %{_mandir}/man1/xjc-%{name}.1$ext
780    
781     alternatives \
782     --install %{_jvmdir}/java-%{origin} \
783     java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
784     --slave %{_jvmjardir}/java-%{origin} \
785     java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
786    
787     alternatives \
788     --install %{_jvmdir}/java-%{javaver} \
789     java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
790     --slave %{_jvmjardir}/java-%{javaver} \
791     java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
792    
793     exit 0
794    
795     %postun devel
796     if [ $1 -eq 0 ]
797     then
798     alternatives --remove javac %{sdkbindir}/javac
799     alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
800     alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
801     fi
802    
803     exit 0
804    
805     %post javadoc
806     alternatives \
807     --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \
808     %{priority}
809    
810     exit 0
811    
812     %postun javadoc
813     if [ $1 -eq 0 ]
814     then
815     alternatives --remove javadocdir %{_javadocdir}/%{name}/api
816     fi
817    
818     exit 0
819    
820    
821     %files -f %{name}.files
822     %defattr(-,root,root,-)
823     %doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION
824     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
825     %doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README
826    
827     %dir %{_jvmdir}/%{sdkdir}
828     %{_jvmdir}/%{jrelnk}
829     %{_jvmjardir}/%{jrelnk}
830     %{_jvmprivdir}/*
831     %{jvmjardir}
832     %dir %{_jvmdir}/%{jredir}/lib/security
833     %{_jvmdir}/%{jredir}/lib/security/cacerts
834     %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
835     %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
836     %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
837     %{_mandir}/man1/java-%{name}.1*
838     %{_mandir}/man1/keytool-%{name}.1*
839     %{_mandir}/man1/orbd-%{name}.1*
840     %{_mandir}/man1/pack200-%{name}.1*
841     %{_mandir}/man1/rmid-%{name}.1*
842     %{_mandir}/man1/rmiregistry-%{name}.1*
843     %{_mandir}/man1/servertool-%{name}.1*
844     %{_mandir}/man1/tnameserv-%{name}.1*
845     %{_mandir}/man1/unpack200-%{name}.1*
846     %{_jvmdir}/%{jredir}/lib/security/nss.cfg
847     %{_jvmdir}/%{jredir}/lib/audio/
848     %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
849     %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
850    
851     %files devel
852     %defattr(-,root,root,-)
853     %doc %{buildoutputdir}/images/j2sdk-image/ASSEMBLY_EXCEPTION
854     %doc %{buildoutputdir}/images/j2sdk-image/LICENSE
855     %doc %{buildoutputdir}/images/j2sdk-image/THIRD_PARTY_README
856     %dir %{_jvmdir}/%{sdkdir}/bin
857     %dir %{_jvmdir}/%{sdkdir}/include
858     %dir %{_jvmdir}/%{sdkdir}/lib
859 dmorgan 489356 %if %{with_systemtap}
860 dmorgan 463625 %dir %{_jvmdir}/%{sdkdir}/tapset
861     %endif
862     %{_jvmdir}/%{sdkdir}/bin/*
863     %{_jvmdir}/%{sdkdir}/include/*
864     %{_jvmdir}/%{sdkdir}/lib/*
865 dmorgan 489356 %if %{with_systemtap}
866 dmorgan 463625 %{_jvmdir}/%{sdkdir}/tapset/*.stp
867     %endif
868     %{_jvmdir}/%{sdklnk}
869     %{_jvmjardir}/%{sdklnk}
870     %{_datadir}/applications/*jconsole.desktop
871     %{_datadir}/applications/*policytool.desktop
872     %{_mandir}/man1/appletviewer-%{name}.1*
873     %{_mandir}/man1/extcheck-%{name}.1*
874     %{_mandir}/man1/idlj-%{name}.1*
875     %{_mandir}/man1/jar-%{name}.1*
876     %{_mandir}/man1/jarsigner-%{name}.1*
877     %{_mandir}/man1/javac-%{name}.1*
878     %{_mandir}/man1/javadoc-%{name}.1*
879     %{_mandir}/man1/javah-%{name}.1*
880     %{_mandir}/man1/javap-%{name}.1*
881     %{_mandir}/man1/jconsole-%{name}.1*
882     %{_mandir}/man1/jcmd-%{name}.1*
883     %{_mandir}/man1/jdb-%{name}.1*
884     %{_mandir}/man1/jhat-%{name}.1*
885     %{_mandir}/man1/jinfo-%{name}.1*
886     %{_mandir}/man1/jmap-%{name}.1*
887     %{_mandir}/man1/jps-%{name}.1*
888     %{_mandir}/man1/jrunscript-%{name}.1*
889     %{_mandir}/man1/jsadebugd-%{name}.1*
890     %{_mandir}/man1/jstack-%{name}.1*
891     %{_mandir}/man1/jstat-%{name}.1*
892     %{_mandir}/man1/jstatd-%{name}.1*
893     %{_mandir}/man1/native2ascii-%{name}.1*
894     %{_mandir}/man1/policytool-%{name}.1*
895     %{_mandir}/man1/rmic-%{name}.1*
896     %{_mandir}/man1/schemagen-%{name}.1*
897     %{_mandir}/man1/serialver-%{name}.1*
898     %{_mandir}/man1/wsgen-%{name}.1*
899     %{_mandir}/man1/wsimport-%{name}.1*
900     %{_mandir}/man1/xjc-%{name}.1*
901 dmorgan 489356 %if %{with_systemtap}
902 dmorgan 463625 %{tapsetroot}
903     %endif
904    
905     %files demo -f %{name}-demo.files
906     %defattr(-,root,root,-)
907     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
908    
909     %files src
910     %defattr(-,root,root,-)
911     %doc README.src
912     %{_jvmdir}/%{sdkdir}/src.zip
913    
914     %files javadoc
915     %defattr(-,root,root,-)
916     %doc %{_javadocdir}/%{name}
917     %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
918    
919 dmorgan 489356

  ViewVC Help
Powered by ViewVC 1.1.30