# # spec file for package java-1_8_0-openjdk # # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{!?aarch64:%global aarch64 aarch64 arm64 armv8} %global jit_arches %ix86 x86_64 ppc64 ppc64le %global debug 0 %global bootcycle 1 %global buildoutputdir build # Convert an absolute path to a relative path. Each symbolic link is # specified relative to the directory in which it is installed so that # it will resolve properly within chrooted installations. %global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])' %global abs2rel perl -e %{script} %global syslibdir %{_libdir} %global archname %{name} # Standard JPackage naming and versioning defines. %global updatever 40 %global buildver b21 %global root_project jdk8u %global root_repository jdk8u40 %global root_revision 765a17e75fd6 %global corba_revision 9c54cc92c0be %global hotspot_revision 25ec4a674337 %global jaxp_revision 78d90db9de28 %global jaxws_revision 16485a38b6bc %global jdk_revision 564bca490631 %global langtools_revision 9113c7c8d902 %global nashorn_revision dbb663a9d9aa %global aarch64_project aarch64-port %global aarch64_repository jdk8 %global aarch64_hotspot_revision 06c52e8fd6d3 %global icedtea_sound_version 1.0.1 # priority must be 6 digits in total %global priority 180%{updatever} %global javaver 1.8.0 # Standard JPackage directories and symbolic links. %global sdklnk java-%{javaver}-openjdk %global archname %{sdklnk} %global jrelnk jre-%{javaver}-openjdk %global sdkdir %{sdklnk}-%{javaver} %global jredir %{sdkdir}/jre %global sdkbindir %{_jvmdir}/%{sdklnk}/bin %global jrebindir %{_jvmdir}/%{jrelnk}/bin %global jvmjardir %{_jvmjardir}/%{sdkdir} %global jvmjarlink %{_jvmjardir}/%{sdklnk} # Prevent brp-java-repack-jars from being run. %global __jar_repack 0 # cacert symlink %global cacerts %{_jvmdir}/%{jredir}/lib/security/cacerts # real file made by update-ca-certificates %global javacacerts %{_var}/lib/ca-certificates/java-cacerts # turn zero on non jit arches by default %ifnarch %{jit_arches} %global _with_zero 1 %endif %if 0%{?suse_version} >= 1140 %global with_pulseaudio 1 %else %global with_pulseaudio 0 %endif %ifarch x86_64 %global archinstall amd64 %endif %ifarch ppc %global archinstall ppc %endif %ifarch ppc64 ppc64le %global archinstall ppc64 %endif %ifarch %ix86 %global archinstall i386 %endif %ifarch ia64 %global archinstall ia64 %endif %ifarch s390 %global archinstall s390 %endif %ifarch s390x %global archinstall s390x %endif %ifarch %{arm} %global archinstall arm %endif %ifarch %{aarch64} %global archinstall aarch64 %endif # 32 bit sparc, optimized for v9 %ifarch sparcv9 %global archinstall sparc %endif # 64 bit sparc %ifarch sparc64 %global archinstall sparcv9 %endif %ifnarch %{jit_arches} %global archinstall %{_arch} %endif %if %{debug} %global debugbuild slowdebug %else %global debugbuild release %endif %if %{bootcycle} %global imagesdir bootcycle-build/images %global imagestarget bootcycle-images %else %global imagesdir images %global imagestarget images %endif %ifnarch %{jit_arches} %global _with_zero 1 %endif # bnc#542545 # 32-bit versus 64-bit specific provides: %ifarch %ix86 ppc s390 %global bits 32 %endif %ifarch x86_64 ia64 s390x %global bits 64 %endif %if 0%{?__isa_bits} %global bits %{__isa_bits} %endif %bcond_with zero # Turn on/off some features depending on openSUSE version %if 0%{?suse_version} >= 1130 %if ! %{with zero} %global with_systemtap 1 %else %global with_systemtap 0 %endif %else %global with_systemtap 0 %endif %if %{with_systemtap} %global tapsetroot %{_datadir}/systemtap %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu} %endif %if %{with_systemtap} # Where to install systemtap tapset (links) # We would like these to be in a package specific subdir, # but currently systemtap doesn't support that, so we have to # use the root tapset dir for now. To distinquish between 64 # and 32 bit architectures we place the tapsets under the arch # specific dir (note that systemtap will only pickup the tapset # for the primary arch for now). Systemtap uses the machine name # aka build_cpu as architecture specific directory name. %global tapsetroot %{_datadir}/systemtap %global tapsetdir %{tapsetroot}/tapset/%{_build_cpu} %endif Name: java-1_8_0-openjdk Version: %{javaver}.%{updatever}~%{buildver} Release: 0 Summary: OpenJDK Runtime Environment License: Apache-1.1 and Apache-2.0 and GPL-1.0+ and GPL-2.0 and GPL-2.0-with-classpath-exception and LGPL-2.0 and MPL-1.0 and MPL-1.1 and SUSE-Public-Domain and W3C Group: Development/Languages Url: http://openjdk.java.net/ # Sources from upstream OpenJDK8 project. Source0: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/archive/%{root_revision}.tar.bz2 Source1: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/corba/archive/%{corba_revision}.tar.bz2 Source2: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/hotspot/archive/%{hotspot_revision}.tar.bz2 Source3: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/jaxp/archive/%{jaxp_revision}.tar.bz2 Source4: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/jaxws/archive/%{jaxws_revision}.tar.bz2 Source5: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/jdk/archive/%{jdk_revision}.tar.bz2 Source6: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/langtools/archive/%{langtools_revision}.tar.bz2 Source7: http://hg.openjdk.java.net/%{root_project}/%{root_repository}/nashorn/archive/%{nashorn_revision}.tar.bz2 # Hotspot version from aarch64-port repository (using the _tip_ of the http://hg.openjdk.java.net/%{aarch64_project}/%{aarch64_repository}/hotspot) Source8: http://hg.openjdk.java.net/%{aarch64_project}/%{aarch64_repository}/hotspot/archive/%{aarch64_hotspot_revision}.tar.bz2 # Pulseaudio plugin Source9: http://icedtea.classpath.org/download/source/icedtea-sound-%{icedtea_sound_version}.tar.xz # Systemtap tapsets. Zipped up to keep it small. Source10: systemtap-tapset.tar.gz # Desktop files. Adapated from IcedTea. Source11: jconsole.desktop.in Source12: policytool.desktop.in # nss configuration file Source13: nss.cfg # Ensure we aren't using the limited crypto policy Source14: TestCryptoLevel.java # New versions of config files with aarch64 support. This is not upstream yet. Source100: config.guess Source101: config.sub # RPM/distribution specific patches # RHBZ 1015432 Patch2: 1015432.patch # Restrict access to java-atk-wrapper classes Patch3: java-atk-wrapper-security.patch # RHBZ 808293 Patch4: PStack-808293.patch # Allow multiple initialization of PKCS11 libraries Patch5: multiple-pkcs11-library-init.patch # Disable doclint for compatibility Patch6: disable-doclint-by-default.patch # Include all sources in src.zip Patch7: include-all-srcs.patch # Fix expression compares a char* pointer with a string literal Patch8: compare-pointer-with-literal.patch # Add missing build bits for AArch64 from the AArch64 branch Patch9: aarch64-misc.patch # From icedtea: Increase default memory limits Patch10: memory-limits.patch # Changes from b21 backported to aarch64 which is on b12 Patch11: aarch64-b12tob21.patch # Fix use of unintialized memory in adlc parser Patch12: adlc-parser.patch # Fix: implicit-pointer-decl Patch13: implicit-pointer-decl.patch # Avoid triggering inactivity timeout while generating javadoc in zero VM Patch14: zero-javadoc-verbose.patch # Fix to build the C++ interpreter that does not have Interpreter::remove_activation_entry Patch15: cplusplus-interpreter.patch # # OpenJDK specific patches # # Allow icedtea-web to build Patch99: applet-hole.patch # JVM heap size changes for s390 (thanks to aph) Patch100: s390-java-opts.patch Patch101: s390-size_t.patch # Patch for PPC/PPC64 Patch103: ppc-zero-hotspot.patch # Patches for system libraries Patch201: system-libjpeg.patch Patch202: system-libpng.patch Patch203: system-lcms.patch Patch204: system-giflib5.patch Patch205: link-with-as-needed.patch BuildRequires: alsa-lib-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: binutils BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: fontconfig BuildRequires: freetype2-devel BuildRequires: gcc-c++ BuildRequires: giflib-devel BuildRequires: gtk2-devel BuildRequires: libjpeg-devel BuildRequires: liblcms2-devel BuildRequires: libpng-devel BuildRequires: libxslt BuildRequires: pkgconfig BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: xorg-x11-proto-devel BuildRequires: zip # Requires rest of java Requires: %{name}-headless = %{version}-%{release} Requires: fontconfig # mozilla-nss has to be installed to prevent # java.security.ProviderException: Could not initialize NSS # ... # java.io.FileNotFoundException: /usr/lib64/libnss3.so #was bnc#634793 Requires: mozilla-nss # Standard JPackage base provides. Provides: java = %{javaver} Provides: java-%{javaver} = %{version}-%{release} Provides: java-openjdk = %{version}-%{release} Provides: jre = %{javaver} Provides: jre-%{javaver} = %{version}-%{release} Provides: jre-%{javaver}-openjdk = %{version}-%{release} Provides: jre-openjdk = %{version}-%{release} # Standard JPackage extensions provides. Provides: java-fonts = %{version} # Required at least by fop Provides: java-%{bits} = %{javaver} Provides: java-%{javaver}-%{bits} Provides: java-openjdk-%{bits} = %{version}-%{release} Provides: jre-%{bits} = %{javaver} Provides: jre-%{javaver}-%{bits} Provides: jre-%{javaver}-openjdk-%{bits} = %{version}-%{release} Provides: jre-openjdk-%{bits} = %{version}-%{release} Provides: jre1.3.x Provides: jre1.4.x Provides: jre1.5.x Provides: jre1.6.x Provides: jre1.7.x Provides: jre1.8.x BuildRoot: %{_tmppath}/%{name}-%{version}-build # Zero-assembler build requirement. %if %{with zero} BuildRequires: libffi-devel %endif %if 0%{?suse_version} <= 1130 BuildRequires: xorg-x11-devel %else BuildRequires: libX11-devel BuildRequires: libXi-devel BuildRequires: libXinerama-devel BuildRequires: libXt-devel BuildRequires: libXtst-devel %endif %if %{bootcycle} BuildRequires: java-bootstrap-devel >= 1.6.0 %else BuildRequires: java-devel >= %{javaver} %endif # runtime certificates generation available in 11.3+ - bnc#596177 %if 0%{?suse_version} >= 1130 BuildRequires: java-ca-certificates Requires(post): file Requires(post): java-ca-certificates %else BuildRequires: openssl-certs # the certificates will converted in a prep to standard keystore file - cacerts # The openssl requirment seems to be necessary for build only. Requires: openssl %endif %if %{with_systemtap} BuildRequires: systemtap-sdt-devel %endif # pulse audio requirements %if %{with_pulseaudio} BuildRequires: libpulse-devel >= 0.9.11 BuildRequires: pulseaudio >= 0.9.11 %endif %description The OpenJDK runtime environment. %package headless Summary: OpenJDK Runtime Environment Group: Development/Languages # Require jpackage-utils for ownership of /usr/lib/jvm/ Requires: jpackage-utils # Require zoneinfo data in java8+ format provided by tzdata-java8 subpackage. Requires: tzdata-java8 # Post requires update-alternatives to install tool update-alternatives. Requires(post): update-alternatives # Postun requires update-alternatives to uninstall tool update-alternatives. Requires(postun): update-alternatives # Standard JPackage base provides. Provides: java-%{javaver}-headless = %{version}-%{release} Provides: java-headless = %{javaver} Provides: java-openjdk-headless = %{version}-%{release} Provides: jre-%{javaver}-headless = %{version}-%{release} Provides: jre-%{javaver}-openjdk-headless = %{version}-%{release} Provides: jre-headless = %{javaver} Provides: jre-openjdk-headless = %{version}-%{release} # Standard JPackage extensions provides. Provides: jaas = %{version} Provides: java-sasl = %{version} Provides: jce = %{version} Provides: jdbc-stdext = 4.1 Provides: jndi = %{version} Provides: jndi-cos = %{version} Provides: jndi-dns = %{version} Provides: jndi-ldap = %{version} Provides: jndi-rmi = %{version} Provides: jsse = %{version} %description headless The OpenJDK runtime environment without audio and video support. %package devel Summary: OpenJDK Development Environment Group: Development/Tools # Require base package. Requires: %{name} = %{version}-%{release} # Post requires update-alternatives to install tool update-alternatives. Requires(post): update-alternatives # Postun requires update-alternatives to uninstall tool update-alternatives. Requires(postun): update-alternatives # Standard JPackage devel provides. Provides: java-%{javaver}-devel = %{version} Provides: java-devel = %{javaver} Provides: java-devel-openjdk = %{version} Provides: java-sdk = %{javaver} Provides: java-sdk-%{javaver} = %{version} Provides: java-sdk-%{javaver}-openjdk = %{version} Provides: java-sdk-openjdk = %{version} %description devel The OpenJDK development tools. %package demo Summary: OpenJDK Demos Group: Development/Languages Requires: %{name} = %{version}-%{release} %description demo The OpenJDK demos. %package src Summary: OpenJDK Source Bundle Group: Development/Languages Requires: %{name} = %{version}-%{release} %description src The OpenJDK source bundle. %package javadoc Summary: OpenJDK API Documentation Group: Documentation Requires: jpackage-utils # Post requires update-alternatives to install javadoc alternative. Requires(post): update-alternatives # Postun requires update-alternatives to uninstall javadoc alternative. Requires(postun): update-alternatives # Standard JPackage javadoc provides. Provides: java-%{javaver}-javadoc = %{version}-%{release} Provides: java-javadoc = %{version}-%{release} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description javadoc The OpenJDK API documentation. %package accessibility Summary: OpenJDK accessibility connector Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: java-atk-wrapper %description accessibility Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows compatible at-spi2 based accessibility programs to work for AWT and Swing-based programs. Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still being tuned to be working with accessibility features. There are known issues with accessibility on, so please do not install this package unless you really need to. %prep %setup -q -n %{root_repository}-%{root_revision} %setup -q -D -n %{root_repository}-%{root_revision} -T -a 1 %ifarch %{aarch64} %setup -q -D -n %{root_repository}-%{root_revision} -T -a 8 %else %setup -q -D -n %{root_repository}-%{root_revision} -T -a 2 %endif %setup -q -D -n %{root_repository}-%{root_revision} -T -a 3 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 4 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 5 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 6 %setup -q -D -n %{root_repository}-%{root_revision} -T -a 7 %if %{with_pulseaudio} %setup -q -D -n %{root_repository}-%{root_revision} -T -a 9 %endif # Set up the build tree using the subrepository tarballs pwd mv corba-%{corba_revision} corba %ifarch %{aarch64} mv hotspot-%{aarch64_hotspot_revision} hotspot %else mv hotspot-%{hotspot_revision} hotspot %endif mv jaxp-%{jaxp_revision} jaxp mv jaxws-%{jaxws_revision} jaxws mv jdk-%{jdk_revision} jdk mv langtools-%{langtools_revision} langtools mv nashorn-%{nashorn_revision} nashorn %if %{with_pulseaudio} mv icedtea-sound-%{icedtea_sound_version} icedtea-sound %endif # replace outdated configure guess script # # the configure macro will do this too, but it also passes a few flags not # supported by openjdk configure script cp %{SOURCE100} common/autoconf/build-aux/ cp %{SOURCE101} common/autoconf/build-aux/ # Remove libraries that are linked rm -rvf jdk/src/share/native/java/util/zip/zlib-* find jdk/src/share/native/sun/awt/image/jpeg ! -name imageioJPEG.c ! -name jpegdecoder.c -type f -delete rm -rvf jdk/src/share/native/sun/awt/libpng rm -rvf jdk/src/share/native/sun/awt/giflib rm -rvf jdk/src/share/native/sun/java2d/cmm/lcms/cms* rm -rvf jdk/src/share/native/sun/java2d/cmm/lcms/lcms2* %patch201 -p1 %patch202 -p1 %patch203 -p1 %patch204 -p1 %patch205 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 %ifarch %{aarch64} %patch11 -p1 %endif %patch12 -p1 %patch13 -p1 %if %{with zero} %patch14 -p1 %endif %patch15 -p1 %patch99 -p1 # s390 build fixes %ifarch s390 %patch100 -p1 %patch101 -p1 %endif %ifarch ppc ppc64 ppc64le # PPC fixes %patch103 -p1 %endif # Extract systemtap tapsets %if %{with_systemtap} tar xzf %{SOURCE10} for file in tapset/*.in; do OUTPUT_FILE=`echo $file | sed -e s:\.in$::g` sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/libjvm.so:g $file > $file.1 # TODO find out which architectures other than ix86 have a client vm %ifarch %ix86 sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE %else sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE %endif sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir}:g $OUTPUT_FILE sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE done %endif # Prepare desktop files for file in %{SOURCE11} %{SOURCE12} ; do OUTPUT_FILE=`basename $file | sed -e s:\.in$::g` sed -e s:@JAVA_HOME@:%{_jvmdir}/%{sdkdir}:g $file > $OUTPUT_FILE sed -i -e s:@VERSION@:%{javaver}.%{_arch}:g $OUTPUT_FILE done %build # How many cpu's do we have? export NUM_PROC=`%{_bindir}/getconf _NPROCESSORS_ONLN 2> /dev/null || :` export NUM_PROC=${NUM_PROC:-1} # handle zlib packages without pkg-config file %if 0%{?suse_version} <= 1130 export ZLIB_CFLAGS=" " export ZLIB_LIBS="-L/%{_lib} -lz" %endif # Build IcedTea and OpenJDK. %ifarch s390x sparc64 alpha ppc64 ppc64le %{aarch64} export ARCH_DATA_MODEL=64 %endif %ifarch alpha export CFLAGS="$CFLAGS -mieee" %endif (cd common/autoconf bash ./autogen.sh ) mkdir -p %{buildoutputdir} pushd %{buildoutputdir} bash ../configure \ %if %{with zero} --with-jvm-variants=zero \ %endif --disable-zip-debug-info \ --with-milestone="fcs" \ --with-update-version=%{updatever} \ --with-build-number=%{buildver} \ --with-debug-level=%{debugbuild} \ --enable-unlimited-crypto \ --with-zlib=system \ --with-libjpeg=system \ --with-giflib=system \ --with-libpng=system \ --with-lcms=system \ --with-stdc++lib=dynamic \ %ifnarch %{arm} --with-num-cores="$NUM_PROC" \ %endif %if 0%{?suse_version} >= 1120 --with-extra-cflags="-fno-devirtualize" \ --with-extra-cxxflags="-fno-devirtualize" \ %endif --with-boot-jdk=%{_sysconfdir}/alternatives/java_sdk # The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist # disables FDS for all build configs and reverts to pre-FDS make logic. # STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says # ignore all the other logic about which debug options and just do '-g'. make \ DEBUG_BINARIES=true \ FULL_DEBUG_SYMBOLS=0 \ ZIP_DEBUGINFO_FILES=0 \ STRIP_POLICY=none \ POST_STRIP_CMD=true \ ALT_OBJCOPY=/does_not_exist \ LOG=debug \ %{imagestarget} docs # remove redundant *diz and *debuginfo files find %{imagesdir}/j2sdk-image -iname '*.diz' -exec rm {} \; find %{imagesdir}/j2sdk-image -iname '*.debuginfo' -exec rm {} \; popd >& /dev/null export JAVA_HOME=$(pwd)/%{buildoutputdir}/%{imagesdir}/j2sdk-image # cacerts are generated in runtime in openSUSE if [ -f %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/lib/security/cacerts ]; then rm %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/lib/security/cacerts fi %if 0%{?suse_version} < 1130 # ========== a default keystore ========== # a cacerts generation - 11.3+ use java-ca-certificates package for PEM in %{_sysconfdir}/ssl/certs/*.pem; do ALIAS=$(basename ${PEM} .pem) awk '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/{ print $0; }' ${PEM} > ${ALIAS}.pem yes | $JAVA_HOME/jre/bin/keytool -import -alias ${ALIAS} -keystore %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/lib/security/cacerts -storepass 'changeit' -file ${ALIAS}.pem || : rm ${ALIAS}.pem done %endif %if %{with_pulseaudio} # Build the pulseaudio plugin pushd icedtea-sound %configure \ --with-jdk-home=$JAVA_HOME \ --disable-docs make %{?_smp_mflags} cp icedtea-sound.jar $JAVA_HOME/jre/lib/ext/ cp build/native/libicedtea-sound.so $JAVA_HOME/jre/lib/%{archinstall}/ echo "#Config file to enable PulseAudio support" > $JAVA_HOME/jre/lib/pulseaudio.properties echo "" >> $JAVA_HOME/jre/lib/pulseaudio.properties echo "javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider" >> $JAVA_HOME/jre/lib/pulseaudio.properties echo "javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider" >> $JAVA_HOME/jre/lib/pulseaudio.properties echo "javax.sound.sampled.SourceDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider" >> $JAVA_HOME/jre/lib/pulseaudio.properties echo "javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider" >> $JAVA_HOME/jre/lib/pulseaudio.properties echo "" >> $JAVA_HOME/jre/lib/pulseaudio.properties popd %endif # Check unlimited policy has been used $JAVA_HOME/bin/javac -d . %{SOURCE14} $JAVA_HOME/bin/java TestCryptoLevel # Check debug symbols are present and can identify code SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so" if [ -f "$SERVER_JVM" ] ; then nm -aCl "$SERVER_JVM" | grep javaCalls.cpp fi CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so" if [ -f "$CLIENT_JVM" ] ; then nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp fi ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so" if [ -f "$ZERO_JVM" ] ; then nm -aCl "$ZERO_JVM" | grep javaCalls.cpp fi %install export LANG=en_US.UTF-8 #bnc#530046 export STRIP_KEEP_SYMTAB=libjvm* # skip /usr/lib/rpm/brp-check-bytecode-version: export NO_BRP_CHECK_BYTECODE_VERSION=true %if %{with_systemtap} # Install systemtap support files. install -dm 755 %{buildroot}%{_jvmdir}/%{sdkdir}/tapset cp -a tapset/*.stp %{buildroot}%{_jvmdir}/%{sdkdir}/tapset/ install -d -m 755 %{buildroot}%{tapsetdir} pushd %{buildroot}%{tapsetdir} RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir}) ln -sf $RELATIVE/*.stp . popd %endif pushd %{buildoutputdir}/%{imagesdir}/j2sdk-image # Install main files. install -d -m 755 %{buildroot}%{_jvmdir}/%{sdkdir} cp -a bin include lib src.zip %{buildroot}%{_jvmdir}/%{sdkdir} install -d -m 755 %{buildroot}%{_jvmdir}/%{jredir} cp -a jre/bin jre/lib %{buildroot}%{_jvmdir}/%{jredir} # Install extension symlinks. install -d -m 755 %{buildroot}%{jvmjardir} pushd %{buildroot}%{jvmjardir} RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir}/lib %{jvmjardir}) ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar ln -sf $RELATIVE/jce.jar jce-%{version}.jar ln -sf $RELATIVE/rt.jar jndi-%{version}.jar ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar ln -sf $RELATIVE/rt.jar jaas-%{version}.jar ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar ln -sf $RELATIVE/rt.jar sasl-%{version}.jar for jar in *-%{version}.jar do if [ x%{version} != x%{javaver} ] then ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g") fi ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g") done popd # Install JCE policy symlinks. install -d -m 755 %{buildroot}%{_jvmprivdir}/%{archname}/jce/vanilla # Install versionless symlinks. pushd %{buildroot}%{_jvmdir} ln -sf %{jredir} %{jrelnk} ln -sf %{sdkdir} %{sdklnk} popd pushd %{buildroot}%{_jvmjardir} ln -sf %{sdkdir} %{jrelnk} ln -sf %{sdkdir} %{sdklnk} popd # Remove javaws man page rm -f man/man1/javaws* # Install man pages. install -d -m 755 %{buildroot}%{_mandir}/man1 for manpage in man/man1/* do # Convert man pages to UTF8 encoding. iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp mv -f $manpage.tmp $manpage install -m 644 -p $manpage %{buildroot}%{_mandir}/man1/$(basename \ $manpage .1)-%{sdklnk}.1 done # Install demos and samples. cp -a demo %{buildroot}%{_jvmdir}/%{sdkdir} # enable short-circuit mkdir -p sample/rmi [ -f bin/java-rmi.cgi ] && mv bin/java-rmi.cgi sample/rmi cp -a sample %{buildroot}%{_jvmdir}/%{sdkdir} popd # Install nss.cfg install -m 644 %{SOURCE13} %{buildroot}%{_jvmdir}/%{jredir}/lib/security/ # Install Javadoc documentation. install -d -m 755 %{buildroot}%{_javadocdir} cp -a %{buildoutputdir}/docs %{buildroot}%{_javadocdir}/%{sdklnk} # Install icons and menu entries. for s in 16 24 32 48 ; do install -D -p -m 644 \ jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \ %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png done # Install desktop files. install -d -m 0755 %{buildroot}%{_datadir}/{applications,pixmaps} install -d -m 0755 %{buildroot}/%{_jvmdir}/%{jredir}/lib/desktop/ for d in jconsole policytool; do install -m 0644 $d.desktop %{buildroot}/%{_jvmdir}/%{jredir}/lib/desktop/ %suse_update_desktop_file %{buildroot}/%{_jvmdir}/%{jredir}/lib/desktop/$d.desktop done # Find JRE directories. find %{buildroot}%{_jvmdir}/%{jredir} -type d \ | grep -v jre/lib/security \ | sed 's|'%{buildroot}'|%dir |' \ > %{name}.files.headless # Find JRE files. find %{buildroot}%{_jvmdir}/%{jredir} -type f -o -type l \ | grep -v jre/lib/security \ | sed 's|'%{buildroot}'||' \ >> %{name}.files.all #split %{name}.files to %{name}.files-headless and %{name}.files #see https://bugzilla.redhat.com/show_bug.cgi?id=875408 NOT_HEADLESS=\ "%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjsoundalsa.so %{_jvmdir}/%{jredir}/lib/%{archinstall}/libicedtea-sound.so %{_jvmdir}/%{jredir}/lib/%{archinstall}/libsplashscreen.so %{_jvmdir}/%{jredir}/lib/%{archinstall}/libawt_xawt.so %{_jvmdir}/%{jredir}/lib/%{archinstall}/libjawt.so" #filter %{name}.files from %{name}.files.all to %{name}.files-headless ALL=`cat %{name}.files.all` for file in $ALL ; do INLCUDE="NO" ; for blacklist in $NOT_HEADLESS ; do # we can not match normally, because rpmbuild will evaluate !0 result as script failure q=`expr match "$file" "$blacklist"` || : l=`expr length "$blacklist"` || : if [ $q -eq $l ]; then INLCUDE="YES" ; fi; done if [ "x$INLCUDE" = "xNO" ]; then echo "$file" >> %{name}.files-headless else echo "$file" >> %{name}.files fi done # Find demo directories. find %{buildroot}%{_jvmdir}/%{sdkdir}/demo \ %{buildroot}%{_jvmdir}/%{sdkdir}/sample -type d \ | sed 's|'%{buildroot}'|%dir |' \ > %{name}-demo.files # FIXME: remove SONAME entries from demo DSOs. See # https://bugzilla.redhat.com/show_bug.cgi?id=436497 # Find non-documentation demo files. find %{buildroot}%{_jvmdir}/%{sdkdir}/demo \ %{buildroot}%{_jvmdir}/%{sdkdir}/sample \ -type f -o -type l | sort \ | grep -v README \ | sed 's|'%{buildroot}'||' \ >> %{name}-demo.files # Find documentation demo files. find %{buildroot}%{_jvmdir}/%{sdkdir}/demo \ %{buildroot}%{_jvmdir}/%{sdkdir}/sample \ -type f -o -type l | sort \ | grep README \ | sed 's|'%{buildroot}'||' \ | sed 's|^|%doc |' \ >> %{name}-demo.files # Create links which leads to separately installed java-atk-bridge and allow configuration # links points to java-atk-wrapper - an dependence # mvyskocil: links are handled in post, lets make ghost files there touch %{buildroot}/%{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so touch %{buildroot}/%{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar pushd %{buildroot}/%{_jvmdir}/%{jredir}/lib/ echo "#Config file to enable java-atk-wrapper" > accessibility.properties echo "" >> accessibility.properties echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties echo "" >> accessibility.properties popd # fdupes links the files from JDK to JRE, so it breaks a JRE # use it carefully :)) %fdupes -s %{buildroot}/%{_jvmdir}/%{jredir}/ %fdupes -s %{buildroot}/%{_jvmdir}/%{sdkdir}/demo %fdupes -s %{buildroot}%{_javadocdir}/%{sdklnk} %if 0%{?suse_version} <= 1130 # bnc496378 - check the size of installed cacerts # 32 bytes means a default empty one if [[ $(stat -c "%{s}" %{buildroot}/%{cacerts}) == "32" ]]; then echo "ERROR: Default keystore seems empty" exit 1 fi %endif %post headless ext=.gz update-alternatives \ --install %{_bindir}/java java %{jrebindir}/java %{priority} \ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \ --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \ --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \ --slave %{_bindir}/orbd orbd %{jrebindir}/orbd \ --slave %{_bindir}/policytool policytool %{jrebindir}/policytool \ --slave %{_bindir}/rmid rmid %{jrebindir}/rmid \ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir}/rmiregistry \ --slave %{_bindir}/servertool servertool %{jrebindir}/servertool \ --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \ --slave %{_mandir}/man1/java.1$ext java.1$ext \ %{_mandir}/man1/java-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \ %{_mandir}/man1/keytool-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \ %{_mandir}/man1/orbd-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \ %{_mandir}/man1/policytool-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \ %{_mandir}/man1/rmid-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \ %{_mandir}/man1/rmiregistry-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \ %{_mandir}/man1/servertool-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \ %{_mandir}/man1/tnameserv-%{sdklnk}.1$ext \ --slave %{_datadir}/applications/policytool.desktop policytool.desktop \ %{_jvmdir}/%{jredir}/lib/desktop/policytool.desktop update-alternatives \ --install %{_jvmdir}/jre-openjdk \ jre_openjdk %{_jvmdir}/%{jrelnk} %{priority} \ --slave %{_jvmjardir}/jre-openjdk \ jre_openjdk_exports %{_jvmjardir}/%{jrelnk} update-alternatives \ --install %{_jvmdir}/jre-%{javaver} \ jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \ --slave %{_jvmjardir}/jre-%{javaver} \ jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk} %postun headless if [ $1 -eq 0 ] then if test -f /proc/sys/fs/binfmt_misc/jarexec then echo '-1' > /proc/sys/fs/binfmt_misc/jarexec fi update-alternatives --remove java %{jrebindir}/java update-alternatives --remove jre_openjdk %{_jvmdir}/%{jrelnk} update-alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} fi %if 0%{?suse_version} >= 1130 %posttrans headless # bnc#781690#c11: don't trust user defined JAVA_HOME and use the current VM # XXX: this might conflict between various versions of openjdk export JAVA_HOME=%{_jvmdir}/%{jrelnk} # check if the java-cacerts is a valid keystore (bnc#781690) if [ X"`%{_bindir}/file --mime-type -b %{javacacerts}`" \ != "Xapplication/x-java-keystore;" ]; then %if 0%{?suse_version} <= 1310 # workaround for bnc#847952 - pre 13.1 keyring.jar attempts to load invalid keystore and fail on it rm -f "%{javacacerts}" %endif %{_sbindir}/update-ca-certificates fi # remove the default empty cacert file, if it's installed if [ 0`stat -c "%{s}" %{cacerts} 2>/dev/null` = "032" ] ; then rm -f %{cacerts} fi # if cacerts does exists, neither does not contain/point to a # valid keystore (bnc#781690) ... if [ X"`%{_bindir}/file --mime-type -b -L %{cacerts}`" \ != "Xapplication/x-java-keystore;" ]; then # bnc#727223 rm -f %{cacerts} ln -s %{javacacerts} %{cacerts} fi %endif %post devel ext=.gz update-alternatives \ --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ --slave %{_jvmjardir}/java java_sdk_exports %{jvmjarlink} \ --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \ --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \ --slave %{_bindir}/jar jar %{sdkbindir}/jar \ --slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \ --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \ --slave %{_bindir}/javah javah %{sdkbindir}/javah \ --slave %{_bindir}/javap javap %{sdkbindir}/javap \ --slave %{_bindir}/jconsole jconsole %{sdkbindir}/jconsole \ --slave %{_bindir}/pack200 pack200 %{sdkbindir}/pack200 \ --slave %{_bindir}/unpack200 unpack200 %{sdkbindir}/unpack200 \ --slave %{_bindir}/jdb jdb %{sdkbindir}/jdb \ --slave %{_bindir}/jhat jhat %{sdkbindir}/jhat \ --slave %{_bindir}/jinfo jinfo %{sdkbindir}/jinfo \ --slave %{_bindir}/jmap jmap %{sdkbindir}/jmap \ --slave %{_bindir}/jps jps %{sdkbindir}/jps \ --slave %{_bindir}/jrunscript jrunscript %{sdkbindir}/jrunscript \ --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir}/jsadebugd \ --slave %{_bindir}/jstack jstack %{sdkbindir}/jstack \ --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \ --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \ --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \ --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \ --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \ --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \ --slave %{_bindir}/wsgen wsgen %{sdkbindir}/wsgen \ --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \ --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \ --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \ %{_mandir}/man1/appletviewer-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \ %{_mandir}/man1/extcheck-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jar.1$ext jar.1$ext \ %{_mandir}/man1/jar-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \ %{_mandir}/man1/jarsigner-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/javac.1$ext javac.1$ext \ %{_mandir}/man1/javac-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \ %{_mandir}/man1/javadoc-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/javah.1$ext javah.1$ext \ %{_mandir}/man1/javah-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/javap.1$ext javap.1$ext \ %{_mandir}/man1/javap-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \ %{_mandir}/man1/jconsole-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \ %{_mandir}/man1/jcmd-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \ %{_mandir}/man1/jdb-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \ %{_mandir}/man1/pack200-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \ %{_mandir}/man1/unpack200-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \ %{_mandir}/man1/jhat-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \ %{_mandir}/man1/jinfo-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \ %{_mandir}/man1/jmap-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jps.1$ext jps.1$ext \ %{_mandir}/man1/jps-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \ %{_mandir}/man1/jrunscript-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \ %{_mandir}/man1/jsadebugd-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \ %{_mandir}/man1/jstack-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \ %{_mandir}/man1/jstat-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \ %{_mandir}/man1/jstatd-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \ %{_mandir}/man1/native2ascii-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \ %{_mandir}/man1/rmic-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \ %{_mandir}/man1/schemagen-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \ %{_mandir}/man1/serialver-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \ %{_mandir}/man1/wsgen-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \ %{_mandir}/man1/wsimport-%{sdklnk}.1$ext \ --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \ %{_mandir}/man1/xjc-%{sdklnk}.1$ext \ --slave %{_datadir}/applications/jconsole.desktop jconsole.desktop \ %{_jvmdir}/%{jredir}/lib/desktop/jconsole.desktop update-alternatives \ --install %{_jvmdir}/java-openjdk \ java_sdk_openjdk %{_jvmdir}/%{sdklnk} %{priority} \ --slave %{_jvmjardir}/java-openjdk \ java_sdk_openjdk_exports %{jvmjarlink} update-alternatives \ --install %{_jvmdir}/java-%{javaver} \ java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \ --slave %{_jvmjardir}/java-%{javaver} \ java_sdk_%{javaver}_exports %{jvmjarlink} %postun devel if [ $1 -eq 0 ] then update-alternatives --remove javac %{sdkbindir}/javac update-alternatives --remove java_sdk_openjdk %{_jvmdir}/%{sdklnk} update-alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} fi %post javadoc update-alternatives \ --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{sdklnk}/api \ %{priority} %postun javadoc if [ $1 -eq 0 ] then update-alternatives --remove javadocdir %{_javadocdir}/%{sdklnk}/api fi %post accessibility # create links to java-atk-wrapper if [ ! -e %{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so ]; then ln -sf %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 %{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so fi if [ ! -e %{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar ]; then ln -sf %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar %{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar fi %files -f %{name}.files %defattr(-,root,root) %dir %{_jvmdir}/%{jredir}/lib/%{archinstall} %dir %{_datadir}/icons/hicolor %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png %files headless -f %{name}.files-headless %defattr(-,root,root,-) %dir %{_jvmdir} %dir %{_jvmdir}/%{jredir}/ %dir %{_jvmdir}/%{jredir}/bin %dir %{_jvmdir}/%{jredir}/lib %dir %{_jvmdir}/%{jredir}/lib/%{archinstall} %dir %{_jvmdir}/%{jredir}/lib/%{archinstall}/jli %dir %{_jvmdir}/%{jredir}/lib/%{archinstall}/server %dir %{_jvmdir}/%{jredir}/lib/cmm %dir %{_jvmdir}/%{jredir}/lib/desktop %dir %{_jvmdir}/%{jredir}/lib/ext %dir %{_jvmdir}/%{jredir}/lib/images %dir %{_jvmdir}/%{jredir}/lib/images/cursors %dir %{_jvmdir}/%{jredir}/lib/management %dir %{_jvmdir}/%{jredir}/lib/security %dir %{_libdir}/jvm-exports %dir %{_libdir}/jvm-private %doc %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/ASSEMBLY_EXCEPTION %doc %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/LICENSE %doc %{buildoutputdir}/%{imagesdir}/j2sdk-image/jre/THIRD_PARTY_README %dir %{_jvmdir}/%{sdkdir} %{_jvmdir}/%{jrelnk} %{_jvmjardir}/%{jrelnk} %{_jvmprivdir}/* %{jvmjardir} %if 0%{?suse_version} <= 1130 %config(noreplace) %{cacerts} %endif %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs %{_mandir}/man1/java-%{sdklnk}.1* %{_mandir}/man1/jjs-%{sdklnk}.1* %{_mandir}/man1/keytool-%{sdklnk}.1* %{_mandir}/man1/orbd-%{sdklnk}.1* %{_mandir}/man1/pack200-%{sdklnk}.1* %{_mandir}/man1/policytool-%{sdklnk}.1* %{_mandir}/man1/rmid-%{sdklnk}.1* %{_mandir}/man1/rmiregistry-%{sdklnk}.1* %{_mandir}/man1/servertool-%{sdklnk}.1* %{_mandir}/man1/tnameserv-%{sdklnk}.1* %{_mandir}/man1/unpack200-%{sdklnk}.1* %{_jvmdir}/%{jredir}/lib/security/nss.cfg %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar %{_jvmdir}/%{jredir}/lib/security/local_policy.jar %files devel %defattr(-,root,root,-) %dir %{_jvmdir}/%{sdkdir}/bin %dir %{_jvmdir}/%{sdkdir}/include %dir %{_jvmdir}/%{sdkdir}/lib %if %{with_systemtap} %dir %{_jvmdir}/%{sdkdir}/tapset %endif %{_jvmdir}/%{sdkdir}/bin/* %{_jvmdir}/%{sdkdir}/include/* %{_jvmdir}/%{sdkdir}/lib/* %if %{with_systemtap} %{_jvmdir}/%{sdkdir}/tapset/*.stp %endif %{_jvmdir}/%{sdklnk} %{_jvmjardir}/%{sdklnk} %{_mandir}/man1/appletviewer-%{sdklnk}.1* %{_mandir}/man1/extcheck-%{sdklnk}.1* %{_mandir}/man1/idlj-%{sdklnk}.1* %{_mandir}/man1/jar-%{sdklnk}.1* %{_mandir}/man1/jarsigner-%{sdklnk}.1* %{_mandir}/man1/javac-%{sdklnk}.1* %{_mandir}/man1/javadoc-%{sdklnk}.1* %{_mandir}/man1/javah-%{sdklnk}.1* %{_mandir}/man1/javap-%{sdklnk}.1* %{_mandir}/man1/jconsole-%{sdklnk}.1* %{_mandir}/man1/jcmd-%{sdklnk}.1* %{_mandir}/man1/jdb-%{sdklnk}.1* %{_mandir}/man1/jdeps-%{sdklnk}.1* %{_mandir}/man1/jhat-%{sdklnk}.1* %{_mandir}/man1/jinfo-%{sdklnk}.1* %{_mandir}/man1/jmap-%{sdklnk}.1* %{_mandir}/man1/jps-%{sdklnk}.1* %{_mandir}/man1/jrunscript-%{sdklnk}.1* %{_mandir}/man1/jsadebugd-%{sdklnk}.1* %{_mandir}/man1/jstack-%{sdklnk}.1* %{_mandir}/man1/jstat-%{sdklnk}.1* %{_mandir}/man1/jstatd-%{sdklnk}.1* %{_mandir}/man1/native2ascii-%{sdklnk}.1* %{_mandir}/man1/rmic-%{sdklnk}.1* %{_mandir}/man1/schemagen-%{sdklnk}.1* %{_mandir}/man1/serialver-%{sdklnk}.1* %{_mandir}/man1/wsgen-%{sdklnk}.1* %{_mandir}/man1/wsimport-%{sdklnk}.1* %{_mandir}/man1/xjc-%{sdklnk}.1* %if %{with_systemtap} %{tapsetroot} %endif %files demo -f %{name}-demo.files %defattr(-,root,root,-) %files src %defattr(-,root,root,-) %{_jvmdir}/%{sdkdir}/src.zip %files javadoc %defattr(0644,root,root,0755) %dir %{_javadocdir} %dir %{_javadocdir}/%{sdklnk} %{_javadocdir}/%{sdklnk}/* %files accessibility %defattr(-,root,root) %dir %{_jvmdir}/%{jredir}/lib/ext %config(noreplace) %{_jvmdir}/%{jredir}/lib/accessibility.properties %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/libatk-wrapper.so %ghost %{_jvmdir}/%{jredir}/lib/ext/java-atk-wrapper.jar %changelog