File java-1_7_0-icedtea.spec of Package java-1_7_0-icedtea
#
# spec file for package java-1_7_0-icedtea (Version MACRO)
#
# Copyright (c) 2008 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/
#
Name: java-1_7_0-icedtea
%define icedteaver 1.5
%define openjdkver b24
%define origin icedtea
Version: %{icedteaver}_%{openjdkver}
Release: 15
Summary: Java runtime environment preview based on OpenJDK 7
Group: Development/Libraries/Java
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Url: http://icedtea.classpath.org/
%define gcjbootstrap 0
%if %{gcjbootstrap}
BuildRequires: ecj-bootstrap java-1_5_0-gcj-compat-devel
%else
BuildRequires: java-1.7.0-icedtea java-1.7.0-icedtea-devel
%endif
Source0: %{url}download/source/icedtea-%{icedteaver}.tar.bz2
%define fedorazip openjdk-%{openjdkver}-fedora.zip
Source1: %{fedorazip}
%define accessmajorver 1.21
%define accessver %{accessmajorver}.1
Source2: http://ftp.gnome.org/pub/GNOME/sources/java-access-bridge/%{accessmajorver}/java-access-bridge-%{accessver}.tar.bz2
Source3: http://cvs.fedoraproject.org/viewcvs/devel/java-1.7.0-icedtea/generate-fedora-zip.sh
Source4: icedtea-new_zero_files
Patch0: java-1.7.0-icedtea-win32.patch
Patch1: java-1.7.0-icedtea-jhat.patch
Patch3: execstack.patch
Patch4: icedtea-openjdk_fixes.patch
Patch10: icedtea-to_hg.patch
Patch15: icedtea-ports.patch
Patch16: icedtea-s390x.patch
Patch17: java-enum_cell.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ant ecj gcc-c++ xalan-j2
BuildRequires: alsa-lib-devel cups-devel giflib-devel libjpeg-devel libpng-devel
BuildRequires: openmotif-devel xorg-x11 xorg-x11-proto-devel
BuildRequires: at-spi-devel gawk libbonobo-devel mercurial pkgconfig
BuildRequires: fdupes glib2-devel gtk2-devel libffi-devel mozilla-xulrunner190-devel procps unzip zip
PreReq: update-alternatives
Requires: jpackage-utils >= 1.7.3
# Require /etc/pki/tls/certs/ca-bundle.crt instead of generating cacerts.
#Requires: openssl-cacerts
# Standard JPackage base provides.
Provides: %(echo %name|sed s/_/./g)
%define javaver 1.7.0
Provides: jre-%{javaver}-%{origin} = %{version}-%{release}
Provides: jre-%{origin} = %{version}-%{release}
Provides: jre-%{javaver} = %{version}-%{release}
Provides: java-%{javaver} = %{version}-%{release}
Provides: jre = %{javaver}
Provides: java-%{origin} = %{version}-%{release}
Provides: java = %{javaver}
# Standard JPackage extensions provides.
Provides: jndi = %{version}
Provides: jndi-ldap = %{version}
Provides: jndi-cos = %{version}
Provides: jndi-rmi = %{version}
Provides: jndi-dns = %{version}
Provides: jaas = %{version}
Provides: jsse = %{version}
Provides: jce = %{version}
Provides: jdbc-stdext = 3.0, jdbc-stdext = %{version}, java-sasl = %{version}
# Not yet building in ia64 and s390 and openjdk6 takes precendence over openjdk7 for this:
ExclusiveArch: %ix86 x86_64
%ifarch x86_64 ppc64
%define archsuffix .%{_arch}
%else
%define archsuffix %{nil}
%endif
#
## Build-time and script-time only definitions:
#
#
# Standard JPackage directories and symbolic links:
#
%define sdkname java-%{javaver}-%{origin}
%define archname %{sdkname}%{archsuffix}
%define localpolicy jce_%{javaver}_%{origin}_local_policy%{archsuffix}
%define uspolicy jce_%{javaver}_%{origin}_us_export_policy%{archsuffix}
%define javaplugin libjavaplugin.so%{archsuffix}
%define sdklnk %{sdkname}
%define jrelnk jre-%{javaver}-%{origin}
%define sdkdir %{sdklnk}-%{version}
%define jredir %{sdkdir}/jre
%define sdkbindir %{_jvmdir}/%{sdklnk}/bin
%define jrebindir %{_jvmdir}/%{jrelnk}/bin
%define jvmjardir %{_jvmjardir}/%{sdkdir}
%define priority 7000
#
# Definitions of the output directories for %install, %files and scripts:
#
%define jvmjarlink %{_jvmjardir}/%{sdklnk}
%ifarch x86_64
%define archinstall amd64
%define archbuild amd64
%else
%ifarch ppc ppc64 ia64 s390 s390x
%define archinstall %{_arch}
%define archbuild %{_arch}
%else
%define archinstall i386
%define archbuild i586
%endif
%endif
%define buildoutputdir openjdk/build/linux-%{archbuild}
#
# For quicker turn-around cycles when developing updated install scripts:
#
%define do_prep 1
%define do_build 1
%define do_install 1
%define do_clean 1
%define mainfilelist %{_builddir}/%{name}.files
%define demofilelist %{_builddir}/%{name}-demo.files
%description
This package provides an early preview of the next Sun Java Runtime
Environment based on Sun's release of early sources for OpenJDK 7.
When OpenJDK 7 is released, it will implement the Java SE 7 Platform
Specification. Work on that specification is underway, but far from
final. Any APIs in the OpenJDK 7 implementation, whether new or old,
are therefore subject to minor adjustments, major revisions, or even
outright removal between now and the time that the Java SE 7 Platform
Specification is finalized.
For developing Java applications, it is therefore recommended to use a
Java Environment providing a released Java Specification such as Java
SE 6 which is provided by OpenJDK 6 or java-1_6_0-sun (Sun Java 6).
For information regarding Java on openSUSE, see:
http://en.opensuse.org/Java
%package devel
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Summary: The IcedTea Java runtime environment
Group: Development/Libraries/Java
Requires: %{name} = %{version}-%{release}
PreReq: %{_sbindir}/update-alternatives
Provides: %(echo %name|sed s/_/./g)-devel
Provides: java-sdk-%{javaver}-%{origin} = %{version}
Provides: java-sdk-%{javaver} = %{version}
Provides: java-sdk-%{origin} = %{version}
Provides: java-sdk = %{javaver}
Provides: java-%{javaver}-devel = %{version}
Provides: java-devel-%{origin} = %{version}
Provides: java-devel = %{javaver}
%description devel
IcedTea is derived from OpenJDK, Sun's open-source implementation of
the Java SE platform. At this time the build from which IcedTea was
constructed corresponds to an early build of JDK 7. When JDK 7 is
complete it will implement the Java SE 7 Platform Specification. Work
on that specification is underway, but far from final. Any APIs in the
JDK 7 implementation, whether new or old, are therefore subject to
minor adjustments, major revisions, or even outright removal between
now and the time that the Java SE 7 Platform Specification is
finalized. Please take these facts into account before depending upon
IcedTea.
%package demo
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Summary: The IcedTea Java runtime environment
Group: Development/Libraries/Java
Provides: %(echo %name|sed s/_/./g)-demo
Requires: %{name} = %{version}-%{release}
%description demo
IcedTea is derived from OpenJDK, Sun's open-source implementation of
the Java SE platform.
IcedTea was derived from early build of JDK 7. When JDK 7 is complete
it will implement the Java SE 7 Platform Specification. Work on that
specification is underway, but far from final. Any APIs in the JDK 7
implementation, whether new or old, are therefore subject to minor
adjustments, major revisions, or even outright removal between now and
the time that the Java SE 7 Platform Specification is finalized. Please
take these facts into account before depending upon IcedTea.
%package src
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Summary: The IcedTea Java runtime environment
Group: Development/Libraries/Java
Requires: %{name} = %{version}-%{release}
%description src
IcedTea is derived from OpenJDK, Sun's open-source implementation of
the Java SE platform. At this time the build from which IcedTea was
constructed corresponds to an early build of JDK 7. When JDK 7 is
complete it will implement the Java SE 7 Platform Specification. Work
on that specification is underway, but far from final. Any APIs in the
JDK 7 implementation, whether new or old, are therefore subject to
minor adjustments, major revisions, or even outright removal between
now and the time that the Java SE 7 Platform Specification is
finalized. Please take these facts into account before depending upon
IcedTea.
%package javadoc
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Summary: The IcedTea Java runtime environment
Group: Development/Libraries/Java
PreReq: %{_sbindir}/update-alternatives
Provides: %(echo %name|sed s/_/./g)-javadoc
Provides: java-javadoc = %{version}-%{release}
Provides: java-%{javaver}-javadoc = %{version}-%{release}
%description javadoc
IcedTea is derived from OpenJDK, Sun's open-source implementation of
the Java SE platform. At this time the build from which IcedTea was
constructed corresponds to an early build of JDK 7. When JDK 7 is
complete it will implement the Java SE 7 Platform Specification. Work
on that specification is underway, but far from final. Any APIs in the
JDK 7 implementation, whether new or old, are therefore subject to
minor adjustments, major revisions, or even outright removal between
now and the time that the Java SE 7 Platform Specification is
finalized. Please take these facts into account before depending upon
IcedTea.
%package plugin
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
Summary: The IcedTea Java runtime environment
Group: Development/Libraries/Java
Requires: %{name} = %{version}-%{release}
PreReq: %{_sbindir}/update-alternatives
Provides: %(echo %name|sed s/_/./g)-plugin
Provides: java-plugin = %{javaver}
Provides: java-%{javaver}-plugin = %{version}
%description plugin
IcedTea is derived from OpenJDK, Sun's open-source implementation of
the Java SE platform. At this time the build from which IcedTea was
constructed corresponds to an early build of JDK 7. When JDK 7 is
complete it will implement the Java SE 7 Platform Specification. Work
on that specification is underway, but far from final. Any APIs in the
JDK 7 implementation, whether new or old, are therefore subject to
minor adjustments, major revisions, or even outright removal between
now and the time that the Java SE 7 Platform Specification is
finalized. Please take these facts into account before depending upon
IcedTea.
%if %do_prep
%prep
%setup -q -n icedtea-%{icedteaver}
%setup -q -n icedtea-%{icedteaver} -T -D -a 2
%patch10 -p1
cp %{P:15} patches/icedtea-ports.patch
%patch16
xargs touch < %SOURCE4 # Needed for zero-asm builds (s390, ppc, ppc64)
aclocal
%endif
%if %do_build
%build
unset JAVA_HOME
%if %{gcjbootstrap}
%define icedteaopt --with-libgcj-jar=%_javadir/libgcj-4.3.jar --with-gcj-home=%_jvmdir/java-1.5.0-gcj
%else
%define icedteaopt --with-icedtea --with-icedtea-home=/etc/alternatives/java_sdk_icedtea
%endif
export LIBFFI_CFLAGS="-I/usr/include"
export LIBFFI_LIBS="-lffi"
./configure %{icedteaopt} --with-openjdk-src-zip=%{SOURCE1} --enable-netx-plugin
#
# configure extracts and links openjdk, now we can patch it:
#
patch_openjdk() {
patch -l $* --input=%PATCH0
patch -l $* --input=%PATCH1
patch -l $* --input=%PATCH3
patch -l $* --input=%PATCH4
patch -l $* --input=%PATCH17
}
%if %{gcjbootstrap}
make stamps/patch-ecj.stamp; pushd openjdk-ecj; patch_openjdk -p1; popd
%endif
make stamps/patch.stamp
patch_openjdk -p0
# hack for binutils/linker issue
sed -i -e "s@-ljpeg@/%{_libdir}/libjpeg.so@" openjdk/jdk/make/sun/jpeg/Makefile
# Bootstrap icedtea fails sometimes claiming having not enough memory, retry once:
make || make
pushd java-access-bridge-%{accessver}
export JAVA_HOME=$(pwd)/../%{buildoutputdir}/j2sdk-image
export PATH=$JAVA_HOME/bin:$PATH
./configure
make
cp -a bridge/accessibility.properties $JAVA_HOME/jre/lib
cp -a gnome-java-bridge.jar $JAVA_HOME/jre/lib/ext
popd
%endif
%if %do_install
%install
%define script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
%define abs2rel %{__perl} -e %{script}
# skip /usr/lib/rpm/brp-check-bytecode-version:
export NO_BRP_CHECK_BYTECODE_VERSION=true
pushd %{buildoutputdir}/j2sdk-image
# Assume that java-rmi.cgi is not used.
# http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4418631
rm -f bin/java-rmi.cgi
# 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}
# 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
for file in local_policy.jar US_export_policy.jar
do
mv -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file \
$RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla
# Touch files for ghosts.
touch $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file
done
# 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
# Remove javaws man page.
rm -f man/man1/javaws.1
# 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)-%{sdkname}.1
done
# Install demos and samples.
cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
popd
# Install Javadoc documentation.
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
mv %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{sdkname}
# Find JRE directories.
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
| grep -v jre/lib/security \
| sed 's|'$RPM_BUILD_ROOT'|%dir |' \
> %{mainfilelist}
# Find JRE files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
| grep -v jre/lib/security \
| grep -v gcjwebplugin.so \
| sed 's|'$RPM_BUILD_ROOT'||' \
>> %{mainfilelist}
# Find demo directories.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample -type d \
| sed 's|'$RPM_BUILD_ROOT'|%dir |' \
> %{demofilelist}
# Find non-documentation demo files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
-type f -o -type l | sort \
| grep -v README \
| sed 's|'$RPM_BUILD_ROOT'||' \
>> %{demofilelist}
# Find documentation demo files.
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/sample \
-type f -o -type l | sort \
| grep README \
| sed 's|'$RPM_BUILD_ROOT'||' \
| sed 's|^|%doc |' \
>> %{demofilelist}
#symlink dupes
%if 0%suse_version > 1020
%fdupes %buildroot
%endif
%endif
%if %do_clean
%clean
rm -rf $RPM_BUILD_ROOT
%endif
%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}/pack200 pack200 %{jrebindir}/pack200 \
--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 %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
--slave %{_mandir}/man1/java.1$ext java.1$ext \
%{_mandir}/man1/java-%{sdkname}.1$ext \
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
%{_mandir}/man1/keytool-%{sdkname}.1$ext \
--slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
%{_mandir}/man1/orbd-%{sdkname}.1$ext \
--slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
%{_mandir}/man1/pack200-%{sdkname}.1$ext \
--slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
%{_mandir}/man1/policytool-%{sdkname}.1$ext \
--slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
%{_mandir}/man1/rmid-%{sdkname}.1$ext \
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
%{_mandir}/man1/rmiregistry-%{sdkname}.1$ext \
--slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
%{_mandir}/man1/servertool-%{sdkname}.1$ext \
--slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
%{_mandir}/man1/tnameserv-%{sdkname}.1$ext \
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
%{_mandir}/man1/unpack200-%{sdkname}.1$ext
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}
update-alternatives \
--install \
%{_jvmdir}/%{jrelnk}/lib/security/local_policy.jar \
%{localpolicy} \
%{_jvmprivdir}/%{archname}/jce/vanilla/local_policy.jar \
%{priority} \
--slave \
%{_jvmdir}/%{jrelnk}/lib/security/US_export_policy.jar \
%{uspolicy} \
%{_jvmprivdir}/%{archname}/jce/vanilla/US_export_policy.jar
%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}
update-alternatives --remove \
%{localpolicy} \
%{_jvmprivdir}/%{archname}/jce/vanilla/local_policy.jar
fi
%pre devel
#
# In the devel packages of the openSUSE 11 Betas, jvmjarlink was a directory
# which is prevents intalling multible versions in parallel and causes certain
# important packages to fail, and in order to allow users and the build itself
# to update from these Beta rpms, we need to remove the old directory as rpm
# does not support migration from directories to links on update itself. We
# need to use paths relative to '/' if eg yast2 runs rpm with -r (w/o chroot).
# The first part of the check is true if we are running in update node:
#
# $1 is the number of packages with same name (including this installation),
# if it it's greater than 1 as needed below, we are updating an other rpm:
#
## Replace old directory by symlink, rpm can't do it, it says un update:
# "cpio: rename failed - Is a directory", so we need to help it:
#
if [ ${1:-0} -gt 1 -a -d .%{jvmjarlink} ]; then
rm -rf .%{jvmjarlink}
# Needed in case patchrpms are created from this package,
# tested by patchrpmcheck at the end of each build in abuild:
ln -sf %{sdkdir} .%{jvmjarlink}
fi
%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}/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-%{sdkname}.1$ext \
--slave %{_mandir}/man1/apt.1$ext apt.1$ext \
%{_mandir}/man1/apt-%{sdkname}.1$ext \
--slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
%{_mandir}/man1/extcheck-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jar.1$ext jar.1$ext \
%{_mandir}/man1/jar-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
%{_mandir}/man1/jarsigner-%{sdkname}.1$ext \
--slave %{_mandir}/man1/javac.1$ext javac.1$ext \
%{_mandir}/man1/javac-%{sdkname}.1$ext \
--slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
%{_mandir}/man1/javadoc-%{sdkname}.1$ext \
--slave %{_mandir}/man1/javah.1$ext javah.1$ext \
%{_mandir}/man1/javah-%{sdkname}.1$ext \
--slave %{_mandir}/man1/javap.1$ext javap.1$ext \
%{_mandir}/man1/javap-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
%{_mandir}/man1/jconsole-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
%{_mandir}/man1/jdb-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
%{_mandir}/man1/jhat-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
%{_mandir}/man1/jinfo-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
%{_mandir}/man1/jmap-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jps.1$ext jps.1$ext \
%{_mandir}/man1/jps-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
%{_mandir}/man1/jrunscript-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
%{_mandir}/man1/jsadebugd-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
%{_mandir}/man1/jstack-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
%{_mandir}/man1/jstat-%{sdkname}.1$ext \
--slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
%{_mandir}/man1/jstatd-%{sdkname}.1$ext \
--slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
%{_mandir}/man1/native2ascii-%{sdkname}.1$ext \
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
%{_mandir}/man1/rmic-%{sdkname}.1$ext \
--slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
%{_mandir}/man1/schemagen-%{sdkname}.1$ext \
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
%{_mandir}/man1/serialver-%{sdkname}.1$ext \
--slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
%{_mandir}/man1/wsgen-%{sdkname}.1$ext \
--slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
%{_mandir}/man1/wsimport-%{sdkname}.1$ext \
--slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
%{_mandir}/man1/xjc-%{sdkname}.1$ext
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}/%{sdkname}/api \
%{priority}
%postun javadoc
if [ $1 -eq 0 ]
then
update-alternatives --remove javadocdir %{_javadocdir}/%{sdkname}/api
fi
%post plugin
update-alternatives \
--install %{_libdir}/browser-plugins/libjavaplugin.so %{javaplugin} \
%{_jvmdir}/%{jrelnk}/lib/%{archinstall}/gcjwebplugin.so %{priority}
%postun plugin
if [ $1 -eq 0 ]
then
update-alternatives --remove %{javaplugin} \
%{_jvmdir}/%{jrelnk}/lib/%{archinstall}/gcjwebplugin.so
fi
%files -f %{mainfilelist}
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README
%doc openjdk/LICENSE openjdk/ASSEMBLY_EXCEPTION openjdk/THIRD_PARTY_README
%doc ./%{buildoutputdir}/j2sdk-image/jre/README.html
%dir %{_jvmdir}/%{sdkdir}
%{_jvmdir}/%{jrelnk}
%{_jvmjardir}/%{jrelnk}
%{_jvmprivdir}/*
%{jvmjardir}
%dir %{_jvmdir}/%{jredir}/lib/security
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/cacerts
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
%ghost %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
%ghost %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
%{_mandir}/man1/java-%{sdkname}.1*
%{_mandir}/man1/keytool-%{sdkname}.1*
%{_mandir}/man1/orbd-%{sdkname}.1*
%{_mandir}/man1/pack200-%{sdkname}.1*
%{_mandir}/man1/policytool-%{sdkname}.1*
%{_mandir}/man1/rmid-%{sdkname}.1*
%{_mandir}/man1/rmiregistry-%{sdkname}.1*
%{_mandir}/man1/servertool-%{sdkname}.1*
%{_mandir}/man1/tnameserv-%{sdkname}.1*
%{_mandir}/man1/unpack200-%{sdkname}.1*
%files devel
%defattr(-,root,root,-)
%doc openjdk/jdk/LICENSE openjdk/jdk/ASSEMBLY_EXCEPTION openjdk/jdk/THIRD_PARTY_README
%doc ./%{buildoutputdir}/j2sdk-image/README.html
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/lib
%{_jvmdir}/%{sdkdir}/bin/*
%{_jvmdir}/%{sdkdir}/include/*
%{_jvmdir}/%{sdkdir}/lib/*
%{_jvmdir}/%{sdklnk}
%{jvmjarlink}
%{_mandir}/man1/appletviewer-%{sdkname}.1*
%{_mandir}/man1/apt-%{sdkname}.1*
%{_mandir}/man1/extcheck-%{sdkname}.1*
%{_mandir}/man1/idlj-%{sdkname}.1*
%{_mandir}/man1/jar-%{sdkname}.1*
%{_mandir}/man1/jarsigner-%{sdkname}.1*
%{_mandir}/man1/javac-%{sdkname}.1*
%{_mandir}/man1/javadoc-%{sdkname}.1*
%{_mandir}/man1/javah-%{sdkname}.1*
%{_mandir}/man1/javap-%{sdkname}.1*
%{_mandir}/man1/jconsole-%{sdkname}.1*
%{_mandir}/man1/jdb-%{sdkname}.1*
%{_mandir}/man1/jhat-%{sdkname}.1*
%{_mandir}/man1/jinfo-%{sdkname}.1*
%{_mandir}/man1/jmap-%{sdkname}.1*
%{_mandir}/man1/jps-%{sdkname}.1*
%{_mandir}/man1/jrunscript-%{sdkname}.1*
%{_mandir}/man1/jsadebugd-%{sdkname}.1*
%{_mandir}/man1/jstack-%{sdkname}.1*
%{_mandir}/man1/jstat-%{sdkname}.1*
%{_mandir}/man1/jstatd-%{sdkname}.1*
%{_mandir}/man1/native2ascii-%{sdkname}.1*
%{_mandir}/man1/rmic-%{sdkname}.1*
%{_mandir}/man1/schemagen-%{sdkname}.1*
%{_mandir}/man1/serialver-%{sdkname}.1*
%{_mandir}/man1/wsgen-%{sdkname}.1*
%{_mandir}/man1/wsimport-%{sdkname}.1*
%{_mandir}/man1/xjc-%{sdkname}.1*
%files demo -f %{demofilelist}
%defattr(-,root,root,-)
%files src
%defattr(-,root,root,-)
%{_jvmdir}/%{sdkdir}/src.zip
#doc mauve_tests
#doc mauve-%{mauvedate}/mauve_output
%files javadoc
%defattr(-,root,root,-)
%doc %{_javadocdir}/%{sdkname}
%files plugin
%defattr(-,root,root,-)
%{_jvmdir}/%{jredir}/lib/%{archinstall}/gcjwebplugin.so
%changelog
* Fri Nov 21 2008 ro@suse.de
- update check-build.sh
* Wed Nov 12 2008 ro@suse.de
- use xulrunner190 instead of xulrunner181
* Thu Oct 30 2008 ro@suse.de
- reduce list of architectures for the moment
(the used one is java-1_6_0-openjdk anyway)
* Fri Sep 26 2008 mvyskocil@suse.cz
- removed an ulimit usage.
* Thu Jul 31 2008 ro@suse.de
- fix build on i386 (patch from gcc bug)
* Sun Jun 08 2008 ro@suse.de
- changed check_build.sh
* Thu May 29 2008 bk@suse.de
- Raise ulimit for x86_64 to and add a second make attempt (handling
races in the unstable icedtea JVM) to increase build yield for rpms
* Mon May 26 2008 bk@suse.de
- Fix typo in the %%{jvmjarlink} update (also needed to fix the build)
- Fix %%pre script for updating from older packages with wrong jvmjardir
- spec file cleanup (group definitions, improve macro usage and %%files)
* Tue May 20 2008 bk@suse.de
- decrease the update_alternatives priority of this package to 7000
because it does not provide the future relesed Java 7 API, so it
should be the last candidate to become the default JDK to be used,
especially the upcoming java-1_6_0-openjdk needs to prevail over it!
- Complete migration of %%{_jvmjardir}/%%{sdklnk} to symlink (#bnc 392494)
- add checks for the amount of virtual memory available for build
* Sun May 18 2008 aj@suse.de
- Silence gcc warning about missing return value.
* Wed May 14 2008 anosek@suse.cz
- added link into jvm-exports directory (bnc#388578)
- added a missing Requires: jpackage-utils
- fixed Icedtea support for signed applets missing (bnc#384684)
- added --enable-netx-plugin parameter to configure
* Wed Mar 12 2008 ro@suse.de
- fix error found by rpmlint: origin used before define in specfile
* Mon Mar 03 2008 ro@suse.de
- update icedtea tarball to current mercurial for ia64 and s390
and s390x support
* Fri Feb 29 2008 ro@suse.de
- fix build (binutils slightly changed behaviour)
* Fri Feb 08 2008 bk@suse.de
- change all uses of "1_7_0" in jvm/jre install paths to "1.7.0"
* Thu Feb 07 2008 adrian@suse.de
- use PreReq to package instead of files, to avoid problems in OBS
and installer tools
* Tue Feb 05 2008 bk@suse.de
- use %%_libdir, fix stringcompare warning and cleanup spec file
* Fri Feb 01 2008 bkl@suse.de
- initial version: IcedTea 1.5 with JDK 7 build 24