Re: IBM java

Richard Allen <[email protected]>
Newsgroups gmane.linux.jpackage.general
Message-ID <[email protected]>
So wheel reinvented, I think.  I managed to rebuild the IBM rpm's. I 
attached the new one.  Seems to work for me, but if you guys see any 
obvious mistake in there, please let me know.

Oh, and I commented out the arch's I'm not using.  Not part of the "fix"



On 09/09/2010 03:04 PM, Richard Allen wrote:
> Hi all.
>
> I'm setting up the jpackage tomcat on RHEL5.5. When attempting to
> rebuild the nosrc JDK rpm's I run into a snag:
>
> ibm-java-sdk-6.0-8.1-linux-i386.tgz
>
> This is the version of Java that is newest (Yes, I must use this version
> due to internal demands). but the spec wants ibm-java2-1.5 something.
>
> So I was wondering if there was an updated spec file for the ibm nosrc
> package anywhere out there.
>
> IBM does now ship a .rpm but it does not provide a "sdk" dependancy for
> rpm.
>
> ibm-java-i386-sdk-6.0-8.1.i386.rpm
>
> Just thought I'd ask before I reinvent the wheel.
>
> Thanks in advance
> Richard.
> _______________________________________________
> JPackage-discuss mailing list
> [email protected]
> https://www.zarb.org/mailman/listinfo/jpackage-discuss

_______________________________________________
JPackage-discuss mailing list
[email protected]
https://www.zarb.org/mailman/listinfo/jpackage-discuss
java-1.6.0-ibm.spec (text/x-rpm-spec, 23.9 KB)
# Copyright (c) 2000-2007, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%define section		non-free

# hard-code libdir on 64-bit architectures, so that alternatives
# continue to work.
%ifarch ppc64 s390x x86_64
%define _libdir		%{_prefix}/lib
%endif

%define	origin		ibm
%define priority	1502
%define	javaver		6.0
%define cvs_version	60
%define buildver	8.1

%ifarch i386
%define archive_number	4
%define javacomm_archive_number	0
%endif
%ifarch ppc64
%define archive_number	5
%define javacomm_archive_number	1
%endif
%ifarch ppc
%define archive_number	6
%define javacomm_archive_number	2
%endif
%ifarch s390
%define archive_number	7
%endif
%ifarch s390x
%define archive_number	8
%endif
%ifarch x86_64
%define archive_number	9
%define javacomm_archive_number	3
%endif
%define toplevel_dir	ibm-java-%{_arch}-%{cvs_version}

# make 64-bit JVMs just another alternative on 64-bit architectures.
%ifarch ppc64 s390x x86_64
%define sdklnk          java-%{javaver}-%{origin}.%{_arch}
%define jrelnk          jre-%{javaver}-%{origin}.%{_arch}
%define sdkdir          %{name}-%{version}.%{_arch}
%else
%define sdklnk		java-%{javaver}-%{origin}
%define jrelnk		jre-%{javaver}-%{origin}
%define sdkdir		%{name}-%{version}
%endif
%define jredir		%{sdkdir}/jre
%define sdkbindir	%{_jvmdir}/%{sdklnk}/bin
%define jrebindir	%{_jvmdir}/%{jrelnk}/bin
%ifarch ppc64 s390x x86_64
%define jvmjardir	%{_jvmjardir}/%{name}-%{version}.%{_arch}
%else
%define jvmjardir	%{_jvmjardir}/%{name}-%{version}
%endif

%define javaws_ver	%{javaver}
%define javaws_version	%{cvsversion}

%define pluginname      libjavaplugin_ojigtk2.so
%define plugindir	%{_libdir}/mozilla/plugins

%define cgibindir	%{_var}/www/cgi-bin

# Avoid RPM 4.2+'s internal dep generator, it may produce bogus
# Provides/Requires here.
%define _use_internal_dependency_generator 0

# This prevents aggressive stripping.
%define debug_package %{nil}

Name:		java-%{javaver}-%{origin}
Version:	%{javaver}.%{buildver}
Release:	2jpp
Epoch:		1
Summary:	IBM Java Runtime Environment
License:	IBM Binary Code License
Group:		Development/Interpreters
URL:		http://www-128.ibm.com/developerworks/java
Source0:	ibm-java-javacomm-%{javaver}-%{buildver}-linux-i386.tgz
#Source1:	ibm-java-javacomm-%{javaver}-%{buildver}-linux-ppc64.tgz
#Source2:	ibm-java-javacomm-%{javaver}-%{buildver}-linux-ppc.tgz
#Source3:	ibm-java-javacomm-%{javaver}-%{buildver}-linux-x86_64.tgz
Source4:	ibm-java-sdk-%{javaver}-%{buildver}-linux-i386.tgz
#Source5:	ibm-java-sdk-%{javaver}-%{buildver}-linux-ppc64.tgz
#Source6:	ibm-java-sdk-%{javaver}-%{buildver}-linux-ppc.tgz
#Source7:	ibm-java-sdk-%{javaver}-%{buildver}-linux-s390.tgz
#Source8:	ibm-java-sdk-%{javaver}-%{buildver}-linux-s390x.tgz
#Source9:	ibm-java-sdk-%{javaver}-%{buildver}-linux-x86_64.tgz
NoSource:	0
#NoSource:	1
#NoSource:	2
#NoSource:	3
NoSource:	4
#NoSource:	5
#NoSource:	6
#NoSource:	7
#NoSource:	8
#NoSource:	9
Provides:	jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
Provides:	jre-%{origin} = %{epoch}:%{version}-%{release}
Provides:	jre-%{javaver}, java-%{javaver}, jre = %{epoch}:%{javaver} 
Provides:	java-%{origin} = %{epoch}:%{version}-%{release}
Provides:	java = %{epoch}:%{javaver}
Requires:	/usr/sbin/update-alternatives
Requires:	jpackage-utils >= 0:1.5.38
# IBM has no plans for an ia64 Java 5 port
ExcludeArch:	ia64
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires:	jpackage-utils >= 0:1.5.38
BuildRequires:	sed
BuildRequires:	%{_bindir}/perl
%ifarch i386 ppc ppc64
Provides:	javaws = %{javaws_ver}
%endif
Provides:	jndi = %{epoch}:%{version}, jndi-ldap = %{epoch}:%{version}
Provides:	jndi-cos = %{epoch}:%{version}, jndi-rmi = %{epoch}:%{version}
Provides:	jndi-dns = %{epoch}:%{version}
Provides:	jaas = %{epoch}:%{version}
Provides:	jsse = %{epoch}:%{version}
Provides:	jce = %{epoch}:%{version}
Provides:	jdbc-stdext = %{epoch}:3.0, jdbc-stdext = %{epoch}:%{version}
Provides:	java-sasl = %{epoch}:%{version}
%ifarch i386
Obsoletes:	java-1.5.0-ibm-alsa < 1:1.5.0.5.0-2jpp
%endif
%ifarch i386 ppc ppc64
Obsoletes:	javaws-menu
%endif

%description
This package contains the IBM Java Runtime Environment.

%package devel
Summary:	IBM Java Development Kit
Group:		Development/Compilers
Requires:	/usr/sbin/update-alternatives
Provides:	java-sdk-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
Provides:	java-sdk-%{origin} = %{epoch}:%{version}-%{release}
Provides:	java-sdk-%{javaver}, java-sdk = %{epoch}:%{javaver}
Provides:	java-devel-%{origin} = %{epoch}:%{version}-%{release}
Provides:	java-%{javaver}-devel, java-devel = %{epoch}:%{javaver}
Requires:	%{name} = %{epoch}:%{version}-%{release}

%description devel
The IBM Java Development Kit contains the software and tools that
developers need to compile, debug, and run applets and applications
written using the Java programming language.

%package src
Summary:	IBM Java source files
Group:		Development/Interpreters
Requires:	%{name} = %{epoch}:%{version}-%{release}

%description src
This package contains source files for the IBM Java Development Kit.

%package demo
Summary:	IBM Java demonstration files
Group:		Development/Interpreters
Requires:	%{name} = %{epoch}:%{version}-%{release}
# Without this a requirement on libjava_crw_demo_g.so is added which
# is not in the main java package. libjava_crw_demo.so is but not "_g".
AutoReq:	0

%description demo
This package contains demonstrations files for the IBM Java
Development Kit.

%ifarch i386 ppc
%package plugin
Summary:	IBM Java browser plugin
Group:		Internet/WWW/Browsers
Requires:	%{name} = %{epoch}:%{version}-%{release}
Requires:	%{_bindir}/find, sed
Requires:	%{plugindir}
Requires:	compat-libstdc++-33
Provides:	java-plugin = %{epoch}:%{javaver}, java-%{javaver}-plugin = %{epoch}:%{version}

%description plugin
This package contains browser plugin files for the IBM Java Runtime
Environment.  Note: this package supports browsers built with GCC 3.2
and later.
%endif

%ifarch i386 ppc s390
%package jdbc
Summary:	IBM Java JDBC/ODBC bridge driver
Group:		Development/Libraries/Java
Requires:	%{name} = %{epoch}:%{version}-%{release}
AutoReq:	0
Requires:	libodbc.so
Requires:	libodbcinst.so

%description jdbc
This package contains JDBC files for the IBM Java Runtime Environment.
%endif

%ifarch i386 ppc64 ppc x86_64
%package javacomm
Summary:	JAVACOMM files for the IBM Java Runtime Environment
Group:		Development/Languages
Requires:	%{name} = %{epoch}:%{version}-%{release}

%description javacomm
This package contains the IBM Java Communications API for Linux, Java5
Technology Edition v1.5.0
%endif

%prep
rm -rf $RPM_BUILD_ROOT

%ifarch i386 ppc64 ppc x86_64
%setup -q -T -b %{archive_number} -b %{javacomm_archive_number} -n %{toplevel_dir}
%else
%setup -q -T -b %{archive_number} -n %{toplevel_dir}
%endif

chmod -R go=u-w *
chmod -R u+w *
find docs -type f | xargs chmod 644
pushd bin
  ln -sf ../jre/bin/pack200 .
  ln -sf ../jre/bin/unpack200 .
popd

%build
# Nope.

%install
rm -rf $RPM_BUILD_ROOT

%ifarch i386 ppc ppc64
# fix up ControlPanel APPHOME and bin locations
perl -p -i -e 's|APPHOME=.*|APPHOME=%{_jvmdir}/%{jredir}|' jre/bin/ControlPanel
perl -p -i -e 's|/usr/bin/||g' jre/bin/ControlPanel
%endif

%ifarch i386 ppc
# fix up (create new) HtmlConverter
cat > bin/HtmlConverter << EOF
%{jrebindir}/java -jar %{sdklibdir}/htmlconverter.jar $*
EOF
%endif

# fix up java-rmi.cgi PATH
perl -p -i -e 's|PATH=.*|PATH=%{jrebindir}|' bin/java-rmi.cgi

# install java-rmi-cgi
install -D -m 755 bin/java-rmi.cgi $RPM_BUILD_ROOT%{cgibindir}/java-rmi-%{version}.cgi

# main files
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
cp -a bin include lib $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
(cd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} && ln -s src.zip)
(cd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib && ln -s core.jar rt.jar)
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}

# extensions handling
install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir}
pushd $RPM_BUILD_ROOT%{jvmjardir}
   ln -s %{_jvmdir}/%{jredir}/lib/security.jar jsse-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/security.jar jce-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/server.jar jndi-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/server.jar jndi-ldap-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/server.jar jndi-cos-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/server.jar jndi-rmi-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/security.jar jaas-%{version}.jar
   ln -s %{_jvmdir}/%{jredir}/lib/server.jar jdbc-stdext-%{version}.jar
   ln -s jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
   ln -s %{_jvmdir}/%{jredir}/lib/security.jar sasl-%{version}.jar
   for jar in *-%{version}.jar ; do
      if [ x%{version} != x%{javaver} ]; then
         ln -fs ${jar} $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
      fi
      ln -fs ${jar} $(echo $jar | sed "s|-%{version}.jar|.jar|g")
   done
popd

# rest of the jre
cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
# systemPrefs
PREFS_LOCATION=$RPM_BUILD_ROOT%{_jvmdir}/%{jredir}
install -dm 755 $PREFS_LOCATION/.systemPrefs
for file in .system.lock .systemRootModFile ; do
  touch $PREFS_LOCATION/.systemPrefs/$file
  chmod 644 $PREFS_LOCATION/.systemPrefs/$file
done

# javaws is only available on i386, ppc and ppc64
%ifarch i386 ppc ppc64
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/javaws
cp -a jre/javaws/* $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/javaws
rm -f %{buildroot}/.mailcap %{buildroot}/.mime.types
%endif

install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/endorsed

# jce policy file handling
%ifarch ppc64 s390x x86_64
install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{name}.%{_arch}/jce/vanilla
for file in local_policy.jar US_export_policy.jar; do
  mv $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file \
    $RPM_BUILD_ROOT%{_jvmprivdir}/%{name}.%{_arch}/jce/vanilla
  # for ghosts
  touch $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file
done
%else
install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{name}/jce/vanilla
for file in local_policy.jar US_export_policy.jar; do
  mv $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file \
    $RPM_BUILD_ROOT%{_jvmprivdir}/%{name}/jce/vanilla
  # for ghosts
  touch $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file
done
%endif

# version-less symlinks
pushd $RPM_BUILD_ROOT%{_jvmdir}
ln -s %{jredir} %{jrelnk}
ln -s %{sdkdir} %{sdklnk}
popd

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

%ifarch i386 ppc ppc64
# install .desktop files
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/applications
install -Dpm 644 demo/jfc/Metalworks/src/resources/HelpFiles/javalogo.gif \
  $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}-javalogo.png
cat >> $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-javaws.desktop << EOF
[Desktop Entry]
Name=IBM Java Web Start
Comment=Install or uninstall Java Web Start applications
Exec=%{jrebindir}/javaws
Icon=%{name}-javalogo.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Application;System;Monitor;X-Red-Hat-Base;
EOF
%endif
%ifarch i386 ppc
cat >> $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-ControlPanel.desktop << EOF
[Desktop Entry]
Name=IBM Java Plugin Control Panel
Comment=Configure IBM Java web browser plugin
Exec=%{jrebindir}/ControlPanel
Icon=%{name}-javalogo.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Application;System;Monitor;X-Red-Hat-Base;
EOF
%endif

# demo
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -a demo $RPM_BUILD_ROOT%{_datadir}/%{name}

# Most of this shamelessly stolen from redhat's kdebase-2.2.2 specfile
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
    | sed 's|'$RPM_BUILD_ROOT'|%dir |' > %{name}-%{version}-all.files
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
    | sed 's|'$RPM_BUILD_ROOT'||'      >> %{name}-%{version}-all.files

%ifarch i386 ppc
cat %{name}-%{version}-all.files | egrep "plugin|ControlPanel" \
                                     | sort > %{name}-%{version}-plugin.files
%endif
%ifarch i386 ppc s390
cat %{name}-%{version}-all.files | grep Jdbc \
                                     | sort > %{name}-%{version}-jdbc.files
%endif

%ifarch i386 ppc64 ppc x86_64
cat %{name}-%{version}-all.files | grep comm \
                                     | sort > %{name}-%{version}-javacomm.files
%endif
# ppc64 has ControlPanel even though it doesn't have a plugin
cat %{name}-%{version}-all.files | grep -v plugin \
%ifnarch ppc64
                                 | grep -v ControlPanel \
%endif
                                 | grep -v Jdbc \
                                 | grep -v "jre/lib/security" \
                                 > %{name}-%{version}-temp.files
cat %{name}-%{version}-all.files | grep "jre/lib/security.jar" \
                                 >> %{name}-%{version}-temp.files
cat %{name}-%{version}-temp.files | sort > %{name}-%{version}.files
rm %{name}-%{version}-temp.files

%clean
rm -rf $RPM_BUILD_ROOT

%post

# ppc64 doesn't have a plugin so make ControlPanel and javaws slaves
# of the java command on ppc64
update-alternatives --install %{_bindir}/java java %{jrebindir}/java %{priority} \
%ifarch ppc64
--slave %{_bindir}/ControlPanel            ControlPanel                %{jrebindir}/ControlPanel \
--slave %{_datadir}/javaws                 javaws                      %{_jvmdir}/%{jrelnk}/javaws \
%endif
--slave %{_jvmdir}/jre                     jre                         %{_jvmdir}/%{jrelnk} \
--slave %{_jvmjardir}/jre                  jre_exports                 %{_jvmjardir}/%{jrelnk} \
--slave %{_bindir}/keytool                 keytool                     %{jrebindir}/keytool \
--slave %{_bindir}/policytool              policytool                  %{jrebindir}/policytool \
--slave %{_bindir}/rmid                    rmid                        %{jrebindir}/rmid \
--slave %{_bindir}/rmiregistry             rmiregistry                 %{jrebindir}/rmiregistry \
--slave %{_bindir}/tnameserv               tnameserv                   %{jrebindir}/tnameserv

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}

if [ -d %{_jvmdir}/%{jrelnk}/lib/security ]; then
  # Need to remove the old jars in order to support upgrading, ugly :(
  # update-alternatives fails silently if the link targets exist as files.
  rm -f %{_jvmdir}/%{jrelnk}/lib/security/{local,US_export}_policy.jar
fi
%ifarch ppc64 s390x x86_64
update-alternatives \
  --install \
    %{_jvmdir}/%{jrelnk}/lib/security/local_policy.jar \
    jce_%{javaver}_%{origin}_local_policy.%{_arch} \
    %{_jvmprivdir}/%{name}.%{_arch}/jce/vanilla/local_policy.jar \
    %{priority} \
  --slave \
    %{_jvmdir}/%{jrelnk}/lib/security/US_export_policy.jar \
    jce_%{javaver}_%{origin}_us_export_policy.%{_arch} \
    %{_jvmprivdir}/%{name}.%{_arch}/jce/vanilla/US_export_policy.jar
%else
update-alternatives \
  --install \
    %{_jvmdir}/%{jrelnk}/lib/security/local_policy.jar \
    jce_%{javaver}_%{origin}_local_policy \
    %{_jvmprivdir}/%{name}/jce/vanilla/local_policy.jar \
    %{priority} \
  --slave \
    %{_jvmdir}/%{jrelnk}/lib/security/US_export_policy.jar \
    jce_%{javaver}_%{origin}_us_export_policy \
    %{_jvmprivdir}/%{name}/jce/vanilla/US_export_policy.jar
%endif

%ifarch i386 ppc ppc64
if [ -f %{_sysconfdir}/mime.types ]; then
  perl -p -i -e "s#.*application/x-java-jnlp-file.*##" %{_sysconfdir}/mailcap 2>/dev/null
  echo "application/x-java-jnlp-file; %{_datadir}/javaws %s" >> %{_sysconfdir}/mailcap 2>/dev/null

  perl -p -i -e "s#application/x-java-jnlp-file.*##" %{_sysconfdir}/mime.types 2>/dev/null
  echo "application/x-java-jnlp-file	jnlp" >> %{_sysconfdir}/mime.types 2>/dev/null
fi
%endif

%post devel

update-alternatives --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
--slave %{_jvmdir}/java                     java_sdk                    %{_jvmdir}/%{sdklnk} \
--slave %{_jvmjardir}/java                  java_sdk_exports            %{_jvmjardir}/%{sdklnk} \
--slave %{_bindir}/appletviewer             appletviewer                %{sdkbindir}/appletviewer \
--slave %{_bindir}/extcheck                 extcheck                    %{sdkbindir}/extcheck \
--slave %{_bindir}/idlj                     idlj                        %{sdkbindir}/idlj \
--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}/jdb                      jdb                         %{sdkbindir}/jdb \
--slave %{_bindir}/native2ascii             native2ascii                %{sdkbindir}/native2ascii \
--slave %{_bindir}/rmic                     rmic                        %{sdkbindir}/rmic \
--slave %{_bindir}/serialver                serialver                   %{sdkbindir}/serialver \
--slave %{_bindir}/jconsole                 jconsole                    %{sdkbindir}/jconsole \
--slave %{_bindir}/pack200                  pack200                     %{sdkbindir}/pack200 \
--slave %{_bindir}/unpack200                unpack200                   %{sdkbindir}/unpack200 \
%ifarch i386 ppc
--slave %{_bindir}/HtmlConverter            HtmlConverter               %{sdkbindir}/HtmlConverter \
--slave %{_datadir}/javaws                  javaws                      %{_jvmdir}/%{jrelnk}/javaws \
%endif
--slave %{_bindir}/apt                      apt                         %{sdkbindir}/apt


update-alternatives --install %{_jvmdir}/java-%{origin} java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
--slave %{_jvmjardir}/java-%{origin}        java_sdk_%{origin}_exports  %{_jvmjardir}/%{sdklnk}

update-alternatives --install %{_jvmdir}/java-%{javaver} java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
--slave %{_jvmjardir}/java-%{javaver}       java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}

%ifarch i386 ppc
%post plugin
update-alternatives --install %{plugindir}/libjavaplugin.so libjavaplugin.so %{jrebindir}/%{pluginname} %{priority} \
--slave %{_bindir}/ControlPanel            ControlPanel                %{jrebindir}/ControlPanel
%endif

%postun
if [ $1 -eq 0 ]; then
	update-alternatives --remove java %{jrebindir}/java
%ifarch ppc64 s390x x86_64
        update-alternatives --remove \
          jce_%{javaver}_%{origin}_local_policy.%{_arch} \
          %{_jvmprivdir}/%{name}.%{_arch}/jce/vanilla/local_policy.jar
%else
        update-alternatives --remove \
          jce_%{javaver}_%{origin}_local_policy \
          %{_jvmprivdir}/%{name}/jce/vanilla/local_policy.jar
%endif
        update-alternatives --remove jre_%{origin}  %{_jvmdir}/%{jrelnk}
        update-alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
fi

%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

%ifarch i386 ppc
%postun plugin
if [ "$1" = "0" ]; then
	update-alternatives --remove libjavaplugin.so %{jrebindir}/%{pluginname}
fi
%endif

%files -f %{name}-%{version}.files
%defattr(-,root,root)
#%doc COPYRIGHT
%dir %{_jvmdir}/%{sdkdir}
%{jvmjardir}
# iot build with rpm-4.2
%dir %{_jvmdir}/%{jredir}/lib/security
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/cacerts
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklist
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/trusted.libraries
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
%ifarch i386 ppc ppc64
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/javaws.policy
%endif
%ghost %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
%ghost %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
%{_jvmdir}/%{jrelnk}
%{_jvmjardir}/%{jrelnk}
%{_jvmprivdir}/*
%ifarch ppc64
%{_datadir}/applications/%{name}-javaws.desktop
%{_datadir}/pixmaps/%{name}-javalogo.png
%endif

%files devel
%defattr(-,root,root)
%doc docs/*
%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/lib
%{_jvmdir}/%{sdkdir}/bin/*
%{_jvmdir}/%{sdkdir}/include/*
%{_jvmdir}/%{sdkdir}/lib/*
%{_jvmdir}/%{sdklnk}
%{_jvmjardir}/%{sdklnk}
%{cgibindir}/java-rmi-%{version}.cgi

%files src
%defattr(-,root,root)
%dir %{_jvmdir}/%{sdkdir}
%{_jvmdir}/%{sdkdir}/src.zip

%files demo
%defattr(-,root,root)
%{_datadir}/%{name}

%ifarch i386 ppc s390
%files jdbc -f %{name}-%{version}-jdbc.files
%defattr(-,root,root)
%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{sdkdir}/jre
%dir %{_jvmdir}/%{sdkdir}/jre/bin
%endif

%ifarch i386 ppc
%files plugin -f %{name}-%{version}-plugin.files
%defattr(-,root,root)
%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{sdkdir}/jre
%dir %{_jvmdir}/%{sdkdir}/jre/bin
%dir %{_jvmdir}/%{sdkdir}/jre/lib
%{_datadir}/applications/%{name}-ControlPanel.desktop
%{_datadir}/applications/%{name}-javaws.desktop
%{_datadir}/pixmaps/%{name}-javalogo.png
%endif

%ifarch i386 ppc64 ppc x86_64
%files javacomm -f %{name}-%{version}-javacomm.files
%defattr(-,root,root)
%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{sdkdir}/jre
%dir %{_jvmdir}/%{sdkdir}/jre/bin
%dir %{_jvmdir}/%{sdkdir}/jre/lib
%dir %{_jvmdir}/%{sdkdir}/jre/lib/ext
%endif

%changelog
* Wed Jun 13 2007 Jason Corley <[email protected]> - 1:1.5.0.5.0-2jpp
- merge in RHEL changes (Thomas Fitzsimmons)
- remove -alsa subpackage since libjsound.so requires libjsoundalsa.so
- remove some old conflicts that aren't relevant to JPP 1.7 and beyond

* Mon Jun 11 2007 Jason Corley <[email protected]> - 1:1.5.0.5-1jpp
- Update to SR5
- remove duplicate name, version, and release macros
- fix some rpmlint warnings
- add copyright

* Tue Aug 15 2006 Thomas Fitzsimmons <[email protected]> - 1:1.5.0.2.3-3jpp
- Merge improvements from RHEL-5 java-1.5.0-ibm.spec.

* Thu Feb 02 2006 Ralph Apel <[email protected]> 0:1.5.0.2.3-2jpp
- Avoid separate %%{jvmjardir}/*.jar iot build with rpm-4.2 (eg RHEL3)
- Reintroduce ppc archs
- Merge in some details from 1.5.0-sun package
- Only ix86 tested!

* Sun Jan 01 2006 David Walluck <david-/[email protected]> 0:1.5.0.2.3-1jpp
- 1.5.0.01
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.