%bcond_with bootstrap %define section free %{!?custom: %global custom 0} %{!?gcjprefix: %global gcjprefix %{nil}} %{!?origin: %global origin gcj%{gccsuffix}} %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %define gccsuffix %{nil} %define gccsoversion 7 %define priority 1420 %define javaver 1.4.2 %define buildver 0 # the version-release string for the gcj rpms we require %define gccver 4.1.1 %define jgcver 1.0.65 %define jar %{_bindir}/fastjar %define cname java-%{javaver}-%{origin} %define sdklnk java-%{javaver}-%{origin} %define jrelnk jre-%{javaver}-%{origin} %define sdkdir %{cname}-%{version} %define jredir %{sdkdir}/jre %define sdkbindir %{_jvmdir}/%{sdklnk}/bin %define jrebindir %{_jvmdir}/%{jrelnk}/bin %define jvmjardir %{_jvmjardir}/%{cname}-%{version} %define plugindir %{_libdir}/mozilla/plugins Name: java-%{javaver}-%{origin}-compat Version: %{javaver}.%{buildver} Release: %mkrel 40.103.1 Epoch: 0 Summary: JPackage runtime scripts for GCJ Group: Development/Java License: GPL URL: ftp://sources.redhat.com/pub/rhug/ Source0: ftp://sources.redhat.com/pub/rhug/java-gcj-compat-%{jgcver}.tar.bz2 Source1: ecj.sh.in Source2: native2ascii Source3: Native2ASCII.java Patch0: java-1.4.2-gcj-compat-no-gjdoc.patch Patch1: java-1.4.2-gcj-compat-aot-compile-rpm.patch BuildRoot: %{_tmppath}/%{name}-buildroot BuildRequires: jpackage-utils >= 0:1.6, sed BuildRequires: gcc%{gccsuffix}-java >= 0:%{gccver} Requires: gcj%{gccsuffix}-tools %if %without bootstrap Requires(post): classpath Requires(postun): classpath BuildRequires: gjdoc BuildRequires: libgcj%{gccsoversion}-src >= 0:%{gccver} BuildRequires: python-devel Requires: gjdoc Requires: bouncycastle Requires: jpackage-utils >= 0:1.6.6 Requires: gcj%{gccsuffix}-tools Requires(post): jpackage-utils >= 0:1.6.6 Requires(postun): jpackage-utils >= 0:1.6.6 Requires(post): gcj%{gccsuffix}-tools Requires(postun): gcj%{gccsuffix}-tools %endif 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: jaxp_parser_impl Provides: jndi, jdbc-stdext = 0:2.0, jaas, jsse, jta Provides: java-gcj-compat = %{epoch}:%{jgcver} Provides: jaxp_transform_impl # SASL and JCE are provided by libgcj. Provides: java-sasl Provides: jce %if %without bootstrap BuildRequires: gjdoc BuildRequires: unzip %endif %if %{custom} # prevent autogeneration of libjawt.so dependencies AutoReqProv: no %endif Obsoletes: java-1.4.2-gcj-compat-bootstrap %description This package installs directory structures, shell scripts and symbolic links to simulate a JPackage-compatible runtime environment with GCJ. %package devel Summary: JPackage development scripts for GCJ Group: Development/Java Requires: %{_sbindir}/update-alternatives Provides: java-sdk-%{javaver}-%{origin} = %{epoch}:%{version} Provides: java-sdk-%{javaver} Provides: java-sdk-%{origin} = %{epoch}:%{version} Provides: java-sdk = %{epoch}:%{javaver} Provides: java-%{javaver}-devel Provides: java-devel-%{origin} = %{epoch}:%{version} Provides: java-devel = %{epoch}:%{javaver} Provides: java-gcj-compat-devel = %{epoch}:%{jgcver} Requires: %{name} = %{epoch}:%{version}-%{release} %if %without bootstrap Requires: eclipse-ecj %else Requires: ecj-bootstrap %endif %if %without bootstrap Requires: gjdoc # FIXME: This is a workaround for various other problems (alternatives) Requires: xalan-j2 Requires: xerces-j2 %endif Requires: python Requires: gcc%{gccsuffix}-java >= 0:%{gccver} Requires: %{_lib}gcj%{gccsoversion}-devel >= 0:%{gccver} Requires(post): gcc%{gccsuffix}-java >= 0:%{gccver} Requires(postun): gcc%{gccsuffix}-java >= 0:%{gccver} Requires(post): %{_lib}gcj%{gccsoversion}-devel >= 0:%{gccver} Requires(postun): %{_lib}gcj%{gccsoversion}-devel >= 0:%{gccver} Obsoletes: java-1.4.2-gcj-compat-bootstrap-devel %description devel This package installs directory structures, shell scripts and symbolic links to simulate a JPackage-compatible development environment with GCJ. %package src Summary: Source files for libgcj Group: Development/Java Requires: %{name} = %{epoch}:%{version}-%{release} Requires: libgcj%{gccsoversion}-src >= 0:%{gccver} Requires(post): gcc%{gccsuffix}-java >= 0:%{gccver} Requires(postun): gcc%{gccsuffix}-java >= 0:%{gccver} Requires(post): libgcj%{gccsoversion}-src >= 0:%{gccver} Requires(postun): libgcj%{gccsoversion}-src >= 0:%{gccver} Obsoletes: java-1.4.2-gcj-compat-bootstrap-src %description src This package installs a versionless src.zip symlink that points to a specific version of the libgcj sources. %if %without bootstrap %package javadoc Summary: API documentation for libgcj Group: Development/Java Requires: %{name} = %{epoch}:%{version}-%{release} Provides: java-javadoc = %{epoch}:%{version}-%{release} %description javadoc This package installs Javadoc API documentation for libgcj. %endif %package plugin Summary: Web browser plugin that handles applets Group: Development/Java Provides: java-plugin = %{javaver}, java-%{javaver}-plugin = %{version} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{_sbindir}/update-alternatives Requires(post): %{_sbindir}/update-alternatives Requires(postun): %{_sbindir}/update-alternatives Requires: %{_lib}gcj%{gccsoversion} >= 0:%{gccver} Requires(post): %{_lib}gcj%{gccsoversion} >= 0:%{gccver} Requires(postun): %{_lib}gcj%{gccsoversion} >= 0:%{gccver} %description plugin This package installs gcjwebplugin, a Mozilla plugin for applets. %prep %setup -q -n java-gcj-compat-%{jgcver} %if %with bootstrap %patch0 -p1 -b .no-gjdoc %endif %patch1 -p1 -b .aot-compile-rpm %{__perl} -pi -e 's/^find/find -L/' rebuild-gcj-db.in %{__mkdir_p} src/gnu/classpath/tools/native2ascii %{__install} -m 644 %{SOURCE3} src/gnu/classpath/tools/native2ascii/Native2ASCII.java %build export CLASSPATH= export JAR=%{jar} %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif %configure2_5x --disable-symlinks --with-arch-directory=%{_arch} \ --with-os-directory=linux \ %if %{custom} --with-origin-name=%{origin} \ %endif --with-classpath-security=%{_prefix}/lib/security/classpath.security \ --with-security-directory=%{_sysconfdir}/java/security/security.d %{__make} (cd src && %{javac} gnu/classpath/tools/native2ascii/Native2ASCII.java) %if %{custom} cp -a %{SOURCE1} eclipse-ecj-%{cname}.jar sed 's:@JAVADIR@:%{_javadir}:g' < %{SOURCE1} > ecj-1 sed 's:eclipse-ecj.jar:eclipse-ecj-%{cname}.jar:g' < ecj-1 > ecj-2 LIBGCJ_JAR="%{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar" sed "s,compiler.batch.Main,compiler.batch.Main -bootclasspath $LIBGCJ_JAR,g" < ecj-2 > ecj-%{cname} %endif %install %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif rm -rf $RPM_BUILD_ROOT %makeinstall_std %if %{custom} rm -f $RPM_BUILD_ROOT%{_bindir}/aot-compile-rpm rm -f $RPM_BUILD_ROOT%{_bindir}/rebuild-gcj-db rm -f $RPM_BUILD_ROOT%{_bindir}/aot-compile rm -f $RPM_BUILD_ROOT%{python_sitelib}/aotcompile.py* rm -f $RPM_BUILD_ROOT%{python_sitelib}/classfile.py* %endif %if %{custom} ln -sf %{_bindir}/ecj-%{cname} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin/javac %endif # create extensions symlinks # jessie %if %without bootstrap %{__mkdir_p} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib ln -s %{_javadir}/jsse.jar $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/jsse.jar %else rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin/javadoc %endif # extensions handling install -dm 755 $RPM_BUILD_ROOT%{jvmjardir} pushd $RPM_BUILD_ROOT%{jvmjardir} ln -s %{_jvmdir}/%{jredir}/lib/jaas.jar jaas-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/jdbc-stdext.jar jdbc-stdext-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/jndi.jar jndi-%{version}.jar ln -s %{_jvmdir}/%{jredir}/lib/jta.jar jta-%{version}.jar %if %without bootstrap ln -s %{_jvmdir}/%{jredir}/lib/jsse.jar jsse-%{version}.jar %endif for jar in *-%{version}.jar ; do ln -sf ${jar} $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g") ln -sf ${jar} $(echo $jar | sed "s|-%{version}.jar|.jar|g") done popd # security directories install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security # 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 # generate file lists 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 cat %{name}-%{version}-all.files \ > %{name}-%{version}.files find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin -type f -o -type l \ | sed "s|^$RPM_BUILD_ROOT||" > %{name}-%{version}-sdk-bin.files # classmap database directory install -dm 755 $RPM_BUILD_ROOT%{_libdir}/gcj %if %{custom} mkdir -p $RPM_BUILD_ROOT%{_javadir} install -m644 eclipse-ecj-%{cname}.jar $RPM_BUILD_ROOT%{_javadir} mkdir -p $RPM_BUILD_ROOT%{_bindir} install -m755 ecj-%{cname} $RPM_BUILD_ROOT%{_bindir} %endif %{__mkdir_p} %{buildroot}%{sdkbindir} %{__install} -m 755 %{SOURCE2} %{buildroot}%{sdkbindir}/native2ascii (cd src && %{jar} uMf %{buildroot}%{_jvmdir}/%{sdklnk}/lib/tools.jar gnu/classpath/tools/native2ascii/Native2ASCII.class) %if %without bootstrap # build and install api documentation install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} #touch $RPM_BUILD_ROOT%{_javadocdir}/{%{name},java} mkdir docsbuild pushd docsbuild # work around ppc64 file system corruption if unzip -tq %{_javadir}/src-%{gccver}.zip then %{jar} xf %{_javadir}/src-%{gccver}.zip rm -rf gnu find ./ -name \*.java | xargs -n 1 dirname | sort | uniq | sed -e "s/\.\///" | sed -e "s/\//\./" | \ sed -e "s/\//\./" | sed -e "s/\//\./" | sed -e "s/\//\./" | sed -e "s/\//\./" | \ xargs gjdoc -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} -encoding UTF-8 -breakiterator -licensetext \ -linksource -splitindex -doctitle "GNU libgcj `gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`" \ -windowtitle "GNU libgcj `gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'` Documentation" else touch $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/package-list fi popd %endif %ifarch x86_64 cd %{buildroot}%{_jvmdir}/%{jredir}/lib && \ %{__ln_s} %{_arch} amd64 %endif # install libjvm.so directories mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{_arch}/client mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{_arch}/server %{__mkdir_p} %{buildroot}%{plugindir} %clean rm -rf $RPM_BUILD_ROOT %post %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif %{_sbindir}/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}/rmiregistry rmiregistry %{jrebindir}/rmiregistry %{_sbindir}/update-alternatives \ --install %{_jvmdir}/jre-%{origin} \ jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ --slave %{_jvmjardir}/jre-%{origin} \ jre_%{origin}_exports %{_jvmjardir}/%{jrelnk} %{_sbindir}/update-alternatives \ --install %{_jvmdir}/jre-%{javaver} \ jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \ --slave %{_jvmjardir}/jre-%{javaver} \ jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk} # rt.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/rt.jar # jaas.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jaas.jar # jsse.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jsse.jar # jdbc-stdext.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jdbc-stdext.jar # jndi.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jndi.jar # jta.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jta.jar # java.security ln -sf \ %{_prefix}/lib/security/classpath.security \ %{_jvmdir}/%{cname}-%{version}/jre/lib/security/java.security if [ -x %{_bindir}/rebuild-security-providers ] then %{_bindir}/rebuild-security-providers fi %if %{custom} # jaxp_parser_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \ jaxp_parser_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %else # jaxp_parser_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \ jaxp_parser_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %endif %if %{custom} # jaxp_transform_impl.jar %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \ jaxp_transform_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %else # jaxp_transform_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \ jaxp_transform_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %endif %{update_gcjdb} { # libjawt.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjawt.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/libjawt.so # libjvm.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjvm.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/client/libjvm.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjvm.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/server/libjvm.so } || : %post devel %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif %{_sbindir}/update-alternatives \ --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \ %if %without bootstrap --slave %{_bindir}/javadoc javadoc %{sdkbindir}/javadoc \ %endif --slave %{_bindir}/javah javah %{sdkbindir}/javah \ --slave %{_bindir}/jar jar %{sdkbindir}/jar \ %if %without bootstrap --slave %{_bindir}/appletviewer appletviewer %{_bindir}/gappletviewer \ --slave %{_bindir}/jarsigner jarsigner %{_bindir}/gjarsigner \ --slave %{_bindir}/keytool keytool %{_bindir}/gkeytool \ %endif --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \ --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii %{_sbindir}/update-alternatives \ --install %{_jvmdir}/java-%{origin} \ java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \ --slave %{_jvmjardir}/java-%{origin} \ java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk} %{_sbindir}/update-alternatives \ --install %{_jvmdir}/java-%{javaver} \ java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \ --slave %{_jvmjardir}/java-%{javaver} \ java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk} # jni.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jni.h` \ %{_jvmdir}/%{cname}-%{version}/include/jni.h # jni_md.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jni_md.h` \ %{_jvmdir}/%{cname}-%{version}/include/linux/jni_md.h # jawt.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jawt.h` \ %{_jvmdir}/%{cname}-%{version}/include/jawt.h # jawt_md.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jawt_md.h` \ %{_jvmdir}/%{cname}-%{version}/include/linux/jawt_md.h %post src %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif # src.zip ln -sf \ %{_javadir}/src-`gcj%{gccsuffix} --version | head -n 1 | awk '{ print $3 }'`.zip \ %{_jvmdir}/%{cname}-%{version}/src.zip %post javadoc { rm -f %{_javadocdir}/%{name} %{_javadocdir}/java ln -sf %{name}-%{version} %{_javadocdir}/%{name} ln -sf %{name}-%{version} %{_javadocdir}/java } || : %post plugin [ -d %{plugindir} ] || %{__mkdir_p} %{plugindir} %{_sbindir}/update-alternatives --install %{plugindir}/libjavaplugin.so \ libjavaplugin.so %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libgcjwebplugin.so %{priority} %postun if [ $1 -eq 0 ] ; then %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif %{_sbindir}/update-alternatives --remove java %{jrebindir}/java %{_sbindir}/update-alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk} %{_sbindir}/update-alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} %if %{custom} %{_sbindir}/update-alternatives --remove jaxp_parser_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar %else %{_sbindir}/update-alternatives --remove jaxp_parser_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar %endif %if %{custom} %{_sbindir}/update-alternatives --remove jaxp_transform_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar %else %{_sbindir}/update-alternatives --remove jaxp_transform_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar %endif fi if [ -x %{_bindir}/rebuild-security-providers ] then %{_bindir}/rebuild-security-providers fi if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %postun devel if [ $1 -eq 0 ] ; then %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif %{_sbindir}/update-alternatives --remove javac %{sdkbindir}/javac %{_sbindir}/update-alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{_sbindir}/update-alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} fi %postun plugin if [ $1 -eq 0 ] ; then %{_sbindir}/update-alternatives --remove libjavaplugin.so %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libgcjwebplugin.so fi %triggerin -- libgcj%{gccsuffix} > %{gccver} { %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif # rt.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/rt.jar # jaas.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jaas.jar # jsse.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jsse.jar # jdbc-stdext.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jdbc-stdext.jar # jndi.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jndi.jar # jta.jar ln -sf \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar \ %{_jvmdir}/%{cname}-%{version}/jre/lib/jta.jar %if %{custom} # jaxp_parser_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \ jaxp_parser_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %else # jaxp_parser_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \ jaxp_parser_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %endif %if %{custom} # jaxp_transform_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \ jaxp_transform_impl \ %{gcj_prefix}/share/java/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %else # jaxp_transform_impl %{_sbindir}/update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \ jaxp_transform_impl \ %{_javadir}/libgcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`.jar 20 %endif # libjawt.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjawt.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/libjawt.so # libjvm.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjvm.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/client/libjvm.so ln -sf %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libjvm.so \ %{_jvmdir}/%{jredir}/lib/%{_arch}/server/libjvm.so } || : # gcc-java requires libgcj-devel which provides jni.h %triggerin devel -- gcc%{gccsuffix}-java > 0:%{gccver} { %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif # jni.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jni.h` \ %{_jvmdir}/%{cname}-%{version}/include/jni.h # jni_md.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jni_md.h` \ %{_jvmdir}/%{cname}-%{version}/include/jni_md.h # jawt.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jawt.h` \ %{_jvmdir}/%{cname}-%{version}/include/jawt.h # jawt_md.h ln -sf \ `gcj%{gccsuffix} -print-file-name=include/jawt_md.h` \ %{_jvmdir}/%{cname}-%{version}/include/linux/jawt_md.h } || : %triggerin src -- libgcj%{gccsoversion}-src >= 0:%{gccver} { %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif ln -sf \ %{_javadir}/src-`gcj%{gccsuffix} --version | head -n 1 | awk '{ print $3 }'`.zip \ %{_jvmdir}/%{cname}-%{version}/src.zip } || : %triggerin plugin -- libgcj%{gccsuffix} > %{gccver} { %if %{custom} export PATH=%{gcj_prefix}/bin:$PATH %endif # plugin %{_sbindir}/update-alternatives --install %{plugindir}/libjavaplugin.so \ libjavaplugin.so %{_libdir}/gcj-`gij%{gccsuffix} --version | head -n 2 | tail -n 1 | awk '{ print $5 }'`/libgcjwebplugin.so %{priority} } || : %files -f %{name}-%{version}.files %defattr(-,root,root,-) %dir %{_libdir}/gcj %doc AUTHORS ChangeLog COPYING INSTALL NEWS README %dir %{_jvmdir}/%{sdkdir} %dir %{jvmjardir} %if ! %{custom} %{_bindir}/rebuild-gcj-db %{_bindir}/aot-compile %{python_sitelib}/aotcompile.py* %{python_sitelib}/classfile.py* %endif %{jvmjardir}/*.jar %{_jvmdir}/%{jrelnk} %{_jvmjardir}/%{jrelnk} # %{_jvmprivdir}/* %if ! %{custom} #%{_sysconfdir}/java/security/security.d/1000-gnu.java.security.provider.Gnu %endif %ifarch x86_64 %{_jvmdir}/%{jredir}/lib/amd64 %endif %{_jvmdir}/%{jredir}/lib/%{_arch}/client %{_jvmdir}/%{jredir}/lib/%{_arch}/server %files devel -f %{name}-%{version}-sdk-bin.files %defattr(-,root,root) %doc %dir %{_jvmdir}/%{sdkdir}/bin %{_jvmdir}/%{sdkdir}/bin/native2ascii %if ! %{custom} %{_bindir}/aot-compile-rpm %endif %{_jvmdir}/%{sdkdir}/lib %{_jvmdir}/%{sdkdir}/include %{_jvmdir}/%{sdklnk} %{_jvmjardir}/%{sdklnk} %if %{custom} %{_bindir}/ecj-%{cname} %{_javadir}/eclipse-ecj-%{cname}.jar %endif %files src %defattr(-,root,root) %if %without bootstrap %files javadoc %defattr(-,root,root) %doc %{_javadocdir}/%{name}-%{version} #%ghost %doc %{_javadocdir}/%{name} #%ghost %doc %{_javadocdir}/java %endif %files plugin %defattr(-,root,root) %ghost %{plugindir} %changelog * Thu Aug 31 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.103.1mdv2007.0 - 1.0.65 (40jpp_103rh) * Fri Aug 25 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.102.1mdv2007.0 - 1.0.62 (40jpp_102rh) * Fri Aug 25 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.101.2mdv2007.0 - remove update-alternatives --auto and update-alternatives --verbose - fix aot-compile-rpm libdir * Thu Aug 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.101.1mdv2007.0 - 1.0.62 (40jpp_101rh) * Thu Aug 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.100.4mdv2007.0 - BuildRequires: python-devel * Wed Aug 09 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.100.3mdv2007.0 - BuildRequires: python * Fri Aug 04 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.100.2mdv2007.0 - try using update-alternatives --auto * Thu Aug 03 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.100.1mdv2007.0 - 1.0.61 (40jpp_100rh) * Sun Jul 30 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.98.1mdv2007.0 - 1.0.61 (40jpp_98rh) - use full path to update-alternatives - make update-alternatives --verbose to track down problems * Mon Jul 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.88.5mdv2007.0 - provide jta for castor, tomcat5 * Mon Jul 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.88.4mdv2007.0 - something happened to the previous patch - don't obsolete gnu-crypto * Sat Jul 15 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.88.3mdv2007.0 - allow for -O0 to aot-compile-rpm * Thu Jul 13 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.88.2mdv2007.0 - don't require classpath for bootstrap - require ecj-boostrap for bootstrap - use Conflicts instead of Obsoletes * Sun Jul 09 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.88.1mdv2007.0 - 1.0.52 (40jpp_88rh) * Fri Jun 23 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.87.2mdv2007.0 - fix macro definitions * Fri Jun 23 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.87.1mdv2007.0 - 1.0.52 (40jpp_87rh) - require classpath for appletviewer, jarsigner, and keytool * Sun Apr 23 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.83.1mdv2007.0 - 1.0.52 (40jpp_83rh) - remove %%{_bindir}/rebuild-security-providers - build with libgcj.so.7 - patch aot-compile-rpm to lower -O level * Thu Feb 23 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.80.3mdk - requires xalan-j2 and xerces-j2 * Wed Feb 22 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.80.2mdk - rebuild for gcc 4.0.3 * Mon Feb 13 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.80.1mdk - 1.0.52 (40jpp_80rh) * Tue Feb 07 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.76.1mdk - 1.0.52 (40jpp_76rh) * Thu Jan 26 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.63.1mdk - 1.0.52 (40jpp_63rh) * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.62.4mdk - Requires: bouncycastle * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.62.3mdk - require ecj even when %%bootstrap is 1 * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.62.2mdk - add version to bootstrap provides * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.62.1mdk - 1.0.51 (40jpp_62rh) * Tue Jan 17 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.61.4mdk - provide/obsolete all bootstrap packages * Fri Jan 13 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.61.3mdk - build bootstrap without gjdoc * Fri Jan 13 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.61.2mdk - BuildRequires: gjdoc * Wed Jan 11 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.61.1mdk - 1.0.50 (40jpp_61rh) - ecj and gjdoc should only be reqired by the devel package * Tue Jan 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.59.2mdk - javadoc script wasn't included in the last build (why?) * Thu Jan 05 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.59.1mdk - 1.0.47 (40jpp_59rh) - pthread patch merged upstream * Wed Jan 04 2006 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.57.1mdk - 1.0.45 (40jpp_57rh) - add pthread patch * Thu Dec 01 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.55.2mdk - fix find command syntax in rebuild-gcj-db (bug #20030) * Fri Nov 18 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.55.1mdk - 1.0.45 (40jpp_55rh) * Tue Nov 15 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.53.1mdk - put back rebuild-security-providers * Tue Nov 15 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.53.1mdk - 1.0.44 (40jpp_51rh) * Fri Nov 11 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.51.5mdk - update for gcc 4.0.2 * Sun Nov 06 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.51.4mdk - include native2ascii from cp-tools (20051106) * Sun Nov 06 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.51.3mdk - don't use alternatives for rebuild-gcj-db and aot-compile-rpm * Fri Oct 28 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.51.2mdk - link jni_md.h which no longer exists to jni.h for now * Fri Oct 28 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.51.1mdk - rebuild * Thu Oct 20 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.19mdk - fix rebuild-security-providers * Wed Oct 19 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.18mdk - don't count backup files as security providers * Sat Oct 08 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.17mdk - sync with java-gcj-compat 1.0.43 (51rh) - add docs * Tue Sep 06 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.16mdk - use %%mkrel - don't add provider file if %%bootstrap is 1 * Tue Sep 06 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.15mdk - add %%{_sysconfdir}/java/security and %%{_sysconfdir}/java/security.d as %%dir * Tue Sep 06 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.14mdk - update bootstrap - add gcj-specific files from jpackage-utils * Fri Sep 02 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.13mdk - sync with 40jpp_47rh and java-gcj-compat 1.0.40 - don't provide jndi-ldap or jta * Thu Jul 28 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.12mdk - sync with 40jpp_43rh and java-gcj-compat 1.0.36 - provides jndi-ldap - use alternatives for jaxp_parser_impl and jaxp_transform_impl - don't provide java-javadoc (use, e.g., classpath javadocs instead) * Sat Jun 25 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 0:1.4.2.0-40.11mdk - gcc 4.0.1 * Fri Jun 10 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.10mdk - sync with 40jpp_30rh and java-gcj-compat 1.0.30 * Thu May 19 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.9mdk - export jaxp_parser_impl.jar and jaxp_transform_impl.jar * Thu May 19 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.8mdk - add symlink to jaxp_parser_impl.jar - provide jaxp_transform_impl and add symlink to jaxp_transform_impl.jar * Tue May 17 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.7mdk - add requires on %%{_bindir}/rebuild-security-providers (fixes bug #16023) * Wed May 11 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.6mdk - rebuild as non-bootstrap * Mon May 09 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.5mdk - fix src dependency, but don't require it (yet) * Mon May 09 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.4mdk - provide java-javadoc - don't require on gcc-java release * Sat May 07 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.3mdk - provide java-%%{javaver}-javadoc * Sat May 07 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.2mdk - fix symlinks and bin locations - fix group * Tue May 03 2005 David Walluck <walluck@mandriva.org> 0:1.4.2.0-40.1mdk - release * Fri Apr 15 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_18rh - Require gnu-crypto. * Fri Apr 15 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_17rh - Provide jaxp_parser_impl. * Wed Apr 13 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_16rh - Import java-gcj-compat 1.0.28. * Mon Apr 4 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_15rh - Import java-gcj-compat 1.0.27. - Bump gccver to 4.0.0-0.39. - Make -devel take ownership of symlinks as well as regular files. * Wed Mar 30 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_14rh - Import java-gcj-compat 1.0.23. - Always look for classpath.security in /usr/lib. (151561) - Provide jsse. (151662) * Thu Mar 17 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_13rh - Uncomment rebuild-security-providers. - Require jessie >= 1.0.0-3. * Tue Mar 15 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_12rh - Don't re-run rebuild-security-providers. * Tue Mar 15 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_11rh - Add jaas and jta provides. * Tue Mar 8 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_10rh - Import java-gcj-compat 1.0.22. - Symlink jaas.jar, jdbc-stdext.jar, jndi.jar and jta.jar to libgcj.jar. * Sat Mar 5 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_9rh - Import java-gcj-compat 1.0.21. * Sat Mar 5 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_8rh - Import java-gcj-compat 1.0.20. - Depend on jessie. - Install jsse.jar. - Install security directory. - Symlink classpath.security to java.security. * Sat Mar 5 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_7rh - Import java-gcj-compat 1.0.19. * Thu Mar 3 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_6rh - Import java-gcj-compat 1.0.18. * Thu Mar 3 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_5rh - Update descriptions. * Wed Mar 2 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_4rh - Bump release number. * Wed Mar 2 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_3rh - Make java-1.4.2-gcj-compat-devel obsolete java-1.4.2-gcj4-compat-devel. - Import java-gcj-compat 1.0.17. - Specify --with-arch-directory and --with-os-directory options on configure line. * Tue Mar 1 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_2rh - Make arch-specific. * Tue Mar 1 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-40jpp_1rh - Merge java-1.4.2-gcj4-compat into java-1.4.2-gcj-compat. - Import java-gcj-compat 1.0.15. - Add AWT Native Interface symlinks. - Remove build requires on eclipse-ecj. * Thu Feb 17 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp_4rh - Add -src sub-package. * Wed Feb 9 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp_3rh - Import java-gcj-compat 1.0.14. * Tue Feb 8 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp_2rh - Import java-gcj-compat 1.0.13. * Mon Feb 7 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp_1rh - Import java-gcj-compat 1.0.12. * Wed Feb 2 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp_1rh - Add Red Hat release number. * Tue Feb 1 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp - Remove gjdoc version requirement. - Change java-gcj-compat version number. * Tue Feb 1 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp - Import java-gcj-compat 1.0.11. - Require gjdoc. * Tue Feb 1 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-4jpp - Add jni.h symlink. - Install rt.jar as an unmanaged symlink. - Conflict and obsolete old java-gcj-compat rpms. - Import java-gcj-compat 1.0.9. * Mon Jan 24 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-3jpp - Import java-gcj-compat 1.0.8. * Thu Jan 13 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-2jpp - Make jvmjardir use cname, not name. * Wed Jan 12 2005 Thomas Fitzsimmons <fitzsim@redhat.com> 0:1.4.2.0-1jpp - Initial build.