4.4.0-0.33

This commit is contained in:
Jakub Jelinek 2009-04-10 09:40:17 +00:00
parent 293a503065
commit cdcb4d30f8
3 changed files with 701 additions and 3 deletions

575
gcc.spec
View File

@ -3,7 +3,7 @@
%define gcc_version 4.4.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%define gcc_release 0.32
%define gcc_release 0.33
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1
@ -36,6 +36,33 @@
%ifarch x86_64
%define multilib_32_arch i586
%endif
# java-1.5.0-gcj-compat related definitions
# convert an absolute path to a relative path. each symbolic link is
# specified relative to the directory in which it is installed so that
# it will resolve properly within chrooted installations.
%define abs2rel %{__perl} -e 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
# python install location
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib().replace('%{_prefix}','',1)")}
# Java version information and alternatives priority
%define javaver 1.5.0
%define javabuildver 0
%define javadirname java-%{javaver}-gcj-%{javaver}.%{javabuildver}
%define origin gcj
%define priority 1500
# installation directory names corresponding to JPackage specifications
%define sdklnk java-%{javaver}-%{origin}
%define jrelnk jre-%{javaver}-%{origin}
%define sdkdir java-%{javaver}-gcj-%{javaver}.%{javabuildver}
%define jredir %{sdkdir}/jre
%define sdkbindir %{_jvmdir}/%{sdklnk}/bin
%define jrebindir %{_jvmdir}/%{jrelnk}/bin
%define jvmjardir %{_jvmjardir}/java-%{javaver}-gcj-%{javaver}.%{javabuildver}
Summary: Various compilers (C, C++, Objective-C, Java, ...)
Name: gcc
Version: %{gcc_version}
@ -55,6 +82,7 @@ Source2: README.libgcjwebplugin.so
Source3: protoize.1
%define fastjar_ver 0.97
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
Source5: generate-cacerts.pl
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Need binutils with -pie support >= 2.14.90.0.4-4
@ -152,6 +180,7 @@ Patch26: gcc44-power7.patch
Patch27: gcc44-power7-2.patch
Patch28: gcc44-pr38757.patch
Patch30: gcc44-pr39543.patch
Patch31: gcc44-libjava-i386.patch
Patch1000: fastjar-0.97-segfault.patch
@ -358,6 +387,165 @@ Autoreq: true
%description -n libgcj-src
The Java(tm) runtime library sources for use in Eclipse.
%package -n java-%{javaver}-gcj
Summary: JPackage runtime compatibility layer for GCJ
Group: Development/Languages
BuildRequires: gcc-java >= %{version}
BuildRequires: libgcj-src >= %{version}
# required for cacerts generation
BuildRequires: openssl
BuildRequires: python-devel
%if ! %{bootstrap_java}
# required for javadoc
BuildRequires: java-1.6.0-openjdk-devel
%endif
BuildRequires: unzip
# required for tools and libgcj.jar
Requires: libgcj = %{version}
# required for directory structures
Requires: jpackage-utils >= 1.7.3
# required for java.security symlink
Requires: %{_prefix}/%{_lib}/security/classpath.security
%if ! %{bootstrap_java}
# required for javadoc symlink
Requires: sinjdoc
%endif
# post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives
# post requires gij to retrieve gcc version
Requires(post): %{_bindir}/gij
# post rebuilds the gcj database
Requires(post): %{_bindir}/rebuild-gcj-db
# rebuild-gcj-db requires gcj-dbtool
Requires(post): %{_bindir}/gcj-dbtool
# rebuild-gcj-db requires findutils
Requires(post): findutils
# postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives
# postun requires gij to retrieve gcc version
Requires(postun): %{_bindir}/gij
# postun rebuilds the gcj database
Requires(postun): %{_bindir}/rebuild-gcj-db
# rebuild-gcj-db requires gcj-dbtool
Requires(postun): %{_bindir}/gcj-dbtool
# rebuild-gcj-db requires findutils
Requires(postun): findutils
# standard JPackage base provides
Provides: jre-%{javaver}-%{origin} = %{version}-%{release}
Provides: jre-%{origin} = %{version}-%{release}
Provides: jre-%{javaver} = %{version}-%{release}
Provides: java-%{javaver} = %{version}-%{release}
Provides: jre = %{javaver}
Provides: java-%{origin} = %{version}-%{release}
Provides: java = %{javaver}
# libgcj provides, translated to JPackage provides
Provides: jaas = %{version}-%{release}
Provides: jce = %{version}-%{release}
Provides: jdbc-stdext = %{version}-%{release}
Provides: jdbc-stdext = 3.0
Provides: jndi = %{version}-%{release}
Provides: jndi-cos = %{version}-%{release}
Provides: jndi-dns = %{version}-%{release}
Provides: jndi-ldap = %{version}-%{release}
Provides: jndi-rmi = %{version}-%{release}
Provides: jsse = %{version}-%{release}
Provides: java-sasl = %{version}-%{release}
Provides: jaxp_parser_impl = %{version}-%{release}
# java-gcj-compat base provides
Provides: java-gcj-compat = 1.0.79
Provides: java-1.4.2-gcj-compat > 1.4.2.0-40jpp.111
Obsoletes: java-1.4.2-gcj-compat <= 1.4.2.0-40jpp.111
Obsoletes: gnu-crypto <= 2.1.0-2jpp.1
Obsoletes: gnu-crypto-sasl-jdk1.4 <= 2.1.0-2jpp.1
Obsoletes: jessie <= 1.0.1-7
%description -n java-%{javaver}-gcj
This package installs directory structures, shell scripts and symbolic
links to simulate a JPackage-compatible runtime environment with GCJ.
%package -n java-%{javaver}-gcj-devel
Summary: JPackage development compatibility layer for GCJ
Group: Development/Tools
# require libgcj-src for tools.jar symlink
Requires: libgcj-src = %{version}
# require base package
Requires: java-%{javaver}-gcj = %{version}-%{release}
# require ecj for ecj binary
Requires: ecj >= 3.2.1
# require python for aot-compile
Requires: python
# require gcc-java for gjavah binary
Requires: gcc-java = %{version}
# post requires alternatives to install tool alternatives
Requires(post): %{_sbindir}/alternatives
# post requires gcj to retrieve gcj header file locations
Requires(post): %{_bindir}/gcj
# postun requires alternatives to uninstall tool alternatives
Requires(postun): %{_sbindir}/alternatives
# standard JPackage devel provides
Provides: java-sdk-%{javaver}-%{origin} = %{version}
Provides: java-sdk-%{javaver} = %{version}
Provides: java-sdk-%{origin} = %{version}
Provides: java-sdk = %{javaver}
Provides: java-%{javaver}-devel = %{version}
Provides: java-devel-%{origin} = %{version}
Provides: java-devel = %{javaver}
# java-gcj-compat devel provides
Provides: java-gcj-compat-devel = 1.0.79
Provides: java-1.4.2-gcj-compat-devel > 1.4.2.0-40jpp.111
Obsoletes: java-1.4.2-gcj-compat-devel <= 1.4.2.0-40jpp.111
%description -n java-%{javaver}-gcj-devel
This package installs directory structures, shell scripts and symbolic
links to simulate a JPackage-compatible development environment with
GCJ.
%package -n java-%{javaver}-gcj-src
Summary: Source files for libgcj
Group: Development/Libraries
Requires: java-%{javaver}-gcj = %{version}-%{release}
Requires: libgcj-src = %{version}
# post requires gij to retrieve gcc version
Requires(post): %{_bindir}/gij
# java-gcj-compat src provides
Provides: java-1.4.2-gcj-compat-src > 1.4.2.0-40jpp.111
Obsoletes: java-1.4.2-gcj-compat-src <= 1.4.2.0-40jpp.111
%description -n java-%{javaver}-gcj-src
This package installs a src.zip symbolic link that points to a
specific version of the libgcj sources.
%if ! %{bootstrap_java}
%package -n java-%{javaver}-gcj-javadoc
Summary: API documentation for libgcj
Group: Documentation
# require base package
Requires: java-%{javaver}-gcj = %{version}-%{release}
# standard JPackage javadoc provides
Provides: java-javadoc = %{version}-%{release}
Provides: java-%{javaver}-javadoc = %{version}-%{release}
# java-gcj-compat javadoc provides
Provides: java-1.4.2-gcj-compat-javadoc > 1.4.2.0-40jpp.111
Obsoletes: java-1.4.2-gcj-compat-javadoc <= 1.4.2.0-40jpp.111
Obsoletes: gnu-crypto-javadoc <= 2.1.0-2jpp.1
%description -n java-%{javaver}-gcj-javadoc
This package installs Javadoc API documentation for libgcj.
%endif
%package -n cpp
Summary: The C Preprocessor
Group: Development/Languages
@ -441,6 +629,7 @@ which are required to compile with the GNAT.
%patch27 -p0 -b .power7-2~
%patch28 -p0 -b .pr38757~
#%patch30 -p0 -b .pr39543~
%patch31 -p0 -b .libjava-i386~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@ -567,6 +756,7 @@ case "$OPT_FLAGS" in
../gcc/Makefile.in
;;
esac
CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
GCJFLAGS="$OPT_FLAGS" \
../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
@ -582,8 +772,11 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
--disable-libgcj \
%else
--enable-java-awt=gtk --disable-dssi --enable-plugin \
--with-java-home=%{_prefix}/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre \
--enable-libgcj-multifile \
--with-java-home=%{_prefix}/lib/jvm/%{javadirname}/jre \
--enable-libgcj-multifile --enable-java-home --enable-aot-compile-rpm \
--with-jvm-root-dir=\${prefix}/lib/jvm/%{javadirname} \
--with-jvm-jar-dir=\${prefix}/lib/jvm-exports/%{javadirname} \
--with-python-dir=%{python_sitelib} \
%if !%{bootstrap_java}
--enable-java-maintainer-mode \
%endif
@ -1112,6 +1305,126 @@ chmod 755 $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version} \
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
touch $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
# versionless symbolic links
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
# create relevant links in jre lib dir for backwards compatibility
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib
for jarname in jaas jce jdbc-stdext jndi jndi-cos jndi-dns \
jndi-ldap jndi-rmi jsse sasl; do
ln -sf rt.jar $jarname.jar;
done
popd
# security directory and provider list
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
RELATIVE=$(%{abs2rel} %{_prefix}/%{_lib}/security \
%{_jvmdir}/%{jredir}/lib/security)
ln -sf $RELATIVE/classpath.security java.security
popd
# default security providers, provided by libgcj
install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/java/security/security.d
for provider in \
1000-gnu.java.security.provider.Gnu \
1001-gnu.javax.crypto.jce.GnuCrypto \
1002-gnu.javax.crypto.jce.GnuSasl \
1003-gnu.javax.net.ssl.provider.Jessie \
1004-gnu.javax.security.auth.callback.GnuCallbacks
do
cat > $RPM_BUILD_ROOT%{_sysconfdir}/java/security/security.d/$provider << EOF
# This file's contents are ignored. Its name, of the form
# <priority>-<provider name>, is used by post and postun scripts to
# rebuild the list of security providers in libgcj's
# classpath.security file.
EOF
done
# cacerts
%{__perl} %{SOURCE5}
install -m 644 cacerts $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security
# classmap database directory
install -dm 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj
# set up ecj link
RELATIVE=$(%{abs2rel} %{_prefix}/bin %{_jvmdir}/%{sdkdir}/bin)
ln -sf \
$RELATIVE/ecj \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin/javac
# source zip
RELATIVE=$(%{abs2rel} %{_javadir} %{_jvmdir}/%{sdkdir})
ln -s \
$RELATIVE/src-%{version}.zip \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/src.zip
#use fastjar instead of gjar
RELATIVE=$(%{abs2rel} %{_prefix}/bin %{_jvmdir}/%{sdkdir}/bin)
ln -sf \
$RELATIVE/fastjar \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin/jar
# use sinjdoc if not bootstrapping
%if ! %{bootstrap_java}
ln -sf \
$RELATIVE/sinjdoc \
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/bin/javadoc
%endif
# arch dir for x86_64 should be x86_64, with amd64 being a link (to keep the
# package backwards compatible)
%ifarch x86_64
if [ -d $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/amd64 ]; then
mv $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/amd64 \
$RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/x86_64
ln -s x86_64 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/amd64
fi
%endif
%if ! %{bootstrap_java}
# build and install API documentation
install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/java-%{javaver}-gcj
pushd $RPM_BUILD_ROOT%{_javadocdir}
ln -s java-%{javaver}-gcj java
popd
rm -rf docsbuild
mkdir docsbuild
pushd docsbuild
echo ==== CHECK ZIP ====
unzip -tq $RPM_BUILD_ROOT/usr/share/java/src-%{version}.zip || :
echo ==== END CHECK ZIP ====
if unzip -tq /usr/share/java/src-%{version}.zip
then
fastjar xvf /usr/share/java/src-%{version}.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 %{_jvmdir}/java-openjdk/bin/javadoc -quiet \
-d $RPM_BUILD_ROOT%{_javadocdir}/%{name} \
-encoding UTF-8 -breakiterator \
-linksource -splitindex -doctitle "GNU libgcj %{version}" \
-windowtitle "GNU libgcj %{version} Documentation"
else
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=404981
touch $RPM_BUILD_ROOT%{_javadocdir}/%{name}/package-list
fi
popd
%endif
%endif
install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/protoize.1
@ -1209,6 +1522,128 @@ fi
%postun -n libgcj -p /sbin/ldconfig
%post -n java-%{javaver}-gcj
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
alternatives \
--install %{_jvmdir}/jre-%{origin} \
jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
--slave %{_jvmjardir}/jre-%{origin} \
jre_%{origin}_exports %{_jvmjardir}/%{jrelnk}
alternatives \
--install %{_jvmdir}/jre-%{javaver} \
jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
--slave %{_jvmjardir}/jre-%{javaver} \
jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
alternatives --install %{_javadir}/jaxp_parser_impl.jar \
jaxp_parser_impl %{_javadir}/libgcj-%{version}.jar 20
{
# Rebuild the list of security providers in classpath.security.
# This used to be a standalone script, rebuild-security-providers,
# provided by the Fedora version of jpackage-utils. Now it is
# inlined here and removed from Fedora's jpackage-utils for
# compatibility with jpackage.org's jpackage-utils. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=260161
suffix=security/classpath.security
secfiles="/usr/lib/$suffix /usr/lib64/$suffix"
for secfile in $secfiles
do
# check if this classpath.security file exists
[ -f "$secfile" ] || continue
sed -i '/^security\.provider\./d' "$secfile"
count=0
for provider in $(ls /etc/java/security/security.d)
do
count=$((count + 1))
echo "security.provider.${count}=${provider#*-}" >> "$secfile"
done
done
} || :
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%postun -n java-%{javaver}-gcj
if [ $1 -eq 0 ]
then
alternatives --remove java %{jrebindir}/java
alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk}
alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk}
alternatives --remove jaxp_parser_impl \
%{_javadir}/libgcj-%{version}.jar
fi
{
# Rebuild the list of security providers in classpath.security
suffix=security/classpath.security
secfiles="/usr/lib/$suffix /usr/lib64/$suffix"
for secfile in $secfiles
do
# check if this classpath.security file exists
[ -f "$secfile" ] || continue
sed -i '/^security\.provider\./d' "$secfile"
count=0
for provider in $(ls /etc/java/security/security.d)
do
count=$((count + 1))
echo "security.provider.${count}=${provider#*-}" >> "$secfile"
done
done
} || :
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%post -n java-%{javaver}-gcj-devel
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}/javadoc javadoc %{sdkbindir}/javadoc \
--slave %{_bindir}/javah javah %{sdkbindir}/javah \
--slave %{_bindir}/jar jar %{sdkbindir}/jar \
--slave %{_bindir}/jarsigner jarsigner %{sdkbindir}/jarsigner \
--slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
--slave %{_bindir}/rmic rmic %{sdkbindir}/rmic
alternatives \
--install %{_jvmdir}/java-%{origin} \
java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \
--slave %{_jvmjardir}/java-%{origin} \
java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk}
alternatives \
--install %{_jvmdir}/java-%{javaver} \
java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
--slave %{_jvmjardir}/java-%{javaver} \
java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
%postun -n java-%{javaver}-gcj-devel
if [ $1 -eq 0 ]
then
alternatives --remove javac %{sdkbindir}/javac
alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk}
alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk}
fi
%post -n libgfortran -p /sbin/ldconfig
%postun -n libgfortran -p /sbin/ldconfig
@ -1658,6 +2093,137 @@ fi
%dir %{_prefix}/share/java
%{_prefix}/share/java/src*.zip
%{_prefix}/share/java/libgcj-tools-%{version}.jar
%files -n java-%{javaver}-gcj
%defattr(-,root,root,-)
%dir %{_jvmdir}/%{sdkdir}
%dir %{_jvmdir}/%{jredir}
%dir %{_jvmdir}/%{jredir}/bin
%dir %{_jvmdir}/%{jredir}/lib
%dir %{_jvmdir}/%{jredir}/lib/%{_arch}
%dir %{_jvmdir}/%{jredir}/lib/%{_arch}/client
%dir %{_jvmdir}/%{jredir}/lib/%{_arch}/server
%dir %{_jvmdir}/%{jredir}/lib/security
%dir %{jvmjardir}
%dir %{_prefix}/%{_lib}/gcj
%{_bindir}/rebuild-gcj-db
%{_jvmdir}/%{jredir}/bin/java
%{_jvmdir}/%{jredir}/bin/keytool
%{_jvmdir}/%{jredir}/bin/rmiregistry
%{_jvmdir}/%{jredir}/bin/orbd
%{_jvmdir}/%{jredir}/bin/rmid
%{_jvmdir}/%{jredir}/bin/tnameserv
%{_jvmdir}/%{jredir}/lib/security/cacerts
%{_jvmdir}/%{jredir}/lib/security/java.security
%{_jvmdir}/%{jredir}/lib/jaas.jar
%{_jvmdir}/%{jredir}/lib/jce.jar
%{_jvmdir}/%{jredir}/lib/jdbc-stdext.jar
%{_jvmdir}/%{jredir}/lib/jndi-cos.jar
%{_jvmdir}/%{jredir}/lib/jndi-dns.jar
%{_jvmdir}/%{jredir}/lib/jndi-ldap.jar
%{_jvmdir}/%{jredir}/lib/jndi-rmi.jar
%{_jvmdir}/%{jredir}/lib/jndi.jar
%{_jvmdir}/%{jredir}/lib/jsse.jar
%{_jvmdir}/%{jredir}/lib/sasl.jar
%ifarch x86_64
%{_jvmdir}/%{jredir}/lib/amd64
%endif
%{_jvmdir}/%{jrelnk}
%{jvmjardir}/jaas.jar
%{jvmjardir}/jaas-%{javaver}.jar
%{jvmjardir}/jaas-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jce.jar
%{jvmjardir}/jce-%{javaver}.jar
%{jvmjardir}/jce-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jdbc-stdext.jar
%{jvmjardir}/jdbc-stdext-%{javaver}.jar
%{jvmjardir}/jdbc-stdext-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jndi.jar
%{jvmjardir}/jndi-%{javaver}.jar
%{jvmjardir}/jndi-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jndi-cos.jar
%{jvmjardir}/jndi-cos-%{javaver}.jar
%{jvmjardir}/jndi-cos-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jndi-dns.jar
%{jvmjardir}/jndi-dns-%{javaver}.jar
%{jvmjardir}/jndi-dns-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jndi-ldap.jar
%{jvmjardir}/jndi-ldap-%{javaver}.jar
%{jvmjardir}/jndi-ldap-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jndi-rmi.jar
%{jvmjardir}/jndi-rmi-%{javaver}.jar
%{jvmjardir}/jndi-rmi-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/jsse.jar
%{jvmjardir}/jsse-%{javaver}.jar
%{jvmjardir}/jsse-%{javaver}.%{javabuildver}.jar
%{jvmjardir}/sasl.jar
%{jvmjardir}/sasl-%{javaver}.jar
%{jvmjardir}/sasl-%{javaver}.%{javabuildver}.jar
%{_jvmjardir}/%{jrelnk}
%{_jvmdir}/%{sdkdir}/jre/lib/rt.jar
%{_jvmdir}/%{jredir}/lib/%{_arch}/libjawt.so
%{_jvmdir}/%{jredir}/lib/%{_arch}/client/libjvm.so
%{_jvmdir}/%{jredir}/lib/%{_arch}/server/libjvm.so
# These must not be marked %config(noreplace). Their file names are
# used in post and postun. Their contents are ignored, so replacing
# them doesn't matter. .rpmnew files are harmful since they're
# interpreted by post and postun as classnames ending in rpmnew.
%{_sysconfdir}/java/security/security.d/1000-gnu.java.security.provider.Gnu
%{_sysconfdir}/java/security/security.d/1001-gnu.javax.crypto.jce.GnuCrypto
%{_sysconfdir}/java/security/security.d/1002-gnu.javax.crypto.jce.GnuSasl
%{_sysconfdir}/java/security/security.d/1003-gnu.javax.net.ssl.provider.Jessie
%{_sysconfdir}/java/security/security.d/1004-gnu.javax.security.auth.callback.GnuCallbacks
%files -n java-%{javaver}-gcj-devel
%defattr(-,root,root,-)
%dir %{_jvmdir}/%{sdkdir}/bin
%dir %{_jvmdir}/%{sdkdir}/include
%dir %{_jvmdir}/%{sdkdir}/include/linux
%dir %{_jvmdir}/%{sdkdir}/lib
%{_bindir}/aot-compile
%{_bindir}/aot-compile-rpm
%{_prefix}/%{python_sitelib}/aotcompile.py*
%{_prefix}/%{python_sitelib}/classfile.py*
%{_jvmdir}/%{sdkdir}/bin/appletviewer
%{_jvmdir}/%{sdkdir}/bin/jar
%{_jvmdir}/%{sdkdir}/bin/jarsigner
%{_jvmdir}/%{sdkdir}/bin/java
%{_jvmdir}/%{sdkdir}/bin/javac
%{_jvmdir}/%{sdkdir}/bin/javadoc
%{_jvmdir}/%{sdkdir}/bin/javah
%{_jvmdir}/%{sdkdir}/bin/keytool
%{_jvmdir}/%{sdkdir}/bin/native2ascii
%{_jvmdir}/%{sdkdir}/bin/orbd
%{_jvmdir}/%{sdkdir}/bin/rmic
%{_jvmdir}/%{sdkdir}/bin/rmid
%{_jvmdir}/%{sdkdir}/bin/rmiregistry
%{_jvmdir}/%{sdkdir}/bin/serialver
%{_jvmdir}/%{sdkdir}/bin/tnameserv
%{_jvmdir}/%{sdklnk}
%{_jvmjardir}/%{sdklnk}
%{_jvmdir}/%{sdkdir}/include/jawt.h
%{_jvmdir}/%{sdkdir}/include/jni.h
%{_jvmdir}/%{sdkdir}/include/linux/jawt_md.h
%{_jvmdir}/%{sdkdir}/include/linux/jni_md.h
%{_jvmdir}/%{sdkdir}/lib/tools.jar
%files -n java-%{javaver}-gcj-src
%defattr(-,root,root,-)
%{_jvmdir}/%{sdkdir}/src.zip
%if ! %{bootstrap_java}
%files -n java-%{javaver}-gcj-javadoc
%defattr(-,root,root,-)
%doc %{_javadocdir}/java-%{javaver}-gcj
# A JPackage that "provides" this directory will, in its %post script,
# remove the existing directory and install a new symbolic link to its
# versioned directory. For Fedora we want clear file ownership so we
# make java-1.5.0-gcj-javadoc own this file. Installing the
# corresponding JPackage over java-1.5.0-gcj-javadoc will work but
# will invalidate this file.
%doc %{_javadocdir}/java
%endif
%endif
%if %{build_ada}
@ -1751,6 +2317,9 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
* Fri Apr 10 2009 Deepak Bhole <dbhole@redhat.com> 4.4.0-0.33
- create new java-1.5.0-gcj* packages to install JPackage compliant links
* Thu Apr 9 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-0.32
- update from gcc-4_4-branch
- PRs c++/34691, c++/35146, c++/35240, c++/37806, c++/38030, c++/38850,

24
gcc44-libjava-i386.patch Normal file
View File

@ -0,0 +1,24 @@
diff -up ./libjava/configure.ac.sav ./libjava/configure.ac
--- ./libjava/configure.ac.sav 2009-04-03 14:56:35.000000000 -0400
+++ ./libjava/configure.ac 2009-04-03 14:56:50.000000000 -0400
@@ -1881,7 +1881,7 @@ then
case ${host} in
*-mingw* | *-cygwin*)
host_cpu=x86;;
- i486-* | i586-* | i686-*)
+ i386-* | i486-* | i586-* | i686-*)
host_cpu=i386;;
x86_64-*)
host_cpu=amd64;;
diff -up ./libjava/configure.sav ./libjava/configure
--- ./libjava/configure.sav 2009-04-03 14:56:27.000000000 -0400
+++ ./libjava/configure 2009-04-03 15:02:55.000000000 -0400
@@ -28285,7 +28285,7 @@ echo "${ECHO_T}host is ${host}" >&6
case ${host} in
*-mingw* | *-cygwin*)
host_cpu=x86;;
- i486-* | i586-* | i686-*)
+ i386-* | i486-* | i586-* | i686-*)
host_cpu=i386;;
x86_64-*)
host_cpu=amd64;;

105
generate-cacerts.pl Normal file
View File

@ -0,0 +1,105 @@
#!/usr/bin/perl
# Copyright (C) 2007 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# generate-cacerts.pl generates a gkeytool keystore named 'cacerts'
# from OpenSSL's certificate bundle.
# First extract each of OpenSSL's bundled certificates into its own
# aliased filename.
$file = "/etc/pki/tls/cert.pem";
open(CERTS, $file);
@certs = <CERTS>;
close(CERTS);
$pem_file_number = 0;
$writing_cert = 0;
foreach $cert (@certs)
{
if ($cert eq "-----BEGIN CERTIFICATE-----\n")
{
if ($writing_cert != 0)
{
die "$file is malformed.";
}
$pem_file_number++;
# Numbering each file guarantees that cert aliases will be
# unique.
$pem_file_name = "$pem_file_number$cert_alias.pem";
$writing_cert = 1;
open(PEM, ">$pem_file_name");
print PEM $cert;
}
elsif ($cert eq "-----END CERTIFICATE-----\n")
{
$writing_cert = 0;
print PEM $cert;
close(PEM);
}
elsif ($cert =~ /Issuer: /)
{
# Generate an alias using the OU and CN attributes of the
# Issuer field if both are present, otherwise use only the CN
# attribute. The Issuer field must have either the OU or the
# CN attribute.
$_ = $cert;
if ($cert =~ /OU=/)
{
s/Issuer:.*?OU=//;
# Remove other occurrences of OU=.
s/OU=.*CN=//;
# Remove CN= if there were not other occurrences of OU=.
s/CN=//;
}
elsif ($cert =~ /CN=/)
{
s/Issuer:.*CN=//;
}
s/\W//g;
tr/A-Z/a-z/;
$cert_alias = $_
}
else
{
if ($writing_cert == 1)
{
print PEM $cert;
}
}
}
# Check that the correct number of .pem files were produced.
@pem_files = <*.pem>;
if (@pem_files != $pem_file_number)
{
die "Number of .pem files produced does not match".
" number of certs read from $file.";
}
# Now store each cert in the 'cacerts' file using gkeytool.
$certs_written_count = 0;
foreach $pem_file (@pem_files)
{
system "yes | gkeytool -import -alias `basename $pem_file .pem`".
" -keystore cacerts -storepass '' -file $pem_file".
" 2>&1 >/dev/null";
unlink($pem_file);
$certs_written_count++;
}
# Check that the correct number of certs were added to the keystore.
if ($certs_written_count != $pem_file_number)
{
die "Number of certs added to keystore does not match".
" number of certs read from $file.";
}