3 |
# If debug is 1, OpenJDK is built with all debug info present. |
# If debug is 1, OpenJDK is built with all debug info present. |
4 |
%global debug 0 |
%global debug 0 |
5 |
|
|
6 |
%global icedtea_version 2.4.4 |
%global icedtea_version 2.4.7 |
|
%global icedtea_version_arm32 2.3.13 |
|
7 |
%global hg_tag icedtea-{icedtea_version} |
%global hg_tag icedtea-{icedtea_version} |
8 |
|
|
9 |
%global aarch64 aarch64 arm64 armv8 |
%global aarch64 aarch64 arm64 armv8 |
103 |
|
|
104 |
# Standard JPackage naming and versioning defines. |
# Standard JPackage naming and versioning defines. |
105 |
%global origin openjdk |
%global origin openjdk |
106 |
%global updatever 45 |
%global updatever 55 |
107 |
#Mageia have an bogus 60 instead of updatever. Fix when updatever>=60 in version: |
#Mageia have an bogus 60 instead of updatever. Fix when updatever>=60 in version: |
108 |
%global buildver 15 |
%global buildver 13 |
109 |
# Keep priority on 6digits in case updatever>9 |
# Keep priority on 6digits in case updatever>9 |
110 |
%global priority 1700%{updatever} |
%global priority 1700%{updatever} |
111 |
%global javaver 1.7.0 |
%global javaver 1.7.0 |
149 |
|
|
150 |
Name: java-%{javaver}-%{origin} |
Name: java-%{javaver}-%{origin} |
151 |
Version: %{javaver}.60 |
Version: %{javaver}.60 |
152 |
Release: %mkrel %{icedtea_version}.4 |
Release: %mkrel %{icedtea_version}.1 |
153 |
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, |
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, |
154 |
# and this change was brought into RHEL-4. java-1.5.0-ibm packages |
# and this change was brought into RHEL-4. java-1.5.0-ibm packages |
155 |
# also included the epoch in their virtual provides. This created a |
# also included the epoch in their virtual provides. This created a |
181 |
# sh /git/java-1.7.0-openjdk/fX/fsg.sh |
# sh /git/java-1.7.0-openjdk/fX/fsg.sh |
182 |
# tar cJf openjdk-icedtea-%{icedtea_version}.tar.xz openjdk |
# tar cJf openjdk-icedtea-%{icedtea_version}.tar.xz openjdk |
183 |
Source0: openjdk-icedtea-%{icedtea_version}.tar.xz |
Source0: openjdk-icedtea-%{icedtea_version}.tar.xz |
|
#for arm is used icedtea7-forest-2.3 and fsg.sh is not run |
|
|
Source100: openjdk-icedtea-%{icedtea_version_arm32}.tar.xz |
|
184 |
|
|
185 |
# README file |
# README file |
186 |
# This source is under maintainer's/java-team's control |
# This source is under maintainer's/java-team's control |
194 |
|
|
195 |
# Systemtap tapsets. Zipped up to keep it small. |
# Systemtap tapsets. Zipped up to keep it small. |
196 |
# last update from http://icedtea.classpath.org/hg/icedtea7/file/8599fdfc398d/tapset |
# last update from http://icedtea.classpath.org/hg/icedtea7/file/8599fdfc398d/tapset |
197 |
Source6: systemtap-tapset-2013-10-02.tar.gz |
Source6: systemtap-tapset-2014-03-19.tar.xz |
198 |
|
|
199 |
# .desktop files. |
# .desktop files. |
200 |
Source7: policytool.desktop |
Source7: policytool.desktop |
215 |
Source1111: fsg.sh |
Source1111: fsg.sh |
216 |
|
|
217 |
# Ensure we aren't using the limited crypto policy |
# Ensure we aren't using the limited crypto policy |
218 |
Source11: TestCryptoLevel.java |
Source12: TestCryptoLevel.java |
219 |
|
|
220 |
Source13: java-abrt-luncher |
Source13: java-abrt-luncher |
221 |
|
|
226 |
|
|
227 |
# Disable access to access-bridge packages by untrusted apps |
# Disable access to access-bridge packages by untrusted apps |
228 |
Patch3: java-1.7.0-openjdk-java-access-bridge-security.patch |
Patch3: java-1.7.0-openjdk-java-access-bridge-security.patch |
|
Patch30: java-1.7.0-openjdk-java-access-bridge-security-2.3.patch |
|
229 |
|
|
230 |
# Ignore AWTError when assistive technologies are loaded |
# Ignore AWTError when assistive technologies are loaded |
231 |
Patch4: java-1.7.0-openjdk-accessible-toolkit.patch |
Patch4: java-1.7.0-openjdk-accessible-toolkit.patch |
242 |
|
|
243 |
# Add rhino support |
# Add rhino support |
244 |
Patch100: rhino.patch |
Patch100: rhino.patch |
|
Patch1000: rhino-2.3.patch |
|
|
|
|
|
# Patch for PPC/PPC64 |
|
|
Patch104: %{name}-ppc-zero-jdk.patch |
|
|
Patch105: %{name}-ppc-zero-hotspot.patch |
|
245 |
|
|
246 |
Patch106: %{name}-freetype-check-fix.patch |
Patch106: %{name}-freetype-check-fix.patch |
247 |
|
|
261 |
# mixer |
# mixer |
262 |
Patch300: pulse-soundproperties.patch |
Patch300: pulse-soundproperties.patch |
263 |
|
|
264 |
# SystemTap support |
# Temporary patches |
|
# Workaround for RH613824 |
|
|
Patch302: systemtap.patch |
|
|
|
|
|
# |
|
|
# IcedTea 2.1.1/hs22 specific patches |
|
|
# |
|
265 |
|
|
|
#Workaround RH947731 |
|
|
Patch401: 657854-openjdk7.patch |
|
266 |
#Workaround RH902004 |
#Workaround RH902004 |
|
Patch402: gstackbounds.patch |
|
|
Patch4020: gstackbounds-2.3.patch |
|
267 |
Patch403: PStack-808293.patch |
Patch403: PStack-808293.patch |
268 |
# End of tmp patches |
# End of tmp patches |
269 |
|
|
284 |
BuildRequires: wget |
BuildRequires: wget |
285 |
BuildRequires: libxslt-devel |
BuildRequires: libxslt-devel |
286 |
BuildRequires: x11-proto-devel |
BuildRequires: x11-proto-devel |
|
BuildRequires: mercurial |
|
287 |
BuildRequires: ant |
BuildRequires: ant |
288 |
BuildRequires: libxinerama-devel |
BuildRequires: libxinerama-devel |
289 |
BuildRequires: libxrender-devel |
BuildRequires: libxrender-devel |
297 |
BuildRequires: pkgconfig >= 0.9.0 |
BuildRequires: pkgconfig >= 0.9.0 |
298 |
BuildRequires: pkgconfig(zlib) |
BuildRequires: pkgconfig(zlib) |
299 |
BuildRequires: xsltproc |
BuildRequires: xsltproc |
300 |
|
BuildRequires: nss-devel |
301 |
# PulseAudio build requirements. |
# PulseAudio build requirements. |
302 |
%if %{with_pulseaudio} |
%if %{with_pulseaudio} |
303 |
BuildRequires: pulseaudio-devel >= 0.9.11 |
BuildRequires: pulseaudio-devel >= 0.9.11 |
|
BuildRequires: pulseaudio >= 0.9.11 |
|
304 |
%endif |
%endif |
305 |
# Zero-assembler build requirement. |
# Zero-assembler build requirement. |
306 |
%ifnarch %{jit_arches} |
%ifnarch %{jit_arches} |
466 |
|
|
467 |
%prep |
%prep |
468 |
|
|
|
%ifarch %{arm} |
|
|
%setup -q -c -n %{uniquesuffix} -T -a 100 |
|
|
%else |
|
469 |
%setup -q -c -n %{uniquesuffix} -T -a 0 |
%setup -q -c -n %{uniquesuffix} -T -a 0 |
|
%endif |
|
470 |
cp %{SOURCE2} . |
cp %{SOURCE2} . |
471 |
|
|
472 |
# OpenJDK patches |
# OpenJDK patches |
473 |
|
|
|
%ifarch %{arm} |
|
|
%patch1000 |
|
|
%else |
|
474 |
%patch100 |
%patch100 |
|
%endif |
|
475 |
|
|
476 |
# pulseaudio support |
# pulseaudio support |
477 |
%if %{with_pulseaudio} |
%if %{with_pulseaudio} |
480 |
|
|
481 |
# Add systemtap patches if enabled |
# Add systemtap patches if enabled |
482 |
%if %{with_systemtap} |
%if %{with_systemtap} |
|
%ifarch %{arm} |
|
|
%patch302 |
|
|
%endif |
|
483 |
%endif |
%endif |
484 |
|
|
485 |
# Remove libraries that are linked |
# Remove libraries that are linked |
494 |
# Extract systemtap tapsets |
# Extract systemtap tapsets |
495 |
%if %{with_systemtap} |
%if %{with_systemtap} |
496 |
|
|
497 |
tar xzf %{SOURCE6} |
tar xJf %{SOURCE6} |
498 |
|
|
499 |
for file in tapset/*.in; do |
for file in tapset/*.in; do |
500 |
|
|
518 |
tar xzf %{SOURCE9} |
tar xzf %{SOURCE9} |
519 |
%endif |
%endif |
520 |
|
|
521 |
%ifarch %{arm} |
|
|
%patch30 |
|
|
%else |
|
522 |
%patch3 |
%patch3 |
|
%endif |
|
523 |
%patch4 |
%patch4 |
524 |
|
|
525 |
%if %{debug} |
%if %{debug} |
530 |
%patch106 |
%patch106 |
531 |
%patch200 |
%patch200 |
532 |
|
|
|
%ifarch ppc ppc64 |
|
|
# PPC fixes |
|
|
%patch104 |
|
|
%patch105 |
|
|
%endif |
|
|
|
|
|
%ifarch %{arm} |
|
|
%patch401 |
|
|
%endif |
|
|
|
|
|
%ifarch %{jit_arches} |
|
|
%ifarch %{arm} |
|
|
%patch4020 |
|
|
%else |
|
|
%patch402 |
|
|
%endif |
|
533 |
%patch403 |
%patch403 |
534 |
%endif |
|
535 |
|
|
536 |
%build |
%build |
537 |
# How many cpu's do we have? |
# How many cpu's do we have? |
551 |
export CFLAGS="$CFLAGS -mieee" |
export CFLAGS="$CFLAGS -mieee" |
552 |
%endif |
%endif |
553 |
|
|
554 |
|
export CFLAGS="$CFLAGS -fstack-protector-strong" |
555 |
|
|
556 |
# Build the re-written rhino jar |
# Build the re-written rhino jar |
557 |
mkdir -p rhino/{old,new} |
mkdir -p rhino/{old,new} |
558 |
|
|
607 |
umask $oldumask |
umask $oldumask |
608 |
|
|
609 |
make \ |
make \ |
|
%ifnarch %{arm} |
|
610 |
DISABLE_INTREE_EC=true \ |
DISABLE_INTREE_EC=true \ |
611 |
UNLIMITED_CRYPTO=true \ |
UNLIMITED_CRYPTO=true \ |
|
%endif |
|
612 |
ANT="/usr/bin/ant" \ |
ANT="/usr/bin/ant" \ |
613 |
DISTRO_NAME="Mageia" \ |
DISTRO_NAME="Mageia" \ |
614 |
%ifarch %{arm} |
DISTRO_PACKAGE_VERSION="mageia-%{release}-%{_arch} u%{updatever}-b%{buildver}" \ |
615 |
DISTRO_PACKAGE_VERSION="mageia-%{release}-%{_arch} u25-b33" \ |
JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \ |
616 |
JDK_UPDATE_VERSION="25" \ |
JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \ |
617 |
JDK_BUILD_NUMBER=b`printf "%02d" 33` \ |
JRE_RELEASE_VERSION=%{javaver}_`printf "%02d" %{updatever}`-b`printf "%02d" %{buildver}` \ |
|
%else |
|
|
DISTRO_PACKAGE_VERSION="mageia-%{release}-%{_arch} u%{updatever}-b%{buildver}" \ |
|
|
JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \ |
|
|
JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \ |
|
|
%endif |
|
618 |
MILESTONE="fcs" \ |
MILESTONE="fcs" \ |
619 |
|
ALT_PARALLEL_COMPILE_JOBS="$NUM_PROC" \ |
620 |
HOTSPOT_BUILD_JOBS="$NUM_PROC" \ |
HOTSPOT_BUILD_JOBS="$NUM_PROC" \ |
621 |
STATIC_CXX="false" \ |
STATIC_CXX="false" \ |
622 |
RHINO_JAR="$PWD/../rhino/rhino.jar" \ |
RHINO_JAR="$PWD/../rhino/rhino.jar" \ |
623 |
GENSRCDIR="$PWD/generated.build" \ |
GENSRCDIR="$PWD/generated.build" \ |
624 |
FT2_CFLAGS="-I/usr/include/freetype2 " \ |
FT2_CFLAGS="`pkg-config --cflags freetype2` " \ |
625 |
FT2_LIBS="-lfreetype " \ |
FT2_LIBS="`pkg-config --libs freetype2` " \ |
626 |
DEBUG_CLASSFILES="true" \ |
DEBUG_CLASSFILES="true" \ |
627 |
DEBUG_BINARIES="true" \ |
DEBUG_BINARIES="true" \ |
628 |
STRIP_POLICY="no_strip" \ |
STRIP_POLICY="no_strip" \ |
677 |
rm -f %{buildoutputdir}/lib/fontconfig*.properties.src |
rm -f %{buildoutputdir}/lib/fontconfig*.properties.src |
678 |
rm -f %{buildoutputdir}/lib/fontconfig*.bfc |
rm -f %{buildoutputdir}/lib/fontconfig*.bfc |
679 |
|
|
|
%ifnarch %{arm} |
|
680 |
# Check unlimited policy has been used |
# Check unlimited policy has been used |
681 |
$JAVA_HOME/bin/javac -d . %{SOURCE11} |
$JAVA_HOME/bin/javac -d . %{SOURCE12} |
682 |
$JAVA_HOME/bin/java TestCryptoLevel |
$JAVA_HOME/bin/java TestCryptoLevel |
683 |
%endif |
|
684 |
|
|
685 |
%install |
%install |
686 |
rm -rf $RPM_BUILD_ROOT |
rm -rf $RPM_BUILD_ROOT |
914 |
fi |
fi |
915 |
fi |
fi |
916 |
|
|
|
# Remove old alternatives |
|
|
for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do |
|
|
# Only grab what %{origin} installed |
|
|
echo $alt | grep -q "$ID" |
|
|
if [ $? -eq 0 ]; then |
|
|
alternatives --remove $COMMAND $alt >& /dev/null || : |
|
|
fi |
|
|
done |
|
917 |
|
|
918 |
ext=%_extension |
ext=%{_extension} |
919 |
alternatives \ |
alternatives \ |
920 |
--install %{_bindir}/java java %{jrebindir}/java %{priority} \ |
--install %{_bindir}/java java %{jrebindir}/java %{priority} \ |
921 |
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \ |
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \ |
969 |
fi |
fi |
970 |
fi |
fi |
971 |
|
|
|
# Remove old alternatives |
|
|
for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do |
|
|
# Only grab what %{origin} installed |
|
|
echo $alt | grep -q "$ID" |
|
|
if [ $? -eq 0 ]; then |
|
|
alternatives --remove $COMMAND $alt >& /dev/null || : |
|
|
fi |
|
|
done |
|
|
|
|
972 |
alternatives \ |
alternatives \ |
973 |
--install %{_jvmdir}/jre-"$X" \ |
--install %{_jvmdir}/jre-"$X" \ |
974 |
jre_"$X" %{_jvmdir}/%{jredir} %{priority} \ |
jre_"$X" %{_jvmdir}/%{jredir} %{priority} \ |
986 |
done |
done |
987 |
|
|
988 |
|
|
|
#we need to remove old alternatives with "_" typo //should live to f21:( |
|
|
ID="%{_jvmdir}/\(\(jre\)\|\(java\)\)-%{javaver}-%{origin}" |
|
|
COMMAND=jre_%{javaver}_%{origin} |
|
|
for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do |
|
|
echo $alt | grep -q "$ID" |
|
|
if [ $? -eq 0 ]; then |
|
|
alternatives --remove $COMMAND $alt >& /dev/null || : |
|
|
fi |
|
|
done |
|
|
# the old should be removed, so we can install new :( |
|
989 |
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ |
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ |
990 |
--slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir} |
--slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir} |
991 |
exit 0 |
exit 0 |
1011 |
fi |
fi |
1012 |
fi |
fi |
1013 |
|
|
1014 |
# Remove old alternatives |
ext=%{_extension} |
|
for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do |
|
|
# Only grab what %{origin} installed |
|
|
echo $alt | grep -q "$ID" |
|
|
if [ $? -eq 0 ]; then |
|
|
alternatives --remove $COMMAND $alt >& /dev/null || : |
|
|
fi |
|
|
done |
|
|
|
|
|
ext=%_extension |
|
1015 |
alternatives \ |
alternatives \ |
1016 |
--install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ |
--install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ |
1017 |
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \ |
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \ |
1124 |
fi |
fi |
1125 |
fi |
fi |
1126 |
|
|
|
# Remove old alternatives |
|
|
for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do |
|
|
# Only grab what %{origin} installed |
|
|
echo $alt | grep -q "$ID" |
|
|
if [ $? -eq 0 ]; then |
|
|
alternatives --remove $COMMAND $alt >& /dev/null || : |
|
|
fi |
|
|
done |
|
|
|
|
1127 |
alternatives \ |
alternatives \ |
1128 |
--install %{_jvmdir}/java-"$X" \ |
--install %{_jvmdir}/java-"$X" \ |
1129 |
java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \ |
java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \ |
1210 |
%{jvmjardir} |
%{jvmjardir} |
1211 |
%dir %{_jvmdir}/%{jredir}/lib/security |
%dir %{_jvmdir}/%{jredir}/lib/security |
1212 |
%{_jvmdir}/%{jredir}/lib/security/cacerts |
%{_jvmdir}/%{jredir}/lib/security/cacerts |
|
%ifnarch %{arm} |
|
1213 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar |
1214 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/local_policy.jar |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/local_policy.jar |
|
%endif |
|
1215 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy |
1216 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security |
1217 |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties |
%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties |