LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File java-1_7_0-openjdk.spec of Package java-1_7_0-openjdk (Project Java:openjdk6:Factory)

#
# spec file for package java-1_7_0
#
# Copyright (c) 2013 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/
#


%define gcjbootstrap 0

%define jit_arches %{ix86} x86_64
# Turn on/off some features depending on openSUSE version
%define with_systemtap 0

%ifarch %{jit_arches}
%if 0%{?suse_version} >= 1130
%define with_systemtap 1
%endif
%endif

%ifarch %arm
%bcond_without jamvm
%else
%bcond_with jamvm
%endif

# turn zero on non jit arches by default, unless jamvm has been specified
%ifnarch %{jit_arches}
%if ! %{with jamvm}
%define _with_zero --with-zero
%endif
%endif
%bcond_with zero

# XXX: systemtap does not work with gcj
%if %{gcjbootstrap}
%define with_systemtap 0
%endif

#XXX: maybe 12.1 with pa 1.1 will work (?)
%if 0%{?suse_version} >= 1140
%define with_pulseaudio 1
%else
%define with_pulseaudio 0
%endif

# If runtests is 0 test suites will not be run.
%define runtests 0

%define icedtea_version 2.3.6
%define hg_tag icedtea-{icedtea_version}-branchpoint

%define openjdkdate 27_jun_2011

%define accessmajorver 1.26
%define accessminorver 2
%define accessver %{accessmajorver}.%{accessminorver}
%define accessurl http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/

%define mauvedate 2008-10-22

%ifarch %{ix86}
%define archbuild i586
%define archinstall i386
%endif
%ifarch x86_64
%define archbuild amd64
%define archinstall amd64
%endif
%ifnarch %{jit_arches}
%define archbuild %{_arch}
%define archinstall %{_arch}
%endif
# Reduce build time from 27 hours to 12 hours by only running test
# suites on JIT architectures.
%ifnarch %{jit_arches}
%define runtests 0
%endif

%define buildoutputdir openjdk.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.
%define script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
%define abs2rel %{__perl} -e %{script}

# Standard JPackage naming and versioning defines.
%if ! %{with jamvm}
%define origin openjdk
%else
%define origin icedtea
%endif
%define priority        17147
%define javaver         1.7.0
%define buildver        6

# Standard JPackage directories and symbolic links.
%define sdklnk          java-%{javaver}-%{origin}
%define archname        %{sdklnk}
%define jrelnk          jre-%{javaver}-%{origin}
%define sdkdir          %{sdklnk}-%{javaver}
%define jredir          %{sdkdir}/jre
%define sdkbindir       %{_jvmdir}/%{sdklnk}/bin
%define jrebindir       %{_jvmdir}/%{jrelnk}/bin
%define jvmjardir       %{_jvmjardir}/%{sdkdir}
%define jvmjarlink      %{_jvmjardir}/%{sdklnk}

%ifarch %{jit_arches}
# 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.
#%define tapsetdir	/usr/share/systemtap/tapset/%{sdkdir}
%define tapsetroot      %{_datadir}/systemtap
%define tapsetdir	%{tapsetroot}/tapset/%{_build_cpu}
%endif

# Prevent brp-java-repack-jars from being run.
%define __jar_repack 0

# cacert symlink
%define cacerts  %{_jvmdir}/%{jredir}/lib/security/cacerts
# real file made by update-ca-certificates
%define javacacerts %{_var}/lib/ca-certificates/java-cacerts

Name:           java-1_7_0-%{origin}
Version:        %{javaver}.%{buildver}
Release:        0
Summary:        Java runtime environment based on OpenJDK 7 and IcedTea 7
License:        GPL-2.0-with-classpath-exception
Group:          Development/Languages/Java
Url:            http://icedtea.classpath.org

Source0:        icedtea-%{icedtea_version}.tar.gz

# Gnome access bridge
#Source9:  %{accessurl}%{accessmajorver}/java-access-bridge-%{accessver}.tar.bz2
Source1:        java-access-bridge-%{accessver}.tar.bz2

# Mauve test suite
# FIXME: Is this applicable for 7?
Source3:        mauve-%{mauvedate}.tar.gz
Source4:        mauve_tests

Source5:        http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/archive/dd8d1a8f222f.tar.gz
Source6:        http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/corba/archive/97a8b625f6e9.tar.gz
Source7:        http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxp/archive/d7feafb8427b.tar.gz
Source8:        http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxws/archive/b900024eb4ba.tar.gz
Source9:        http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk/archive/6bb01322bb5a.tar.gz
Source10:       http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/langtools/archive/e0739a8783d1.tar.gz
Source11:       http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot/archive/bc0de5a0ece2.tar.gz
# zero compatible hotspot
Source12:       http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/hotspot/archive/32569b4d36f4.tar.gz
Source13:       http://icedtea.classpath.org/download/drops/jamvm/jamvm-0972452d441544f7dd29c55d64f1ce3a5db90d82.tar.gz

#Source1000:     java-1_7_0-openjdk-rpmlintrc
# those properties are for opeSUSE only
Source1001:     fontconfig.SuSE.properties

Source2000:     icedtea-%{icedtea_version}.tar.gz.sig
Source2001:     java-1_7_0-openjdk.keyring

# RPM/distribution specific patches

# Allow TCK to pass with access bridge wired in
Patch1:         java-1.7.0-openjdk-java-access-bridge-tck.patch

# Adjust idlj compilation switches to match what system idlj supports
Patch2:         java-1.7.0-openjdk-java-access-bridge-idlj.patch

# Disable access to access-bridge packages by untrusted apps
Patch3:         java-1.7.0-openjdk-java-access-bridge-security.patch

# Ignore AWTError when assistive technologies are loaded 
Patch4:         java-1.7.0-openjdk-accessible-toolkit.patch

# Build docs even in debug
Patch5:         java-1.7.0-openjdk-debugdocs.patch

# Add debuginfo where missing
Patch6:         java-1.7.0-openjdk-debuginfo.patch

#
# OpenJDK specific patches
#

# Type fixing for s390
Patch101:       java-1.7.0-openjdk-bitmap.patch
Patch102:       java-1.7.0-openjdk-size_t.patch

# Patches for Arm
Patch103:       java-1.7.0-openjdk-arm-fixes.patch

# Patch for PPC/PPC64
Patch105:       java-1.7.0-openjdk-ppc-zero-jdk.patch
Patch106:       java-1.7.0-openjdk-ppc-zero-hotspot.patch

#PATH-FIX-UPSTREAM: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2012-December/021050.html, bnc#792951
Patch107:       openjdk-7-src-b147-awt-crasher.patch

#
# Optional component packages
#

# SUSE patches - from java-1_6_0-openjdk package
Patch1000:      java-1_7_0-openjdk-suse-desktop-files.patch

Patch1001:      openjdk-7-src-b147-no-return-in-nonvoid.patch
Patch1002:      openjdk-7-src-b147-stringcompare.patch

# PATCH-FIX-OPENSUSE: limit the maximum heap size of a rewriter - it fails on some servers
Patch1003:      java-1_7_0-openjdk-add-memory-limit.patch

Patch1004:      java-1_7_0-openjdk-zero-annotate-aborting-functions-zero.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-build

# special for hacking inside build dir
BuildRequires:  quilt
BuildRequires:  vim

BuildRequires:  alsa-lib-devel
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  cups-devel
BuildRequires:  desktop-file-utils
BuildRequires:  giflib-devel
BuildRequires:  libjpeg-devel
BuildRequires:  liblcms2-devel
BuildRequires:  libpng-devel
%if %{with jamvm}
BuildRequires:  libtool
%endif
%if 0%{?suse_version} >= 1220
BuildRequires:  libxslt-tools
%endif
BuildRequires:  rhino
BuildRequires:  wget
BuildRequires:  xorg-x11
BuildRequires:  xorg-x11-devel
BuildRequires:  xorg-x11-proto-devel
%if 0%{?suse_version} >= 1220
BuildRequires:  xprop
%endif
#BuildRequires:  xalan-j2
# make sure to use bootstrap requires of ant
#BuildRequires:  xerces-j2-bootstrap
#!BuildIgnore: xerces-j2 xml-commons-resolver xml-commons-apis xml-commons
BuildRequires:  ant
BuildRequires:  ant-nodeps
BuildRequires:  java-1_7_0-%{origin}
BuildRequires:  java-1_7_0-%{origin}-devel
BuildRequires:  mozilla-nss-devel
BuildRequires:  zlib-devel
# can be disabled using --disable-compile-against-syscalls
BuildRequires:  libattr-devel

# Mauve build requirements.
%if %{runtests}
BuildRequires:  ecj
BuildRequires:  fontconfig
BuildRequires:  freetype2-devel >= 2.3.0
BuildRequires:  xorg-x11-fonts
BuildRequires:  xorg-x11-server-extra
%endif

# Java Access Bridge for GNOME build requirements.
BuildRequires:  at-spi-devel
BuildRequires:  gawk
BuildRequires:  libbonobo-devel
BuildRequires:  pkgconfig >= 0.9.0
BuildRequires:  xorg-x11-util-devel

# pulse audio requirements
%if %{with_pulseaudio}
BuildRequires:  libpulse-devel >= 0.9.11
BuildRequires:  pulseaudio >= 0.9.11
%endif

#system tap
%if %{with_systemtap}
BuildRequires:  systemtap-sdt-devel >= 1.0
%endif

%if 0%{?suse_version} > 1110
#fixing RedHat bug #648499
BuildRequires:  lsb-release
#the /etc/SuSE-release is needed as well
BuildRequires:  distribution-release
%endif

# Zero-assembler build requirement.
%if %{with zero}
BuildRequires:  libffi-devel
%endif

BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  perl
BuildRequires:  procps
BuildRequires:  unzip
BuildRequires:  update-desktop-files
BuildRequires:  zip

# runtime ceritifacates generation available in 11.3+ - bnc#596177
%if %{suse_version} >= 1130
BuildRequires:  java-ca-certificates
Requires(post): java-ca-certificates
Requires(post): file
#bnc#634793
Requires(post): mozilla-nss
%else
# the certificates will converted in a prep to standard keystore file - cacerts
# The openssl requirment seems to be necessary for build only.
Requires:       openssl
BuildRequires:  openssl-certs
%endif

%if 0%{?suse_version} >= 1230
BuildRequires:  gpg-offline
%endif

Requires:       lcms2
Requires:       rhino
# Require jpackage-utils for ant.
Requires:       jpackage-utils >= 1.7.3
# Require zoneinfo data provided by tzdata-java subpackage.
Requires:       tzdata-java

Requires(pre):  update-alternatives
%if %{with_systemtap}
Recommends:     systemtap >= 1.0
%endif

# Standard JPackage base provides.
Provides:       java = %{javaver}
Provides:       java-%{javaver} = %{version}-%{release}
Provides:       java-%{javaver}-%{origin} = %{version}-%{release}
Provides:       java-%{origin} = %{version}-%{release}
Provides:       jre = %{javaver}
Provides:       jre-%{javaver} = %{version}-%{release}
Provides:       jre-%{javaver}-%{origin} = %{version}-%{release}
Provides:       jre-%{origin} = %{version}-%{release}
# Standard JPackage extensions provides.
Provides:       jaas = %{version}
Provides:       java-sasl = %{version}
Provides:       jce = %{version}
Provides:       jdbc-stdext = %{version}
Provides:       jdbc-stdext = 3.0
Provides:       jndi = %{version}
Provides:       jndi-cos = %{version}
Provides:       jndi-dns = %{version}
Provides:       jndi-ldap = %{version}
Provides:       jndi-rmi = %{version}
Provides:       jsse = %{version}
# Required at least by fop
Provides:       jre1.3.x
Provides:       jre1.4.x
Provides:       jre1.5.x
Provides:       jre1.6.x
Provides:       jre1.7.x
# bnc#542545
# 32-bit versus 64-bit specific provides:
%ifarch %ix86 ppc s390
%define bits 32
%endif
%ifarch x86_64 ia64 s390x
%define bits 64
%endif
Provides:       java-%{bits} = %{javaver}
Provides:       java-%{javaver}-%{bits}
Provides:       java-%{origin}-%{bits} = %{version}-%{release}
Provides:       jre-%{bits} = %{javaver}
Provides:       jre-%{javaver}-%{bits}
Provides:       jre-%{javaver}-%{origin}-%{bits} = %{version}-%{release}
Provides:       jre-%{origin}-%{bits} = %{version}-%{release}

%description
This Java 7 compatible Java Runtime Environment is based on OpenJDK 7
and IcedTea 7.

It contains a Java virtual machine, runtime class libraries, and an
Java application launcher that are necessary to run programs written in
the Java progamming language. It is not a development environment and
does not contain development tools such as compilers and debuggers. For
development tools, see the %{name}-devel package.

The Java 7 Runtime Environment is intended for software developers and
vendors who wish to redistribute their applications.



%package devel
Summary:        Java SDK based on OpenJDK 7 and IcedTea 7
Group:          Development/Languages/Java
Requires:       %{name} = %{version}-%{release}
Requires(pre):  %{_sbindir}/update-alternatives
Provides:       java-%{javaver}-%{origin}-devel = %{version}-%{release}
Provides:       java-%{javaver}-devel = %{version}
Provides:       java-devel = %{javaver}
Provides:       java-devel-%{origin} = %{version}
Provides:       java-sdk = %{javaver}
Provides:       java-sdk-%{javaver} = %{version}
Provides:       java-sdk-%{javaver}-%{origin} = %{version}
Provides:       java-sdk-%{origin} = %{version}

%description devel
This Java 7 compatible Java SDK is based on OpenJDK 6 and IcedTea 6.

The Java 7 SDK is a development environment for building applications,
applets, and components using the Java programming language.

The Java 7 SDK includes tools useful for developing and testing
programs written in the Java programming language and running on the
Java platform. These tools are designed to be used from the command
line. Except for the appletviewer, these tools do not provide a
graphical user interface.



%package demo
Summary:        Sources for building demo applications with OpenJDK 7
Group:          Development/Languages/Java
Provides:       java-%{javaver}-%{origin}-demo = %{version}-%{release}
Requires:       %{name}-devel = %{version}-%{release}

%description demo
This package provides sources of demonstration applications for OpenJDK
7 and is intented for aspiring Java developers which want to learn
about the features of OpenJDK 7.



%package src
Summary:        OpenJDK 7 Java class sources for developers
Group:          Development/Languages/Java
Requires:       %{name}-devel = %{version}-%{release}

%description src
This package provides Java Runtime librarcy class sources of OpenJDK 7
and is intented for developers which may need them for investigating
problems.



%package javadoc
Summary:        Documentation of the Java API of OpenJDK 7
Group:          Development/Languages/Java
Requires(pre):  %{_sbindir}/update-alternatives
Provides:       java-%{javaver}-%{origin}-javadoc = %{version}-%{release}
Provides:       java-%{javaver}-javadoc = %{version}-%{release}
Provides:       java-javadoc = %{version}-%{release}

%description javadoc
This package provides documentation of the API provided by OpenJDK 7
and is intented for Java developers which need to which API features
are provided by OpenJDK 7.

%prep
%if 0%{?suse_version} >= 1230
%gpg_verify -p java-1_7_0-openjdk %{SOURCE2000}
%endif

%if %{with jamvm} && %{with zero}
echo "ERROR: use either --with jamvm either --with zero, both are not supported!" >&2
exit 1
%endif

%setup -q -n icedtea-%{icedtea_version}
%setup -q -n icedtea-%{icedtea_version} -T -D -a 3
%setup -q -n icedtea-%{icedtea_version} -T -D -a 1

cp %{SOURCE4} .

%patch1 -p1 

%patch1000 -p1
%patch1003 -p1

%build
export LANG=C
unset JAVA_HOME

# How many cpu's do we have?
export NUM_PROC=`/usr/bin/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

%{configure} \
        --with-abs-install-dir=%{_jvmdir}/%{sdkdir} \
%ifnarch %{arm}
        --with-parallel-jobs="${NUM_PROC}" \
%endif
        --with-pkgversion="suse-%{release}-%{_arch}" \
        --disable-bootstrap \
        --with-jdk-home="/etc/alternatives/java_sdk/" \
%if %{with_pulseaudio}
        --enable-pulse-java \
%endif
%if %{with_systemtap}
        --enable-systemtap \
%endif
        --enable-nss \
%if %{with zero}
        --enable-zero \
%endif
%if %{with jamvm}
        --enable-jamvm \
        --with-jamvm-src-zip=%{SOURCE13} \
%endif
%if 0%{?suse_version} <= 1110
        --disable-system-gio \
%endif
        --with-openjdk-src-zip=%{SOURCE5} \
        --with-corba-src-zip=%{SOURCE6} \
        --with-jaxp-src-zip=%{SOURCE7} \
        --with-jaxws-src-zip=%{SOURCE8} \
        --with-jdk-src-zip=%{SOURCE9} \
        --with-langtools-src-zip=%{SOURCE10} \
%if %{with zero}
        --with-hotspot-src-zip=%{SOURCE12}
%else
        --with-hotspot-src-zip=%{SOURCE11}
%endif

make patch

# XXX: The quilt setup series fails with existing patches dir ... do not want to
# export an another patches dir, as this will not be in chroot, which is the
# reason I use quilt - to be able edit patches directly in chroot
function qpatch() {
    quilt import ${1} ${2}
    quilt push
}

qpatch -p0 %{PATCH2}
qpatch -p0 %{PATCH3}
qpatch -p0 %{PATCH4}

# % if %{debug}
# qpatch -p0 %{PATCH5}
# qpatch -p0 %{PATCH6}
# % endif

# Typo fixes
qpatch -p0 %{PATCH101}
#qpatch -p0 %{PATCH102}

# Arm fixes
qpatch -p0 %{PATCH103}

%ifarch ppc ppc64
# PPC fixes
qpatch -p0 %{PATCH105}
qpatch -p0 %{PATCH106}
%endif

#AWT crasher
qpatch -p1 %{PATCH107}

#SUSE specific fixes
qpatch -p1 %{PATCH1002}

%if %{with zero}
qpatch -p0 %{PATCH1004}

#XXX: there are many issues in hotspot 2.1, but I would say noone will fix them
#     so ignore all Werror like troubles we can find
find . -name '*.gmk' -or -name '*.make' | xargs -L 1 \
    sed -i 's/-Wno-unused//;s/WARNINGS_ARE_ERRORS = -Werror//;s/CFLAGS_WARN = -Werror//;s/CFLAGS_WARN = -Werror//'
%else
qpatch -p1 %{PATCH1001}
%endif

make %{_smp_mflags}
export JAVA_HOME=$(pwd)/%{buildoutputdir}/j2sdk-image
# cacerts are generated in runtime in openSUSE
if [ -f %{buildoutputdir}/j2sdk-image/jre/lib/security/cacerts ]; then
        rm %{buildoutputdir}/j2sdk-image/jre/lib/security/cacerts
fi
%if %{suse_version} < 1130
# ========== a default keystore ==========
# a cacerts generation - 11.3+ use java-ca-certificates package
for PEM in /etc/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}/j2sdk-image/jre/lib/security/cacerts -storepass 'changeit' -file ${ALIAS}.pem || :
    rm ${ALIAS}.pem
done
%endif

# ========== java access bridge ==========
pushd java-access-bridge-%{accessver}
  OLD_PATH=$PATH
  export PATH=$JAVA_HOME/bin:$OLD_PATH
  %{configure}
  make
  export PATH=$OLD_PATH
  install -m 0644 bridge/accessibility.properties $JAVA_HOME/jre/lib
  install -m 0644 gnome-java-bridge.jar $JAVA_HOME/jre/lib/ext
popd

# Copy tz.properties
echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties

%if %{runtests}
# Run jtreg test suite.
{
  echo ====================JTREG TESTING========================
  export DISPLAY=:20
  Xvfb :20 -screen 0 1x1x24 -ac&
  echo $! > Xvfb.pid
  make jtregcheck -k
  kill -9 `cat Xvfb.pid`
  unset DISPLAY
  rm -f Xvfb.pid
  echo ====================JTREG TESTING END====================
} || :

# Run Mauve test suite.
{
  pushd mauve-%{mauvedate}
    ./configure
    make
    echo ====================MAUVE TESTING========================
    export DISPLAY=:20
    Xvfb :20 -screen 0 1x1x24 -ac&
    echo $! > Xvfb.pid
    $JAVA_HOME/bin/java Harness -vm $JAVA_HOME/bin/java \
      -file %{SOURCE6} -timeout 30000 2>&1 | tee mauve_output
    kill -9 `cat Xvfb.pid`
    unset DISPLAY
    rm -f Xvfb.pid
    echo ====================MAUVE TESTING END====================
  popd
} || :
%endif

%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

pushd %{buildoutputdir}/j2sdk-image
  # Install main files.
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}

  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
  # bnc#438674
  # Install a fontconfig file which don't reffer to agfa-fonts on openSUSE
  cp %{S:1001} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/

  %if %{with_systemtap}
  popd

  # Install systemtap support files.
  cp -a tapset $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
  pushd $RPM_BUILD_ROOT%{tapsetdir}
    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
    ln -sf $RELATIVE/*.stp .
  popd

  pushd %{buildoutputdir}/j2sdk-image
  %endif

  # Install extension symlinks.
  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
  pushd $RPM_BUILD_ROOT%{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 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla

  # Install versionless symlinks.
  pushd $RPM_BUILD_ROOT%{_jvmdir}
    ln -sf %{jredir} %{jrelnk}
    ln -sf %{sdkdir} %{sdklnk}
  popd

  pushd $RPM_BUILD_ROOT%{_jvmjardir}
    ln -sf %{sdkdir} %{jrelnk}
    ln -sf %{sdkdir} %{sdklnk}
  popd

  # Install man pages.
  install -d -m 755 $RPM_BUILD_ROOT%{_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 $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
      $manpage .1)-%{sdklnk}.1
  done
  # Install demos and samples.
  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
  # enable short-circuit
  mkdir -p sample/rmi
  [ -f bin/java-rmi.cgi ] && mv bin/java-rmi.cgi sample/rmi
  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}

popd

# Install Javadoc documentation.
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{sdklnk}
# Install icons and menu entries.
for s in 16 24 32 48 ; do
  install -D -p -m 644 \
    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java.png
done

# Install desktop files.
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -d -m 0755 $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir}/jre/lib/desktop/
for d in jconsole policytool; do
    install -m 0644 $d.desktop $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir}/jre/lib/desktop/
    %suse_update_desktop_file $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir}/jre/lib/desktop/$d.desktop
done

# fdupes links the files from JDK to JRE, so it breaks a JRE
# use it carefully :))
%fdupes -s $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir}/
%fdupes -s $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir}/demo
%fdupes -s $RPM_BUILD_ROOT%{_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" $RPM_BUILD_ROOT/%{cacerts}) == "32" ]]; then
    echo "ERROR: Default keystore seems empty"
    exit 1
fi
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post

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}/%{sdkdir}/jre/lib/desktop/policytool.desktop

update-alternatives \
  --install %{_jvmdir}/jre-%{origin} \
  jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
  --slave %{_jvmjardir}/jre-%{origin} \
  jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
update-alternatives \
  --install %{_jvmdir}/jre-%{javaver} \
  jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
  --slave %{_jvmjardir}/jre-%{javaver} \
  jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}

%postun
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_%{origin} %{_jvmdir}/%{jrelnk}
  update-alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
fi

%if 0%{?suse_version} >= 1130
%posttrans
# check if the java-cacerts is a valid keystore (bnc#781690)
if [ "`/usr/bin/file --mime-type -b %{javacacerts}`" \
    != "xapplication/x-java-keystore;" ]; then
    /usr/sbin/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 [ "`/usr/bin/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}/apt apt %{sdkbindir}/apt \
  --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/apt.1$ext apt.1$ext \
  %{_mandir}/man1/apt-%{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}/%{sdkdir}/jre/lib/desktop/jconsole.desktop

update-alternatives \
  --install %{_jvmdir}/java-%{origin} \
  java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
  --slave %{_jvmjardir}/java-%{origin} \
  java_sdk_%{origin}_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_%{origin} %{_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

%files
%defattr(0644,root,root,0755)
%doc %{buildoutputdir}/j2sdk-image/jre/ASSEMBLY_EXCEPTION
%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
%doc %{buildoutputdir}/j2sdk-image/jre/THIRD_PARTY_README
%doc 

%dir %{_jvmdir}/java-%{javaver}-%{origin}
%dir %{_jvmdir}/%{sdkdir}
%{_jvmdir}/%{jrelnk}
%{_jvmjardir}/%{jrelnk}

%{_jvmjardir}/%{sdkdir}/

%dir %{_jvmdir}/%{sdkdir}/jre/
%dir %{_jvmdir}/%{sdkdir}/jre/bin
%dir %{_jvmdir}/%{sdkdir}/jre/lib
%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}
%ifarch %{ix86}
%dir %{_jvmdir}/%{sdkdir}/jre/lib/i386/client/Xusage.txt
%endif
%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/headless
%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/jli
%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server
%dir %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/xawt

%attr(775,root,root) %{_jvmdir}/%{sdkdir}/jre/bin/*
# jre/lib 
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/*.so
%ifarch %arm
%dir %{_jvmdir}/%{sdkdir}/jre/lib/arm/client
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/arm/client/libjsig.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/arm/client/libjvm.so
%{_jvmdir}/%{sdkdir}/jre/lib/arm/client/Xusage.txt
%endif
%ifarch %{ix86}
%dir %{_jvmdir}/%{sdkdir}/jre/lib/i386/client
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/i386/client/libjsig.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/i386/client/libjvm.so
%{_jvmdir}/%{sdkdir}/jre/lib/i386/client/Xusage.txt
%endif
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/jli/libjli.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/headless/libmawt.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.*
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjsig.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/xawt/libmawt.so
%config(noreplace) %{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/jvm.cfg
%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/Xusage.txt
%{_jvmdir}/%{sdkdir}/jre/lib/applet/
%{_jvmdir}/%{sdkdir}/jre/lib/cmm/
%{_jvmdir}/%{sdkdir}/jre/lib/ext/
%{_jvmdir}/%{sdkdir}/jre/lib/images/
%dir %{_jvmdir}/%{jredir}/lib/management/
%dir %{_jvmdir}/%{jredir}/lib/security
%{_jvmdir}/%{jredir}/lib/servicetag/
%{_jvmdir}/%{sdkdir}/jre/lib/zi/
%{_jvmdir}/%{sdkdir}/jre/lib/*jar
%{_jvmdir}/%{sdkdir}/jre/lib/classlist
%{_jvmdir}/%{sdkdir}/jre/lib/currency.data
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/jre/lib/jexec
%{_jvmdir}/%{sdkdir}/jre/lib/jvm.hprof.txt
%{_jvmdir}/%{sdkdir}/jre/lib/meta-index

%if 0%{?suse_version} <= 1130
%config(noreplace) %{cacerts}
%endif
# % ghost %{_jvmdir}/%{jredir}/lib/security/cacerts
# % endif
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg
#bnc#637224
%config(noreplace) %{_jvmdir}/%{jredir}/lib/fontconfig.*
%config(noreplace) %{_jvmdir}/%{jredir}/lib/*.properties
%config(noreplace) %{_jvmdir}/%{jredir}/lib/psfont.properties.ja
%config(noreplace) %{_jvmdir}/%{jredir}/lib/management/*
%config(noreplace) %{_jvmdir}/%{jredir}/lib/images/cursors/cursors.properties 

%dir %{_jvmdir}/%{sdkdir}/jre/lib/desktop/
%{_jvmdir}/%{sdkdir}/jre/lib/desktop/policytool.desktop
%{_datadir}/icons/hicolor/*/apps/java.png

%{_mandir}/man1/java-%{sdklnk}.1*
%{_mandir}/man1/keytool-%{sdklnk}.1*
%{_mandir}/man1/orbd-%{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*

%files devel
%defattr(0644,root,root,0755)

%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/lib

%if %{with_systemtap}
%dir %{_datadir}/systemtap/tapset
%dir %{tapsetdir}
%dir %{_jvmdir}/%{sdkdir}/tapset
%{tapsetdir}/*
%{_jvmdir}/%{sdkdir}/tapset/*
%endif

%attr(755,root,root) %{_jvmdir}/%{sdkdir}/bin/*
%{_jvmdir}/%{sdkdir}/include/*
%{_jvmdir}/%{sdkdir}/lib/*
%{_jvmjardir}/%{sdklnk}/

%{jvmjarlink}

%{_jvmdir}/%{sdkdir}/jre/lib/desktop/jconsole.desktop

%{_mandir}/man1/appletviewer-%{sdklnk}.1*
%{_mandir}/man1/apt-%{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/pack200-%{sdklnk}.1*
%{_mandir}/man1/unpack200-%{sdklnk}.1*
%{_mandir}/man1/jdb-%{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*

%files demo
%defattr(0644,root,root,0755)
%{_jvmdir}/%{sdkdir}/demo
%{_jvmdir}/%{sdkdir}/sample
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/compiledMethodLoad/lib/libcompiledMethodLoad.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/gctest/lib/libgctest.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/heapTracker/lib/libheapTracker.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/heapViewer/lib/libheapViewer.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/hprof/lib/libhprof.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/minst/lib/libminst.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/mtrace/lib/libmtrace.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/versionCheck/lib/libversionCheck.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/demo/jvmti/waiters/lib/libwaiters.so
%attr(755,root,root) %{_jvmdir}/%{sdkdir}/sample/rmi/java-rmi.cgi

%files src
%defattr(0644,root,root,0755)
%{_jvmdir}/%{sdkdir}/src.zip

%files javadoc
%defattr(0644,root,root,0755)
%dir %{_javadocdir}/%{sdklnk}
%{_javadocdir}/%{sdklnk}/*

%changelog