# --- note from viy@altlinux: --- # as an effort to build compatible portable java environment, # the JPackage Project was chosen as a new base of ALT java subsystem. # JPackage specs have the following disclaimer: # ==================================================== # 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 major 1.4 %define minor 2 %define origin blackdown %define priority 1421 %define javaver %major.%minor %define buildver 03 %define jppname java-%{javaver}-%{origin} %define javaws_ver %{javaver} %define toplevel_dir j2sdk%{javaver} %define distversion 1.4.2-%{buildver} %define altname j2se%major-%origin %define label -%{jppname} %define sdklnk java-%{javaver}-%{origin} %define jrelnk jre-%{javaver}-%{origin} %define sdkdir %{jppname}-%{version} %define jredir %{sdkdir}/jre %define sdkbindir %{_jvmdir}/%{sdklnk}/bin %define sdklibdir %{_jvmdir}/%{sdklnk}/lib %define jrebindir %{_jvmdir}/%{jrelnk}/bin %define jvmjardir %{_jvmjardir}/%{jppname}-%{version} %define cgibindir %{_var}/www/cgi-bin # --- jpackage compatibility stuff ends here --- %def_disable fonts %ifarch x86_64 %def_enable javaws %def_enable moz_plugin %else %def_enable javaws %def_enable moz_plugin %endif %ifarch x86_64 %define libarch amd64 %else %define libarch i386 %endif #%define fontdir %_datadir/fonts/ttf/j2se-%origin %define fontdir %_datadir/fonts/ttf/j2se-sun %define mozplugindir %{_jvmdir}/%{jredir}/plugin/%libarch/mozilla # --- jpackage compatibility stuff starts here --- #if jpackage-utils stuff (to remove ufter upgrade) %define _jvmdir %{_prefix}/lib/jvm %define _jvmjardir %{_prefix}/lib/jvm-exports %define _jvmprivdir %{_prefix}/lib/jvm-private %define _javadir %{_datadir}/java %define _jnidir %{_prefix}/lib/java #else #Requires: jpackage-utils >= 0:1.5.38 #BuildRequires: jpackage-utils >= 0:1.5.38 Conflicts: kaffe #endif #----- Name: %jppname Version: %{javaver}.%{buildver} Release: alt6 Epoch: 0 Summary: Java 2 Runtime Environment, Standard Edition License: Sun Binary Code License Group: System/Base URL: http://www.blackdown.org/java-linux.html # --- jpackage compatibility stuff starts here --- 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} 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} # --- jpackage compatibility stuff ends here --- Provides: j2se = %javaver Provides: jre = %javaver, java2 = %javaver Obsoletes: %altname #Requires: fonts-ttf-j2se-%origin >= %version-%release Requires: fonts-ttf-j2se-sun >= %version Requires: java-common Requires: /proc Requires(post,preun): alternatives >= 0.2.0 Source0: j2sdk-%distversion-linux-i586.bin Source1: j2sdk-%distversion-linux-amd64.bin ExclusiveArch: i586 x86_64 %ifarch x86_64 %define jdksource %SOURCE1 %else %define jdksource %SOURCE0 %endif # jpackage use perl -p -i -e, we use subst # BuildPreReq: perl BuildPreReq: browser-plugins-npapi-devel BuildRequires: libalsa BuildRequires: libunixODBC #BuildRequires: xorg-x11-devel BuildRequires: libX11 libXext libXi libXp libXt libXtst libSM libICE %set_compress_method none %set_verify_elf_method none ############## altlinux 3.0 compatibility stuff ############## #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch %ifnarch x86_64 #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/client %endif # it is needed for those apps which links with libjvm.so %add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/server #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/native_threads #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/headless #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/motif21 #add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/xawt ##Provides: libmawt.so ##Provides: libmawt.so(SUNWprivate_1.1) ##Provides: libmlib_image.so(VER_1.1) ################################################################# %description This package contains the Java Runtime Environment for %{name}. Install this package if you need to run Java applications. The Java Runtime Environment contains the Java virtual machine, runtime class libraries, and Java application launcher that are necessary to run programs written in the Java programming language. It is not a development environment and does not contain development tools such as compilers or debuggers. For development tools, see the Java SDK, Standard Edition. %package devel Summary: Java 2 SDK, Standard Edition Group: Development/Java Provides: j2se-devel = %javaver Provides: /usr/bin/javac Provides: jdk = %javaver, j2sdk = %javaver Requires: %name = %version-%release Requires(post,preun): alternatives >= 0.2.0 Obsoletes: %altname-devel # --- jpackage compatibility stuff starts here --- 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} # --- jpackage compatibility stuff ends here --- %description devel The Java(tm) Development Kit (JDK(tm)) contains the software and tools that developers need to compile, debug, and run applets and applications written using the Java programming language. Install this package if you need to develop and build Java applications. %package source Summary: Source files for the Java 2 SDK Group: Development/Java Obsoletes: %altname-source %description source Java programming language source files for all classes that make up the Java 2 core API. %package demo Summary: Demo applets and programs for the Java 2 SDK Group: Development/Java AutoReqProv: no Obsoletes: %altname-demo %description demo This package contains demonstration files for %{name}. These include examples, with source code, of programming for the Java platform that use Swing and other Java Foundation Classes, and the Java Platform Debugger Architecture. %if_enabled moz_plugin %package -n mozilla-plugin-%altname Summary: Java Plug-In for Mozilla family browsers Group: Networking/WWW Provides: java2-plugin-mozilla = %javaver Provides: %altname-plugin-mozilla Obsoletes: %altname-plugin-mozilla Requires: %name = %version-%release Requires: browser-plugins-npapi Requires(post,preun): alternatives >= 0.2.0 # --- jpackage compatibility stuff starts here --- Provides: java-plugin = %{epoch}:%{javaver}, java-%{javaver}-plugin = %{epoch}:%{version} Conflicts: java-%{javaver}-ibm-plugin, java-%{javaver}-blackdown-plugin Conflicts: java-%{javaver}-bea-plugin Obsoletes: java-1.3.1-plugin, java-1.4.0-plugin, java-1.4.1-plugin # --- jpackage compatibility stuff ends here --- %description -n mozilla-plugin-%altname This package contains Java(TM) 2 Plug-In for Mozilla family web browsers. %endif # enabled moz_plugin %package alsa Summary: ALSA support for %{name} Group: Development/Java Requires: %{name} = %{version}-%{release} Obsoletes: %altname-alsa %description alsa This package contains Advanced Linux Sound Architecture (ALSA) support libraries for %{name}. %package jdbc Summary: Native library for JDBC support in Java Group: Development/Databases Provides: j2se-jdbc = %javaver Requires: %name = %version-%release Obsoletes: %altname-jdbc %description jdbc This package contains the JDBC/ODBC bridge driver for %{name}. %if_enabled javaws %package javaws Summary: Java Web Start Group: Networking/Other Requires: %name = %version-%release Requires(post,preun): alternatives >= 0.2.0 # --- jpackage compatibility stuff starts here --- Provides: javaws = %{epoch}:%{javaws_ver} Obsoletes: javaws-menu # --- jpackage compatibility stuff ends here --- Obsoletes: %altname-javaws %description javaws Java Web Start is a deployment solution for Java-technology-based applications. It is the plumbing between the computer and the Internet that allows the user to launch and manage applications right off the Web. Java Web Start provides easy, one-click activation of applications, and guarantees that you are always running the latest version of the application, eliminating complicated installation or upgrade procedures. This package provides the Java Web Start installation that is bundled with %{name} J2SE Runtime Environment. %endif # enabled javaws %if_enabled fonts %package -n fonts-ttf-%jppname Summary: TrueType fonts for Java 2 Standard Edition Group: System/Fonts/True type BuildRequires: mkfontscale Requires: fontconfig Provides: java_%origin-fonts = %version-%release Obsoletes: j2se-%origin-fonts Obsoletes: %altname-fonts # --- jpackage compatibility stuff starts here --- Provides: java-fonts = %{epoch}:%{javaver}, java-%{javaver}-fonts Conflicts: java-%{javaver}-ibm-fonts, java-%{javaver}-blackdown-fonts Conflicts: java-%{javaver}-bea-fonts Obsoletes: java-1.3.1-fonts, java-1.4.0-fonts, java-1.4.1-fonts # --- jpackage compatibility stuff ends here --- %description -n fonts-ttf-%jppname This package contains the TrueType fonts for %{origin} JVMs. %endif # enabled fonts %prep MORE=10000 sh %jdksource <<EOF yes EOF %setup -T -D -n %{toplevel_dir} # fix perms chmod -R u+w * echo java >j2se-buildreq-substitute echo java-devel >j2se-devel-buildreq-substitute cat >README.alt <<EOF The Java 2 Runtime Environment and SDK, Standard Edition are distributed within this and related packages as shown below: %name - Java 2 Runtime Environment, Standard Edition (with notable omissions listed below). %name-devel - Java 2 SDK, Standard Edition. %name-source - Java 2 Standard Edition API source files. %name-demo - Java 2 SDK demo applets and programs. %name-jdbc - JDBC provider library using ODBC. This library was excluded from the %name package due to outstanding dependencies. %name-javaws - Java Web Start software that is bundled with Java 2 Runtime Environment, Standard Edition mozilla-plugin-%altname - Java 2 plug-in for Mozilla family browsers fonts-ttf-%jppname - The TrueType fonts in %fontdir shared between various installations of the Java 2 Runtime Environment. See the README, LICENSE, COPYRIGHT, and THIRDPARTYLICENSEREADME.txt files for copyright information, terms of use and redistribution covering contents of these packages. The packages should fullfill (most of) the requirements of JPackage policy (www.jpackage.org). There are some historical minor differences which should not break the compatibility. EOF # # # TODO: # # # # # # # # # # # # # # # current difference with jpackage # man pages: # pack200/unpack200 moved from devel -- good: that's a bug in jpackage # devel: (no /var/www/cgi-bin...), # demo: # are in lib, should be in share/shortlink # fonts: # alt specific font links # TODO(?): spring off the x11-related libraries %if_enabled fonts mkdir fontdoc cat > fontdoc/README.alt <<EOF The fonts contained in this package are part of the Java 2 Runtime Environment, Standard Edition (J2SE). This package is required by packages containing various versions of J2SE. See the LICENSE, COPYRIGHT, and THIRDPARTYLICENSEREADME.txt files for copyright information, terms of use and redistribution covering contents of this package. EOF %endif # enabled fonts %install # .systemPrefs removed as they are not packaged in jpackage #cp -a jre/.systemPrefs %buildroot%{_jvmdir}/%{jredir} # ------------------------------------------ ### jpackage ### %if_enabled moz_plugin # fix up ControlPanel APPHOME and bin locations %__subst 's|APPHOME=.*|APPHOME=%{_jvmdir}/%{jredir}|' jre/bin/ControlPanel %__subst 's|/usr/bin/||g' jre/bin/ControlPanel # fix up (create new) HtmlConverter cat > bin/HtmlConverter << EOF %{jrebindir}/java -jar %{sdklibdir}/htmlconverter.jar $* EOF %ifnarch x86_64 # fix up java-rmi.cgi PATH %__subst '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 %endif %endif # 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} # extensions handling install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir} pushd $RPM_BUILD_ROOT%{jvmjardir} ln -s %{_jvmdir}/%{jredir}/lib/jsse.jar jsse-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/jce.jar jce-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jndi-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jndi-ldap-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jndi-cos-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jndi-rmi-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jaas-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.jar jdbc-stdext-%{version}.jar ln -s jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar ln -s %{_jvmdir}/%{jredir}/lib/rt.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} %if_enabled javaws cp -a jre/javaws $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} %endif install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/endorsed # jce policy file handling install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{jppname}/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}/%{jppname}/jce/vanilla # for ghosts touch $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/$file done # versionless 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 %if_enabled moz_plugin # ControlPanel freedesktop.org menu entry %__subst 's|INSTALL_DIR/JRE_NAME_VERSION|%{_jvmdir}/%{jredir}|g' jre/plugin/desktop/sun_java.desktop %__subst 's|Name=.*|Name=Java Plugin Control Panel \(%{name}\)|' jre/plugin/desktop/sun_java.desktop %__subst 's|Icon=.*|Icon=%{name}.png|' jre/plugin/desktop/sun_java.desktop install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} install -m 644 jre/plugin/desktop/sun_java.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-control-panel.desktop install -m 644 jre/plugin/desktop/sun_java.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png cp -a jre/plugin $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} # javaws freedesktop.org menu entry cat >> $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-javaws.desktop << EOF [Desktop Entry] Name=Java Web Start (%{name}) Comment=Java Application Launcher MimeType=application/x-java-jnlp-file Exec=%{_jvmdir}/%{jredir}/javaws/javaws %%u Icon=%{name}.png Terminal=0 Type=Application Categories=Application;Settings; EOF %endif # man pages install -d -m 755 $RPM_BUILD_ROOT%{_man1dir} for manpage in man/man1/*; do install -m 644 -p $manpage $RPM_BUILD_ROOT%{_man1dir}/`basename $manpage .1.gz`%label.1.gz done # demo # install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{jppname} # cp -a demo $RPM_BUILD_ROOT%{_datadir}/%{jppname} install -d -m755 %buildroot%{_jvmdir}/%{sdkdir} cp -a demo %buildroot%{_jvmdir}/%{sdkdir} ##################################### # ------- alt linux specific -------# ##################################### mkinstall_java_fonts() { local JRE_FONT_DIR=$1 local INSTALL_FONT_DIR=$2 %if_enabled fonts install -d -m755 %buildroot$INSTALL_FONT_DIR # move the fonts into a shared fonts directory install -m 644 %buildroot%{_jvmdir}/%{jredir}/lib/$JRE_FONT_DIR/*.ttf %buildroot$INSTALL_FONT_DIR/ # symlink jre to common location (TODO: think of alternatives) rm -rf %buildroot%{_jvmdir}/%{jredir}/lib/$JRE_FONT_DIR ln -s `relative $INSTALL_FONT_DIR %{_jvmdir}/%{jredir}/lib/` %buildroot%{_jvmdir}/%{jredir}/lib/$JRE_FONT_DIR install -d -m755 %buildroot%_sysconfdir/X11/fontpath.d/ FONTNAME=${INSTALL_FONT_DIR/\/usr\/share\/fonts\/ttf\//} ln -s `relative $INSTALL_FONT_DIR %_sysconfdir/X11/fontpath.d/` %buildroot%_sysconfdir/X11/fontpath.d/ttf-$FONTNAME:pri=50 mkfontscale %buildroot$INSTALL_FONT_DIR ln -s fonts.scale %buildroot$INSTALL_FONT_DIR/fonts.dir %endif # enabled fonts } mkinstall_java_fonts fonts %fontdir # Install substitute rules for buildreq mkdir -p %buildroot%_sysconfdir/buildreqs/packages/substitute.d install -m644 j2se-buildreq-substitute \ %buildroot%_sysconfdir/buildreqs/packages/substitute.d/%name install -m644 j2se-devel-buildreq-substitute \ %buildroot%_sysconfdir/buildreqs/packages/substitute.d/%name-devel %__install -d %buildroot%_altdir # J2SE alternative %__cat <<EOF >%buildroot%_altdir/%altname-j2se %{_bindir}/java %{jrebindir}/java %priority %_man1dir/java.1.gz %_man1dir/java%{label}.1.gz %{jrebindir}/java EOF # binaries and manuals for i in keytool policytool servertool \ orbd rmid rmiregistry tnameserv do %__cat <<EOF >>%buildroot%_altdir/%altname-j2se %_bindir/$i %{_jvmdir}/%{jredir}/bin/$i %{jrebindir}/java %_man1dir/$i.1.gz %_man1dir/${i}%{label}.1.gz %{jrebindir}/java EOF done # ----- JPackage compatibility alternatives ------ %__cat <<EOF >>%buildroot%_altdir/%altname-j2se %{_jvmdir}/jre %{_jvmdir}/%{jrelnk} %{jrebindir}/java %{_jvmjardir}/jre %{_jvmjardir}/%{jrelnk} %{jrebindir}/java %{_jvmdir}/jre-%{origin} %{_jvmdir}/%{jrelnk} %{jrebindir}/java %{_jvmjardir}/jre-%{origin} %{_jvmjardir}/%{jrelnk} %{jrebindir}/java %{_jvmdir}/jre-%{javaver} %{_jvmdir}/%{jrelnk} %{jrebindir}/java %{_jvmjardir}/jre-%{javaver} %{_jvmjardir}/%{jrelnk} %{jrebindir}/java EOF %if_enabled moz_plugin %__cat <<EOF >>%buildroot%_altdir/%altname-j2se %{_bindir}/ControlPanel %{jrebindir}/ControlPanel %{jrebindir}/java EOF %endif # JPackage specific: alternatives for security policy %__cat <<EOF >>%buildroot%_altdir/%altname-j2se %{_jvmdir}/%{jrelnk}/lib/security/local_policy.jar %{_jvmprivdir}/%{jppname}/jce/vanilla/local_policy.jar %{priority} %{_jvmdir}/%{jrelnk}/lib/security/US_export_policy.jar %{_jvmprivdir}/%{jppname}/jce/vanilla/US_export_policy.jar %{_jvmprivdir}/%{jppname}/jce/vanilla/local_policy.jar EOF # ----- end: JPackage compatibility alternatives ------ # Javac alternative %__cat <<EOF >%buildroot%_altdir/%altname-javac %_bindir/javac %{_jvmdir}/%{sdkdir}/bin/javac %priority %_prefix/lib/jdk %{_jvmdir}/%{sdkdir} %{_jvmdir}/%{sdkdir}/bin/javac %_man1dir/javac.1.gz %_man1dir/javac%{label}.1.gz %{_jvmdir}/%{sdkdir}/bin/javac EOF # binaries and manuals for i in appletviewer extcheck idlj jar jarsigner javadoc javah javap jdb native2ascii rmic serialver do %__cat <<EOF >>%buildroot%_altdir/%altname-javac %_bindir/$i %{_jvmdir}/%{sdkdir}/bin/$i %{_jvmdir}/%{sdkdir}/bin/javac %_man1dir/$i.1.gz %_man1dir/${i}%{label}.1.gz %{_jvmdir}/%{sdkdir}/bin/javac EOF done # binaries w/o manuals for i in HtmlConverter jmap do %__cat <<EOF >>%buildroot%_altdir/%altname-javac %_bindir/$i %{_jvmdir}/%{sdkdir}/bin/$i %{_jvmdir}/%{sdkdir}/bin/javac EOF done # ----- JPackage compatibility alternatives ------ %__cat <<EOF >>%buildroot%_altdir/%altname-javac %_prefix/lib/j2se %{_jvmdir}/%{sdkdir} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmdir}/java %{_jvmdir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmjardir}/java %{_jvmjardir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmdir}/java-%{origin} %{_jvmdir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmjardir}/java-%{origin} %{_jvmjardir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmdir}/java-%{javaver} %{_jvmdir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac %{_jvmjardir}/java-%{javaver} %{_jvmjardir}/%{sdklnk} %{_jvmdir}/%{sdkdir}/bin/javac EOF # ----- end: JPackage compatibility alternatives ------ %if_enabled moz_plugin # Mozilla plugin alternative %__cat <<EOF >%buildroot%_altdir/%altname-mozilla %browser_plugins_path/libjavaplugin_oji.so %mozplugindir/libjavaplugin_oji.so %priority EOF %endif # enabled moz_plugin %if_enabled javaws # Java Web Start alternative %__cat <<EOF >%buildroot%_altdir/%altname-javaws %_bindir/javaws %{_jvmdir}/%{jredir}/javaws/javaws %{jrebindir}/java %_man1dir/javaws.1.gz %_man1dir/javaws%label.1.gz %{jrebindir}/java EOF # ----- JPackage compatibility alternatives ------ %__cat <<EOF >>%buildroot%_altdir/%altname-javaws %{_datadir}/javaws %{_jvmdir}/%{jredir}/javaws/javaws %{jrebindir}/java EOF # ----- end: JPackage compatibility alternatives ------ %endif # enabled javaws # Remove unpackaged files %if_with gcc32_abi %__rm -f %buildroot%{_jvmdir}/%{jredir}/lib/%libarch/*_gcc29.so %__rm -rf %buildroot%{_jvmdir}/%{jredir}/plugin/%libarch/*-gcc29 %endif %if_enabled moz_plugin install -d -m 755 $RPM_BUILD_ROOT%{_niconsdir} ln -s %{_datadir}/pixmaps/%{name}.png $RPM_BUILD_ROOT%{_niconsdir}/%{name}.png %endif # hack (see #11383) to enshure that all man pages will be compressed for i in $RPM_BUILD_ROOT%_man1dir/*.1; do [ -f $i ] && gzip -9 $i done # HACK around find-requires %define __find_requires $RPM_BUILD_ROOT/.find-requires cat > $RPM_BUILD_ROOT/.find-requires <<EOF #!/bin/sh (/usr/lib/rpm/find-requires | grep -v %{_jvmdir}/%{sdkdir}) || : EOF chmod 755 $RPM_BUILD_ROOT/.find-requires # end HACK around find-requires %post # ----- JPackage stuff ------ 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 # %ifnarch x86_64 # if [ -f %{_sysconfdir}/mime.types ]; then # %__subst 's|application/x-java-jnlp-file.*||g' %{_sysconfdir}/mailcap.bak 2>/dev/null # echo "type=application/x-java-jnlp-file; description=\"Java Web Start\"; exts=\"jnlp\"" >> %{_sysconfdir}/mailcap 2>/dev/null # %__subst 's|application/x-java-jnlp-file.*||g' %{_sysconfdir}/mime.types 2>/dev/null # echo "application/x-java-jnlp-file jnlp" >> %{_sysconfdir}/mime.types 2>/dev/null # fi # %endif # ----- JPackage stuff ------ %register_alternatives %altname-j2se %pre [ -L %{_jvmdir}/%{jredir}/lib/fonts ] || %__rm -rf %{_jvmdir}/%{jredir}/lib/fonts %preun %unregister_alternatives %altname-j2se %post devel %register_alternatives %altname-javac %preun devel %unregister_alternatives %altname-javac %if_enabled moz_plugin %post -n mozilla-plugin-%altname if [ -d %browser_plugins_path ]; then %register_alternatives %altname-mozilla fi %update_menus %preun -n mozilla-plugin-%altname %unregister_alternatives %altname-mozilla %triggerpostun -n mozilla-plugin-%altname -- %altname-plugin-mozilla if [ -d %browser_plugins_path ]; then %register_alternatives %altname-mozilla fi %postun -n mozilla-plugin-%altname %clean_menus %endif # enabled moz_plugin %if_enabled javaws %post javaws %register_alternatives %altname-javaws %update_menus %preun javaws %unregister_alternatives %altname-javaws %postun javaws %clean_menus %endif # enabled javaws %if_enabled fonts %post -n fonts-ttf-%jppname %_bindir/fc-cache %fontdir ||: %triggerpostun -n fonts-ttf-%jppname -- j2se1.3-sun-fonts j2se1.4-sun-fonts j2se1.4-blackdown-fonts # Recreate the cache removed by the font uninstall scripts %_bindir/fc-cache %fontdir ||: %postun -n fonts-ttf-%jppname if [ "$1" = "0" ]; then %_bindir/fc-cache --system-only ||: fi %endif # enabled fonts %files %doc jre/CHANGES jre/COPYRIGHT jre/LICENSE jre/README %doc jre/THIRDPARTYLICENSEREADME.txt %doc README.alt # jpackage links # %{jvmjardir} %{_jvmdir}/%{jrelnk} %{_jvmjardir}/%{jrelnk} # jpackage dirs %{_jvmdir}/%{jredir}/lib/endorsed %_altdir/%altname-j2se %_sysconfdir/buildreqs/packages/substitute.d/%name %dir %{_jvmdir}/%{sdkdir} %dir %{_jvmdir}/%{jredir} %dir %{_jvmdir}/%{jredir}/lib %dir %{_jvmdir}/%{jredir}/lib/security # .systemPrefs removed as they are not packaged in jpackage #%{_jvmdir}/%{jredir}/.systemPrefs %{_jvmdir}/%{jredir}/bin %if_enabled javaws %exclude %{_jvmdir}/%{jredir}/bin/javaws %endif %{_jvmdir}/%{jredir}/lib/%libarch %exclude %{_jvmdir}/%{jredir}/lib/%libarch/libJdbcOdbc.so %exclude %{_jvmdir}/%{jredir}/lib/%libarch/libjsoundalsa.so %{_jvmdir}/%{jredir}/lib/*.jar %{_jvmdir}/%{jredir}/lib/*.txt %{_jvmdir}/%{jredir}/lib/applet %{_jvmdir}/%{jredir}/lib/audio #%{_jvmdir}/%{jredir}/lib/classlist %{_jvmdir}/%{jredir}/lib/cmm %{_jvmdir}/%{jredir}/lib/ext %{_jvmdir}/%{jredir}/lib/fonts %{_jvmdir}/%{jredir}/lib/im %{_jvmdir}/%{jredir}/lib/images %if_enabled moz_plugin # common between plugin and javaws (TODO: desktop) %{_datadir}/pixmaps/%{name}.png %{_niconsdir}/%{name}.png %{_jvmdir}/%{jredir}/lib/locale %exclude %{_jvmdir}/%{jredir}/lib/locale/*/LC_MESSAGES/sunw_java_plugin.mo %exclude %{_jvmdir}/%{jredir}/lib/%libarch/libjavaplugin_jni.so #exclude %{_jvmdir}/%{jredir}/lib/%libarch/libjavaplugin_nscp*.so %exclude %{_jvmdir}/%{jredir}/lib/plugin.jar %exclude %{_jvmdir}/%{jredir}/plugin %endif %{_jvmdir}/%{jredir}/lib/zi %config(noreplace) %{_jvmdir}/%{jredir}/lib/*.properties %config(noreplace) %{_jvmdir}/%{jredir}/lib/*.properties.?? #%config(noreplace) %{_jvmdir}/%{jredir}/lib/fontconfig.bfc #%config(noreplace) %{_jvmdir}/%{jredir}/lib/fontconfig.properties.src %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/cacerts %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security #%config(noreplace) %{_jvmdir}/%{jredir}/lib/management/* #%{_jvmdir}/%{jredir}/lib/fontconfig.*.bfc #%{_jvmdir}/%{jredir}/lib/fontconfig.*.properties.src #%{_jvmdir}/%{jredir}/lib/security/*.jar %{_jvmprivdir}/* %ghost %{_jvmdir}/%{jredir}/lib/security/local_policy.jar %ghost %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar %_man1dir/java%label.1* %_man1dir/keytool%label.1* %_man1dir/kinit%label.1* %_man1dir/klist%label.1* %_man1dir/ktab%label.1* %_man1dir/orbd%label.1* %_man1dir/policytool%label.1* %_man1dir/rmid%label.1* %_man1dir/rmiregistry%label.1* %_man1dir/servertool%label.1* %_man1dir/tnameserv%label.1* %files devel %doc *README* LICENSE COPYRIGHT # jpackage short links # %{_jvmdir}/%{sdklnk} %{_jvmjardir}/%{sdklnk} %_altdir/%altname-javac %_sysconfdir/buildreqs/packages/substitute.d/%name-devel %{_jvmdir}/%{sdkdir}/bin %{_jvmdir}/%{sdkdir}/lib %{_jvmdir}/%{sdkdir}/include %_man1dir/appletviewer%label.1* %_man1dir/extcheck%label.1* %_man1dir/idlj%label.1* %_man1dir/jar%label.1* %_man1dir/jarsigner%label.1* %_man1dir/javac%label.1* %_man1dir/javadoc%label.1* %_man1dir/javah%label.1* %_man1dir/javap%label.1* %_man1dir/jdb%label.1* %_man1dir/native2ascii%label.1* %_man1dir/rmic%label.1* %_man1dir/serialver%label.1* %files source %{_jvmdir}/%{sdkdir}/src.zip %files demo #todo #%dir %{_datadir}/%{jppname} #%{_datadir}/%{jppname}/demo %{_jvmdir}/%{sdkdir}/demo %if_enabled moz_plugin %files -n mozilla-plugin-%altname %doc jre/ControlPanel.html %_altdir/%altname-mozilla %mozplugindir %dir %{_jvmdir}/%{jredir}/plugin %dir %{_jvmdir}/%{jredir}/plugin/%libarch %{_jvmdir}/%{jredir}/lib/%libarch/libjavaplugin_jni.so #%{_jvmdir}/%{jredir}/lib/%libarch/libjavaplugin_nscp*.so %{_jvmdir}/%{jredir}/lib/locale/*/LC_MESSAGES/sunw_java_plugin.mo %{_jvmdir}/%{jredir}/lib/plugin.jar %{_jvmdir}/%{jredir}/plugin/desktop %{_datadir}/applications/%{name}-control-panel.desktop %endif %files alsa %{_jvmdir}/%{jredir}/lib/%libarch/libjsoundalsa.so %files jdbc %{_jvmdir}/%{jredir}/lib/%libarch/libJdbcOdbc.so %if_enabled javaws %files javaws %doc README.alt %_altdir/%altname-javaws %dir %{_jvmdir}/%{jredir}/javaws %{_jvmdir}/%{jredir}/bin/javaws %{_jvmdir}/%{jredir}/javaws/javaws %{_jvmdir}/%{jredir}/javaws/javawsbin %{_jvmdir}/%{jredir}/javaws/*.jar %{_jvmdir}/%{jredir}/javaws/*.gif %doc %{_jvmdir}/%{jredir}/javaws/*.html %{_jvmdir}/%{jredir}/javaws/resources %config(noreplace) %{_jvmdir}/%{jredir}/javaws/javaws.policy %config(noreplace) %{_jvmdir}/%{jredir}/javaws/cacerts %_man1dir/javaws%label.1* %{_datadir}/applications/%{name}-javaws.desktop %endif %if_enabled fonts %files -n fonts-ttf-%jppname %doc LICENSE COPYRIGHT %doc fontdoc/README.alt %_sysconfdir/X11/fontpath.d/* %dir %fontdir %config %fontdir/fonts.scale %fontdir/fonts.dir %fontdir/*.ttf %endif # enabled fonts %changelog * Thu Apr 24 2008 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt6 - javaws fixes * Thu Apr 10 2008 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt5.qa1 - NMU (by repocop): the following fixes applied: * update_menus for java-1.4.2-blackdown-javaws * update_menus for mozilla-plugin-j2se1.4-blackdown * Fri Sep 07 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt5 - raised release for proper obsolete * Sat Sep 01 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt1 - renamed to java-version-origin - cleaned up alternatives * Thu Mar 29 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt5 - added Provides: /usr/bin/javac to devel (at@ suggest) - desktop fixes * Sat Mar 17 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt4.2 - add_findprov_lib_path %{_jvmdir}/%{jredir}/lib/%libarch/server for apps that links with libjvm.so * Sun Mar 11 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt4.1 - fixed x86_64 build; - fixed unmets (added _findprov_lib_path) * Sat Mar 10 2007 Igor Vlasenko <viy@altlinux.ru> 0:1.4.2.03-alt4 - chenged buildreq provides from j2se{,-devel} to java{,-devel} - removed old profile scripts (they are handled in java-common) - merged jpackage spec - set priority 1423 (according to jpackage) - added .desktop files - added epoch: 0 - spawned alsa supbackage - moved plugin-specific stuff to mozilla-plugin - changed j2se layout in filesystem to /usr/lib/jvm; old locations are provided as symlinks (to be compatible with both JPackage and old ALT). - a bundle of 'Provides:' added to be JPackage compatible; - added new JPackage compatible alternatives; - removed support for ns4_plugin. - removed profile symlinks from /etc/profile.d (see #9766) * Sat Apr 08 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2_03-alt3 - Fix library provides * Tue Feb 07 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2_03-alt2 - Sync with 1.5.0_06-alt2: - Relaxed ELF symbols check - Added soname-providing dependencies to BuildRequires - Made sure JAVA_HOME is in /usr/lib independently of the architecture - Moved demo and source back to %%java_home - Adapt to the fonts package changes * Tue Jan 17 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2_03-alt1 - 1.4.2-03, fixing SA17748 - Sync with j2se1.4-sun-1.4.2_10-alt1: - Provide the old name for mozilla-plugin-j2se1.4-blackdown * Sun Oct 30 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2_02-alt1 - 1.4.2-02 - Sync with j2se1.4-sun-1.4.2_09-alt1 and j2se1.5-sun-1.5.0_05-alt1: - Added x86_64 architecture support - Renamed subpackage %name-plugin-mozilla to mozilla-plugin-%name [bug 8114] - Moved the mozilla plugin alternative symlink to browser-plugins-npapi [bug 7461] - Use macros from browser-plugins-npapi-devel - Added the bundled desktop files to the JRE package - Fixed up javaws filelist and alternative * Tue Jan 25 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.2_01-alt1 - Updated to the 1.4.2 upstream release - Homogenized with the latest j2se1.4-sun package * Sun Aug 29 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.1_01-alt5 - Move to even newer alternatives format - Requires /proc * Wed Jun 16 2004 Stanislav Ievlev <inger@altlinux.org> 1.4.1_01-alt4.1 - NMU: move to new alternatives scheme * Sat Dec 20 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.1_01-alt4 - Added /usr/sbin/update-alternatives to install-time dependencies * Wed Nov 12 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.1_01-alt3 - Obsoletes j2se1.4-blackdown-fonts (bug #3243) - Corrected build directory - Relaxed textrel check on ELF files * Mon Oct 20 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.1_01-alt2 - Sync with the latest j2se1.4-sun - Removed fonts package; j2se1.4-blackdown has got symlink to the fonts directory provided by j2se-sun-fonts - Added locations of binary libraries to findprov lib path * Tue Feb 18 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1.4.1_01-alt1 - Ported from the j2se1.4-sun package