Blame java-1.8.0-openjdk-aarch32.spec

74b02f5
# note, parametrised macros are order-senisitve (unlike not-parametrized) even with normal macros
74b02f5
# also necessary when passing it as parameter other macros. If not macro, then it is considered as switch
74b02f5
%global debug_suffix_unquoted -debug
74b02f5
# quoted one for shell operations
74b02f5
%global debug_suffix "%{debug_suffix_unquoted}"
74b02f5
%global normal_suffix ""
74b02f5
74b02f5
#if you wont only debug build, but providing java, build only normal build, but  set normalbuild_parameter
74b02f5
%global debugbuild_parameter  slowdebug
74b02f5
%global normalbuild_parameter release
74b02f5
%global debug_warning This package have full debug on. Install only in need, and remove asap.
74b02f5
%global debug_on with full debug on
74b02f5
%global for_debug for packages with debug on
74b02f5
74b02f5
# by default we build normal build always.
74b02f5
%global include_normal_build 1
74b02f5
%if %{include_normal_build}
74b02f5
%global build_loop1 %{normal_suffix}
74b02f5
%else
74b02f5
%global build_loop1 %{nil}
74b02f5
%endif
74b02f5
74b02f5
# by default we build debug build during main build only on intel arches
74b02f5
%ifarch %{ix86} x86_64
74b02f5
%global include_debug_build 1
74b02f5
%else
74b02f5
%global include_debug_build 0
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%global build_loop2 %{debug_suffix}
74b02f5
%else
74b02f5
%global build_loop2 %{nil}
74b02f5
%endif
74b02f5
74b02f5
# if you disable both builds, then build fails
74b02f5
%global build_loop  %{build_loop1} %{build_loop2}
74b02f5
# note, that order  normal_suffix debug_suffix, in case of both enabled,
74b02f5
# is expected in one single case at the end of build
74b02f5
%global rev_build_loop  %{build_loop2} %{build_loop1}
74b02f5
74b02f5
%global bootstrap_build 1
74b02f5
74b02f5
%if %{bootstrap_build}
74b02f5
%global targets bootcycle-images docs
74b02f5
%else
74b02f5
%global targets all
74b02f5
%endif
74b02f5
74b02f5
%global aarch64         aarch64 arm64 armv8
74b02f5
# sometimes we need to distinguish big and little endian PPC64
74b02f5
%global ppc64le         ppc64le
74b02f5
%global ppc64be         ppc64 ppc64p7
74b02f5
%global multilib_arches %{power64} sparc64 x86_64
74b02f5
%global jit_arches      %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64}
74b02f5
74b02f5
%ifnarch %{jit_arches}
74b02f5
# Disable hardened build on non-jit arches. Work-around for RHBZ#1290936.
74b02f5
%undefine _hardened_build
74b02f5
%global ourcppflags %{nil}
74b02f5
%global ourldflags %{nil}
74b02f5
%else
74b02f5
%ifarch %{aarch64}
74b02f5
# Disable hardened build on AArch64 as it didn't bootcycle
74b02f5
%undefine _hardened_build
74b02f5
%global ourcppflags "-fstack-protector-strong"
74b02f5
%global ourldflags %{nil}
74b02f5
%else
74b02f5
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
74b02f5
# We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
74b02f5
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
74b02f5
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
74b02f5
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
74b02f5
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
74b02f5
%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
74b02f5
%global ourldflags %{__global_ldflags}
74b02f5
%endif
74b02f5
%endif
74b02f5
74b02f5
# With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
74b02f5
# the initialisation must be here. LAter the pkg-connfig have bugy behaviour
74b02f5
#looks liekopenjdk RPM specific bug
74b02f5
# Always set this so the nss.cfg file is not broken
74b02f5
%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
74b02f5
%global NSS_LIBS %(pkg-config --libs nss)
74b02f5
%global NSS_CFLAGS %(pkg-config --cflags nss-softokn)
akashche 02bc7e2
# see https://bugzilla.redhat.com/show_bug.cgi?id=1332456
akashche 02bc7e2
%global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : )
akashche 02bc7e2
%global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : )
akashche 02bc7e2
#this is worakround for processing of requires during srpm creation
akashche 02bc7e2
%global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi)
akashche 02bc7e2
%global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi)
74b02f5
74b02f5
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
74b02f5
%global _privatelibs libmawt[.]so.*
74b02f5
%global __provides_exclude ^(%{_privatelibs})$
74b02f5
%global __requires_exclude ^(%{_privatelibs})$
74b02f5
74b02f5
%ifarch x86_64
74b02f5
%global archinstall amd64
74b02f5
%endif
74b02f5
%ifarch ppc
74b02f5
%global archinstall ppc
74b02f5
%endif
74b02f5
%ifarch %{ppc64be}
74b02f5
%global archinstall ppc64
74b02f5
%endif
74b02f5
%ifarch %{ppc64le}
74b02f5
%global archinstall ppc64le
74b02f5
%endif
74b02f5
%ifarch %{ix86}
74b02f5
%global archinstall i386
74b02f5
%endif
74b02f5
%ifarch ia64
74b02f5
%global archinstall ia64
74b02f5
%endif
74b02f5
%ifarch s390
74b02f5
%global archinstall s390
74b02f5
%endif
74b02f5
%ifarch s390x
74b02f5
%global archinstall s390x
74b02f5
%endif
74b02f5
%ifarch %{arm}
74b02f5
%global archinstall arm
74b02f5
%endif
74b02f5
%ifarch %{aarch64}
74b02f5
%global archinstall aarch64
74b02f5
%endif
74b02f5
# 32 bit sparc, optimized for v9
74b02f5
%ifarch sparcv9
74b02f5
%global archinstall sparc
74b02f5
%endif
74b02f5
# 64 bit sparc
74b02f5
%ifarch sparc64
74b02f5
%global archinstall sparcv9
74b02f5
%endif
74b02f5
%ifnarch %{jit_arches}
74b02f5
%global archinstall %{_arch}
74b02f5
%endif
74b02f5
74b02f5
74b02f5
74b02f5
%ifarch %{jit_arches}
74b02f5
%global with_systemtap 1
74b02f5
%else
74b02f5
%global with_systemtap 0
74b02f5
%endif
74b02f5
74b02f5
# Convert an absolute path to a relative path.  Each symbolic link is
74b02f5
# specified relative to the directory in which it is installed so that
74b02f5
# it will resolve properly within chrooted installations.
74b02f5
%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
74b02f5
%global abs2rel %{__perl} -e %{script}
74b02f5
74b02f5
74b02f5
# Standard JPackage naming and versioning defines.
74b02f5
%global origin          openjdk
74b02f5
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
74b02f5
%global project         aarch32-port
74b02f5
%global repo            jdk8u
akashche 02bc7e2
%global revision        jdk8u102-b14-aarch32-160812
74b02f5
# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60  (dont forget spec escape % by %%)
74b02f5
%global whole_update    %(VERSION=%{revision}; echo ${VERSION%%-*})
74b02f5
# eg  jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
74b02f5
%global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u} | sed s/-.*//)
74b02f5
# eg jdk8u60-b27 -> b27
74b02f5
%global buildver        %(VERSION=%{revision}; echo ${VERSION##*-})
74b02f5
# priority must be 7 digits in total. The expression is workarounding tip
akashche 02bc7e2
%global priority        %(TIP=1800%{updatever};  echo ${TIP/tip/999})
74b02f5
74b02f5
%global javaver         1.8.0
74b02f5
74b02f5
# parametrized macros are order-sensitive
74b02f5
%global fullversion     %{name}-%{version}-%{release}
74b02f5
#images stub
74b02f5
%global j2sdkimage       j2sdk-image
74b02f5
# output dir stub
74b02f5
%global buildoutputdir() %{expand:openjdk/build/jdk8.build%1}
74b02f5
#we can copy the javadoc to not arched dir, or made it not noarch
74b02f5
%global uniquejavadocdir()    %{expand:%{fullversion}%1}
74b02f5
#main id and dir of this jdk
74b02f5
%global uniquesuffix()        %{expand:%{fullversion}.%{_arch}%1}
74b02f5
74b02f5
# Standard JPackage directories and symbolic links.
74b02f5
%global sdkdir()        %{expand:%{uniquesuffix %%1}}
74b02f5
%global jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%1}
74b02f5
74b02f5
%global jredir()        %{expand:%{sdkdir %%1}/jre}
74b02f5
%global sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir %%1}/bin}
74b02f5
%global jrebindir()     %{expand:%{_jvmdir}/%{jredir %%1}/bin}
74b02f5
%global jvmjardir()     %{expand:%{_jvmjardir}/%{uniquesuffix %%1}}
74b02f5
74b02f5
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
74b02f5
74b02f5
%if %{with_systemtap}
74b02f5
# Where to install systemtap tapset (links)
74b02f5
# We would like these to be in a package specific subdir,
74b02f5
# but currently systemtap doesn't support that, so we have to
74b02f5
# use the root tapset dir for now. To distinquish between 64
74b02f5
# and 32 bit architectures we place the tapsets under the arch
74b02f5
# specific dir (note that systemtap will only pickup the tapset
74b02f5
# for the primary arch for now). Systemtap uses the machine name
74b02f5
# aka build_cpu as architecture specific directory name.
74b02f5
%global tapsetroot /usr/share/systemtap
74b02f5
%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
74b02f5
%endif
74b02f5
74b02f5
# not-duplicated scriplets for normal/debug packages
74b02f5
%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
74b02f5
74b02f5
%global post_script() %{expand:
74b02f5
update-desktop-database %{_datadir}/applications &> /dev/null || :
74b02f5
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
74b02f5
%global post_headless() %{expand:
74b02f5
# FIXME: identical binaries are copied, not linked. This needs to be
74b02f5
# fixed upstream.
74b02f5
# The pretrans lua scriptlet prevents an unmodified java.security
74b02f5
# from being replaced via an update. It gets created as
74b02f5
# java.security.rpmnew instead. This invalidates the patch of
74b02f5
# JDK-8061210 of the January 2015 CPU, JDK-8043201 of the
74b02f5
# July 2015 CPU and JDK-8141287 of the January 2016 CPU. We
74b02f5
# fix this via a post scriptlet which runs on updates.
74b02f5
if [ "$1" -gt 1 ]; then
74b02f5
  javasecurity="%{_jvmdir}/%{uniquesuffix}/jre/lib/security/java.security"
74b02f5
  sum=$(md5sum "${javasecurity}" | cut -d' ' -f1)
74b02f5
  # This is the md5sum of an unmodified java.security file
74b02f5
  if [ "${sum}" = '1690ac33955594f71dc952c9e83fd396' -o \\
74b02f5
       "${sum}" = 'b138695d0c0ea947e64a21a627d973ba' -o \\
74b02f5
       "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \\
74b02f5
       "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \\
74b02f5
       "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' -o \\
74b02f5
       "${sum}" = '321342219bb130d238ff144b9e5dbfc1' ]; then
74b02f5
    if [ -f "${javasecurity}.rpmnew" ]; then
74b02f5
      mv -f "${javasecurity}.rpmnew" "${javasecurity}"
74b02f5
    fi
74b02f5
  fi
74b02f5
fi
74b02f5
74b02f5
%ifarch %{jit_arches}
74b02f5
# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
74b02f5
%ifnarch %{power64}
74b02f5
#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
74b02f5
%{jrebindir %%1}/java -Xshare:dump >/dev/null 2>/dev/null
74b02f5
%endif
74b02f5
%endif
74b02f5
74b02f5
PRIORITY=%{priority}
74b02f5
if [ "%1" == %{debug_suffix} ]; then
74b02f5
  let PRIORITY=PRIORITY-1
74b02f5
fi
74b02f5
74b02f5
ext=.gz
74b02f5
alternatives \\
74b02f5
  --install %{_bindir}/java java %{jrebindir %%1}/java $PRIORITY  --family %{name} \\
74b02f5
  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir %%1} \\
74b02f5
  --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk %%1} \\
74b02f5
  --slave %{_bindir}/jjs jjs %{jrebindir %%1}/jjs \\
74b02f5
  --slave %{_bindir}/keytool keytool %{jrebindir %%1}/keytool \\
74b02f5
  --slave %{_bindir}/orbd orbd %{jrebindir %%1}/orbd \\
74b02f5
  --slave %{_bindir}/pack200 pack200 %{jrebindir %%1}/pack200 \\
74b02f5
  --slave %{_bindir}/rmid rmid %{jrebindir %%1}/rmid \\
74b02f5
  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir %%1}/rmiregistry \\
74b02f5
  --slave %{_bindir}/servertool servertool %{jrebindir %%1}/servertool \\
74b02f5
  --slave %{_bindir}/tnameserv tnameserv %{jrebindir %%1}/tnameserv \\
74b02f5
  --slave %{_bindir}/policytool policytool %{jrebindir %%1}/policytool \\
74b02f5
  --slave %{_bindir}/unpack200 unpack200 %{jrebindir %%1}/unpack200 \\
74b02f5
  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
74b02f5
  %{_mandir}/man1/java-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
74b02f5
  %{_mandir}/man1/jjs-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
74b02f5
  %{_mandir}/man1/keytool-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \\
74b02f5
  %{_mandir}/man1/orbd-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
74b02f5
  %{_mandir}/man1/pack200-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
74b02f5
  %{_mandir}/man1/rmid-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
74b02f5
  %{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \\
74b02f5
  %{_mandir}/man1/servertool-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\
74b02f5
  %{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\
74b02f5
  %{_mandir}/man1/policytool-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
74b02f5
  %{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1$ext
74b02f5
74b02f5
for X in %{origin} %{javaver} ; do
74b02f5
  alternatives \\
74b02f5
    --install %{_jvmdir}/jre-"$X" \\
74b02f5
    jre_"$X" %{_jvmdir}/%{jredir %%1} $PRIORITY  --family %{name} \\
74b02f5
    --slave %{_jvmjardir}/jre-"$X" \\
74b02f5
    jre_"$X"_exports %{_jvmdir}/%{jredir %%1}
74b02f5
done
74b02f5
74b02f5
update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1} $PRIORITY  --family %{name} \\
74b02f5
--slave %{_jvmjardir}/jre-%{javaver}       jre_%{javaver}_%{origin}_exports      %{jvmjardir %%1}
74b02f5
74b02f5
update-desktop-database %{_datadir}/applications &> /dev/null || :
74b02f5
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
%global postun_script() %{expand:
74b02f5
update-desktop-database %{_datadir}/applications &> /dev/null || :
74b02f5
if [ $1 -eq 0 ] ; then
74b02f5
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
74b02f5
    %{update_desktop_icons}
74b02f5
fi
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
74b02f5
%global postun_headless() %{expand:
74b02f5
  alternatives --remove java %{jrebindir %%1}/java
74b02f5
  alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir %%1}
74b02f5
  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir %%1}
74b02f5
  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1}
74b02f5
}
74b02f5
74b02f5
%global posttrans_script() %{expand:
74b02f5
%{update_desktop_icons}
74b02f5
}
74b02f5
74b02f5
%global post_devel() %{expand:
74b02f5
74b02f5
PRIORITY=%{priority}
74b02f5
if [ "%1" == %{debug_suffix} ]; then
74b02f5
  let PRIORITY=PRIORITY-1
74b02f5
fi
74b02f5
74b02f5
ext=.gz
74b02f5
alternatives \\
74b02f5
  --install %{_bindir}/javac javac %{sdkbindir %%1}/javac $PRIORITY  --family %{name} \\
74b02f5
  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir %%1} \\
74b02f5
  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir %%1} \\
74b02f5
  --slave %{_bindir}/appletviewer appletviewer %{sdkbindir %%1}/appletviewer \\
74b02f5
  --slave %{_bindir}/extcheck extcheck %{sdkbindir %%1}/extcheck \\
74b02f5
  --slave %{_bindir}/idlj idlj %{sdkbindir %%1}/idlj \\
74b02f5
  --slave %{_bindir}/jar jar %{sdkbindir %%1}/jar \\
74b02f5
  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir %%1}/jarsigner \\
74b02f5
  --slave %{_bindir}/javadoc javadoc %{sdkbindir %%1}/javadoc \\
74b02f5
  --slave %{_bindir}/javah javah %{sdkbindir %%1}/javah \\
74b02f5
  --slave %{_bindir}/javap javap %{sdkbindir %%1}/javap \\
74b02f5
  --slave %{_bindir}/jcmd jcmd %{sdkbindir %%1}/jcmd \\
74b02f5
  --slave %{_bindir}/jconsole jconsole %{sdkbindir %%1}/jconsole \\
74b02f5
  --slave %{_bindir}/jdb jdb %{sdkbindir %%1}/jdb \\
74b02f5
  --slave %{_bindir}/jdeps jdeps %{sdkbindir %%1}/jdeps \\
74b02f5
  --slave %{_bindir}/jhat jhat %{sdkbindir %%1}/jhat \\
74b02f5
  --slave %{_bindir}/jinfo jinfo %{sdkbindir %%1}/jinfo \\
74b02f5
  --slave %{_bindir}/jmap jmap %{sdkbindir %%1}/jmap \\
74b02f5
  --slave %{_bindir}/jps jps %{sdkbindir %%1}/jps \\
74b02f5
  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir %%1}/jrunscript \\
74b02f5
  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir %%1}/jsadebugd \\
74b02f5
  --slave %{_bindir}/jstack jstack %{sdkbindir %%1}/jstack \\
74b02f5
  --slave %{_bindir}/jstat jstat %{sdkbindir %%1}/jstat \\
74b02f5
  --slave %{_bindir}/jstatd jstatd %{sdkbindir %%1}/jstatd \\
74b02f5
  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir %%1}/native2ascii \\
74b02f5
  --slave %{_bindir}/rmic rmic %{sdkbindir %%1}/rmic \\
74b02f5
  --slave %{_bindir}/schemagen schemagen %{sdkbindir %%1}/schemagen \\
74b02f5
  --slave %{_bindir}/serialver serialver %{sdkbindir %%1}/serialver \\
74b02f5
  --slave %{_bindir}/wsgen wsgen %{sdkbindir %%1}/wsgen \\
74b02f5
  --slave %{_bindir}/wsimport wsimport %{sdkbindir %%1}/wsimport \\
74b02f5
  --slave %{_bindir}/xjc xjc %{sdkbindir %%1}/xjc \\
74b02f5
  --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\
74b02f5
  %{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\
74b02f5
  %{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\
74b02f5
  %{_mandir}/man1/idlj-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
74b02f5
  %{_mandir}/man1/jar-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
74b02f5
  %{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
74b02f5
  %{_mandir}/man1/javac-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
74b02f5
  %{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \\
74b02f5
  %{_mandir}/man1/javah-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
74b02f5
  %{_mandir}/man1/javap-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
74b02f5
  %{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
74b02f5
  %{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
74b02f5
  %{_mandir}/man1/jdb-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
74b02f5
  %{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \\
74b02f5
  %{_mandir}/man1/jhat-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
74b02f5
  %{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
74b02f5
  %{_mandir}/man1/jmap-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
74b02f5
  %{_mandir}/man1/jps-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
74b02f5
  %{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \\
74b02f5
  %{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
74b02f5
  %{_mandir}/man1/jstack-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
74b02f5
  %{_mandir}/man1/jstat-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
74b02f5
  %{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \\
74b02f5
  %{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
74b02f5
  %{_mandir}/man1/rmic-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\
74b02f5
  %{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
74b02f5
  %{_mandir}/man1/serialver-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\
74b02f5
  %{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\
74b02f5
  %{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1$ext \\
74b02f5
  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\
74b02f5
  %{_mandir}/man1/xjc-%{uniquesuffix %%1}.1$ext
74b02f5
74b02f5
for X in %{origin} %{javaver} ; do
74b02f5
  alternatives \\
74b02f5
    --install %{_jvmdir}/java-"$X" \\
74b02f5
    java_sdk_"$X" %{_jvmdir}/%{sdkdir %%1} $PRIORITY  --family %{name} \\
74b02f5
    --slave %{_jvmjardir}/java-"$X" \\
74b02f5
    java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir %%1}
74b02f5
done
74b02f5
74b02f5
update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1} $PRIORITY  --family %{name} \\
74b02f5
--slave %{_jvmjardir}/java-%{javaver}-%{origin}       java_sdk_%{javaver}_%{origin}_exports      %{_jvmjardir}/%{sdkdir %%1}
74b02f5
74b02f5
update-desktop-database %{_datadir}/applications &> /dev/null || :
74b02f5
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
74b02f5
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
%global postun_devel() %{expand:
74b02f5
  alternatives --remove javac %{sdkbindir %%1}/javac
74b02f5
  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir %%1}
74b02f5
  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir %%1}
74b02f5
  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1}
74b02f5
74b02f5
update-desktop-database %{_datadir}/applications &> /dev/null || :
74b02f5
74b02f5
if [ $1 -eq 0 ] ; then
74b02f5
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
74b02f5
    %{update_desktop_icons}
74b02f5
fi
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
%global posttrans_devel() %{expand:
74b02f5
%{update_desktop_icons}
74b02f5
}
74b02f5
74b02f5
%global post_javadoc() %{expand:
74b02f5
74b02f5
PRIORITY=%{priority}
74b02f5
if [ "%1" == %{debug_suffix} ]; then
74b02f5
  let PRIORITY=PRIORITY-1
74b02f5
fi
74b02f5
74b02f5
alternatives \\
74b02f5
  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api \\
74b02f5
  $PRIORITY  --family %{name} 
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
%global postun_javadoc() %{expand:
74b02f5
  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api
74b02f5
exit 0
74b02f5
}
74b02f5
74b02f5
%global files_jre() %{expand:
74b02f5
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
74b02f5
%{_datadir}/applications/*policytool%1.desktop
74b02f5
}
74b02f5
74b02f5
74b02f5
%global files_jre_headless() %{expand:
74b02f5
%defattr(-,root,root,-)
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/ASSEMBLY_EXCEPTION
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/THIRD_PARTY_README
74b02f5
%dir %{_jvmdir}/%{sdkdir %%1}
74b02f5
%{_jvmdir}/%{jrelnk %%1}
74b02f5
%{_jvmjardir}/%{jrelnk %%1}
74b02f5
%{_jvmprivdir}/*
74b02f5
%{jvmjardir %%1}
74b02f5
%dir %{_jvmdir}/%{jredir %%1}/lib/security
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/security/cacerts
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/US_export_policy.jar
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/local_policy.jar
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.policy
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.security
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/blacklisted.certs
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/logging.properties
74b02f5
%{_mandir}/man1/java-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jjs-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/keytool-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/orbd-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/pack200-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/rmid-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/servertool-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/policytool-%{uniquesuffix %%1}.1*
74b02f5
%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/nss.cfg
74b02f5
%ifarch %{jit_arches}
74b02f5
%ifnarch %{power64}
74b02f5
%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/classes.jsa
74b02f5
%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/classes.jsa
74b02f5
%endif
74b02f5
%endif
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/
74b02f5
}
74b02f5
74b02f5
%global files_devel() %{expand:
74b02f5
%defattr(-,root,root,-)
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/ASSEMBLY_EXCEPTION
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/LICENSE
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/THIRD_PARTY_README
74b02f5
%dir %{_jvmdir}/%{sdkdir %%1}/bin
74b02f5
%dir %{_jvmdir}/%{sdkdir %%1}/include
74b02f5
%dir %{_jvmdir}/%{sdkdir %%1}/lib
74b02f5
%{_jvmdir}/%{sdkdir %%1}/bin/*
74b02f5
%{_jvmdir}/%{sdkdir %%1}/include/*
74b02f5
%{_jvmdir}/%{sdkdir %%1}/lib/*
74b02f5
%{_jvmjardir}/%{sdkdir %%1}
74b02f5
%{_datadir}/applications/*jconsole%1.desktop
74b02f5
%{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/idlj-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jar-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/javac-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/javah-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/javap-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jdb-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jhat-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jmap-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jps-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jstack-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jstat-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/rmic-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/serialver-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1*
74b02f5
%{_mandir}/man1/xjc-%{uniquesuffix %%1}.1*
74b02f5
%if %{with_systemtap}
74b02f5
%dir %{tapsetroot}
74b02f5
%dir %{tapsetdir}
74b02f5
%{tapsetdir}/*%{version}-%{release}.%{_arch}%1.stp
74b02f5
%dir %{_jvmdir}/%{sdkdir %%1}/tapset
74b02f5
%{_jvmdir}/%{sdkdir %%1}/tapset/*.stp
74b02f5
%endif
74b02f5
}
74b02f5
74b02f5
%global files_demo() %{expand:
74b02f5
%defattr(-,root,root,-)
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
74b02f5
}
74b02f5
74b02f5
%global files_src() %{expand:
74b02f5
%defattr(-,root,root,-)
74b02f5
%doc README.src
74b02f5
%{_jvmdir}/%{sdkdir %%1}/src.zip
74b02f5
}
74b02f5
74b02f5
%global files_javadoc() %{expand:
74b02f5
%defattr(-,root,root,-)
74b02f5
%doc %{_javadocdir}/%{uniquejavadocdir %%1}
74b02f5
%license %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
74b02f5
}
74b02f5
74b02f5
%global files_accessibility() %{expand:
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/libatk-wrapper.so
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/ext/java-atk-wrapper.jar
74b02f5
%{_jvmdir}/%{jredir %%1}/lib/accessibility.properties
74b02f5
}
74b02f5
74b02f5
# not-duplicated requires/provides/obsolate for normal/debug packages
74b02f5
%global java_rpo() %{expand:
74b02f5
Requires: fontconfig
74b02f5
Requires: xorg-x11-fonts-Type1
74b02f5
74b02f5
# Requires rest of java
74b02f5
Requires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
OrderWithRequires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
74b02f5
74b02f5
# Standard JPackage base provides.
74b02f5
#Provides: jre-%{javaver}-%{origin}%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre-%{origin}%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre-%{javaver}%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: java-%{javaver}%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre = %{javaver}%1
74b02f5
#Provides: java-%{origin}%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: java%1 = %{epoch}:%{javaver}
74b02f5
# Standard JPackage extensions provides.
74b02f5
#Provides: java-fonts%1 = %{epoch}:%{version}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk%1
74b02f5
Obsoletes: java-1.5.0-gcj%1
74b02f5
Obsoletes: sinjdoc
74b02f5
}
74b02f5
74b02f5
%global java_headless_rpo() %{expand:
74b02f5
# Require /etc/pki/java/cacerts.
74b02f5
Requires: ca-certificates
74b02f5
# Require javapackages-tools for ownership of /usr/lib/jvm/
74b02f5
Requires: javapackages-tools
74b02f5
# Require zoneinfo data provided by tzdata-java subpackage.
74b02f5
Requires: tzdata-java >= 2015d
74b02f5
# libsctp.so.1 is being `dlopen`ed on demand
74b02f5
Requires: lksctp-tools
akashche 02bc7e2
# there is need to depnd on exact version of nss
akashche 02bc7e2
Requires: nss %{NSS_BUILDTIME_VERSION}
akashche 02bc7e2
Requires: nss-softokn %{NSSSOFTOKN_BUILDTIME_VERSION}
74b02f5
# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum eforce it, not rpm transaction and so no configs are persisted when pure rpm -u is run. I t may be consiedered as regression
74b02f5
Requires: copy-jdk-configs >= 1.1-3
74b02f5
OrderWithRequires: copy-jdk-configs
74b02f5
# Post requires alternatives to install tool alternatives.
74b02f5
Requires(post):   %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(post):   chkconfig >= 1.7
74b02f5
# Postun requires alternatives to uninstall tool alternatives.
74b02f5
Requires(postun): %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(postun):   chkconfig >= 1.7
74b02f5
74b02f5
# Standard JPackage base provides.
74b02f5
#Provides: jre-%{javaver}-%{origin}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre-%{origin}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre-%{javaver}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: java-%{javaver}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: jre-headless%1 = %{epoch}:%{javaver}
74b02f5
#Provides: java-%{origin}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: java-headless%1 = %{epoch}:%{javaver}
74b02f5
# Standard JPackage extensions provides.
74b02f5
#Provides: jndi%1 = %{epoch}:%{version}
74b02f5
#Provides: jndi-ldap%1 = %{epoch}:%{version}
74b02f5
#Provides: jndi-cos%1 = %{epoch}:%{version}
74b02f5
#Provides: jndi-rmi%1 = %{epoch}:%{version}
74b02f5
#Provides: jndi-dns%1 = %{epoch}:%{version}
74b02f5
#Provides: jaas%1 = %{epoch}:%{version}
74b02f5
#Provides: jsse%1 = %{epoch}:%{version}
74b02f5
#Provides: jce%1 = %{epoch}:%{version}
74b02f5
#Provides: jdbc-stdext%1 = 4.1
74b02f5
#Provides: java-sasl%1 = %{epoch}:%{version}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-headless%1
74b02f5
}
74b02f5
74b02f5
%global java_devel_rpo() %{expand:
74b02f5
# Require base package.
74b02f5
Requires:         %{name}%1 = %{epoch}:%{version}-%{release}
74b02f5
OrderWithRequires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
# Post requires alternatives to install tool alternatives.
74b02f5
Requires(post):   %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(post):   chkconfig >= 1.7
74b02f5
# Postun requires alternatives to uninstall tool alternatives.
74b02f5
Requires(postun): %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(postun):   chkconfig >= 1.7
74b02f5
74b02f5
# Standard JPackage devel provides.
74b02f5
#Provides: java-sdk-%{javaver}-%{origin}%1 = %{epoch}:%{version}
74b02f5
#Provides: java-sdk-%{javaver}%1 = %{epoch}:%{version}
74b02f5
#Provides: java-sdk-%{origin}%1 = %{epoch}:%{version}
74b02f5
#Provides: java-sdk%1 = %{epoch}:%{javaver}
74b02f5
#Provides: java-%{javaver}-devel%1 = %{epoch}:%{version}
74b02f5
#Provides: java-devel-%{origin}%1 = %{epoch}:%{version}
74b02f5
#Provides: java-devel%1 = %{epoch}:%{javaver}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-devel%1
74b02f5
Obsoletes: java-1.5.0-gcj-devel%1
74b02f5
}
74b02f5
74b02f5
74b02f5
%global java_demo_rpo() %{expand:
74b02f5
Requires: %{name}%1 = %{epoch}:%{version}-%{release}
74b02f5
OrderWithRequires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-demo%1
74b02f5
}
74b02f5
74b02f5
%global java_javadoc_rpo() %{expand:
74b02f5
OrderWithRequires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
# Post requires alternatives to install javadoc alternative.
74b02f5
Requires(post):   %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(post):   chkconfig >= 1.7
74b02f5
# Postun requires alternatives to uninstall javadoc alternative.
74b02f5
Requires(postun): %{_sbindir}/alternatives
74b02f5
# in version 1.7 and higher for --family switch
74b02f5
Requires(postun):   chkconfig >= 1.7
74b02f5
74b02f5
# Standard JPackage javadoc provides.
74b02f5
#Provides: java-javadoc%1 = %{epoch}:%{version}-%{release}
74b02f5
#Provides: java-%{javaver}-javadoc%1 = %{epoch}:%{version}-%{release}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-javadoc%1
74b02f5
74b02f5
}
74b02f5
74b02f5
%global java_src_rpo() %{expand:
74b02f5
Requires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-src%1
74b02f5
}
74b02f5
74b02f5
%global java_accessibility_rpo() %{expand:
74b02f5
Requires: java-atk-wrapper
74b02f5
Requires: %{name}%1 = %{epoch}:%{version}-%{release}
74b02f5
OrderWithRequires: %{name}-headless%1 = %{epoch}:%{version}-%{release}
74b02f5
74b02f5
Obsoletes: java-1.7.0-openjdk-accessibility%1
74b02f5
}
74b02f5
74b02f5
# Prevent brp-java-repack-jars from being run.
74b02f5
%global __jar_repack 0
74b02f5
74b02f5
Name:    java-%{javaver}-%{origin}-aarch32
74b02f5
Version: %{javaver}.%{updatever}
74b02f5
Release: 1.%{buildver}%{?dist}
74b02f5
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
74b02f5
# and this change was brought into RHEL-4.  java-1.5.0-ibm packages
74b02f5
# also included the epoch in their virtual provides.  This created a
74b02f5
# situation where in-the-wild java-1.5.0-ibm packages provided "java =
74b02f5
# 1:1.5.0".  In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
74b02f5
# interpreted as 0:1.6.0.  So the "java >= 1.6.0" requirement would be
74b02f5
# satisfied by the 1:1.5.0 packages.  Thus we need to set the epoch in
74b02f5
# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
74b02f5
# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
74b02f5
74b02f5
Epoch:   1
74b02f5
Summary: OpenJDK Runtime Environment in a preview of the OpenJDK AArch32 project
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
License:  ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
74b02f5
URL:      http://openjdk.java.net/
74b02f5
74b02f5
74b02f5
# generated by update_package.sh
74b02f5
Source0: %{project}-%{repo}-%{revision}.tar.xz
74b02f5
74b02f5
# Custom README for -src subpackage
74b02f5
Source2:  README.src
74b02f5
74b02f5
# Use 'generate_tarballs.sh' to generate the following tarballs
74b02f5
# They are based on code contained in the IcedTea7 project.
74b02f5
74b02f5
# Systemtap tapsets. Zipped up to keep it small.
74b02f5
Source8: systemtap-tapset.tar.gz
74b02f5
74b02f5
# Desktop files. Adapated from IcedTea.
74b02f5
Source9: jconsole.desktop.in
74b02f5
Source10: policytool.desktop.in
74b02f5
74b02f5
# nss configuration file
74b02f5
Source11: nss.cfg
74b02f5
74b02f5
# Removed libraries that we link instead
74b02f5
Source12: java-1.8.0-openjdk-remove-intree-libraries.sh
74b02f5
74b02f5
# Ensure we aren't using the limited crypto policy
74b02f5
Source13: TestCryptoLevel.java
74b02f5
74b02f5
Source20: repackReproduciblePolycies.sh
74b02f5
74b02f5
# New versions of config files with aarch64 support. This is not upstream yet.
74b02f5
Source100: config.guess
74b02f5
Source101: config.sub
74b02f5
74b02f5
# RPM/distribution specific patches
74b02f5
74b02f5
# Accessibility patches
74b02f5
# Ignore AWTError when assistive technologies are loaded 
74b02f5
Patch1:   java-1.8.0-openjdk-accessible-toolkit.patch
74b02f5
# Restrict access to java-atk-wrapper classes
74b02f5
Patch3: java-atk-wrapper-security.patch
74b02f5
74b02f5
# Upstreamable patches
74b02f5
# PR2737: Allow multiple initialization of PKCS11 libraries
74b02f5
Patch5: multiple-pkcs11-library-init.patch
74b02f5
# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
74b02f5
Patch504: rh1163501.patch
74b02f5
# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
74b02f5
Patch511: rh1214835.patch
74b02f5
# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
74b02f5
Patch512: no_strict_overflow.patch
74b02f5
# Support for building the SunEC provider with the system NSS installation
74b02f5
# PR1983: Support using the system installation of NSS with the SunEC provider
74b02f5
# PR2127: SunEC provider crashes when built using system NSS
74b02f5
# PR2815: Race condition in SunEC provider with system NSS
akashche 02bc7e2
# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
akashche 02bc7e2
# PR2934: SunEC provider throwing KeyException with current NSS
74b02f5
Patch513: pr1983-jdk.patch
74b02f5
Patch514: pr1983-root.patch
74b02f5
Patch515: pr2127.patch
74b02f5
Patch516: pr2815.patch
akashche 02bc7e2
Patch517: pr2899.patch
akashche 02bc7e2
Patch518: pr2934.patch
akashche 02bc7e2
# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
akashche 02bc7e2
# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
akashche 02bc7e2
Patch508: rh1176206-jdk.patch
akashche 02bc7e2
Patch509: rh1176206-root.patch
akashche 02bc7e2
# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
akashche 02bc7e2
Patch523: pr2974-rh1337583.patch
akashche 02bc7e2
# PR3083, RH1346460: Regression in SSL debug output without an ECC provider
akashche 02bc7e2
Patch528: pr3083-rh1346460.patch
74b02f5
74b02f5
# Arch-specific upstreamable patches
74b02f5
# PR2415: JVM -Xmx requirement is too high on s390
74b02f5
Patch100: java-1.8.0-openjdk-s390-java-opts.patch
74b02f5
# Type fixing for s390
74b02f5
Patch102: java-1.8.0-openjdk-size_t.patch
74b02f5
# Use "%z" for size_t on s390 as size_t != intptr_t
74b02f5
Patch103: s390-size_t_format_flags.patch
74b02f5
74b02f5
# Include all sources in src.zip
74b02f5
Patch7: include-all-srcs.patch
74b02f5
# 8035341: Allow using a system installed libpng
74b02f5
Patch202: system-libpng.patch
74b02f5
# 8042159: Allow using a system-installed lcms2
74b02f5
Patch203: system-lcms.patch
74b02f5
# PR2462: Backport "8074839: Resolve disabled warnings for libunpack and the unpack200 binary"
74b02f5
# This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
74b02f5
Patch502: pr2462.patch
74b02f5
# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
74b02f5
Patch506: pr2842-01.patch
74b02f5
Patch507: pr2842-02.patch
akashche 02bc7e2
# S8154313: Generated javadoc scattered all over the place
akashche 02bc7e2
Patch400: 8154313.patch
akashche 02bc7e2
# S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
akashche 02bc7e2
Patch526: 6260348-pr3066.patch
74b02f5
akashche 02bc7e2
# Patches upstream and appearing in 8u112
akashche 02bc7e2
# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
akashche 02bc7e2
Patch521: 8044762-pr2960.patch
akashche 02bc7e2
# S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
akashche 02bc7e2
Patch522: 8049226-pr2960.patch
74b02f5
74b02f5
# Patches ineligible for 8u
74b02f5
# 8043805: Allow using a system-installed libjpeg
74b02f5
Patch201: system-libjpeg.patch
74b02f5
74b02f5
# Local fixes
akashche 02bc7e2
# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
akashche 02bc7e2
Patch525: pr1834-rh1022017.patch
akashche 02bc7e2
# Temporary fix for typo in CORBA security patch
akashche 02bc7e2
Patch529: corba_typo_fix.patch
74b02f5
74b02f5
# Non-OpenJDK fixes
74b02f5
Patch300: jstack-pr1845.patch
74b02f5
74b02f5
BuildRequires: autoconf
74b02f5
BuildRequires: automake
74b02f5
BuildRequires: alsa-lib-devel
74b02f5
BuildRequires: binutils
74b02f5
BuildRequires: cups-devel
74b02f5
BuildRequires: desktop-file-utils
74b02f5
BuildRequires: fontconfig
74b02f5
BuildRequires: freetype-devel
74b02f5
BuildRequires: giflib-devel
74b02f5
BuildRequires: gcc-c++
74b02f5
BuildRequires: gtk2-devel
74b02f5
BuildRequires: lcms2-devel
74b02f5
BuildRequires: libjpeg-devel
74b02f5
BuildRequires: libpng-devel
74b02f5
BuildRequires: libxslt
74b02f5
BuildRequires: libX11-devel
74b02f5
BuildRequires: libXi-devel
74b02f5
BuildRequires: libXinerama-devel
74b02f5
BuildRequires: libXt-devel
74b02f5
BuildRequires: libXtst-devel
74b02f5
# Requirements for setting up the nss.cfg
74b02f5
BuildRequires: nss-devel
74b02f5
BuildRequires: pkgconfig
74b02f5
BuildRequires: xorg-x11-proto-devel
74b02f5
#BuildRequires: redhat-lsb
74b02f5
BuildRequires: zip
74b02f5
BuildRequires: java-1.8.0-openjdk-devel
74b02f5
# Zero-assembler build requirement.
74b02f5
%ifnarch %{jit_arches}
74b02f5
BuildRequires: libffi-devel
74b02f5
%endif
74b02f5
BuildRequires: tzdata-java >= 2015d
74b02f5
# Earlier versions have a bug in tree vectorization on PPC
74b02f5
BuildRequires: gcc >= 4.8.3-8
74b02f5
# Build requirements for SunEC system NSS support
74b02f5
BuildRequires: nss-softokn-freebl-devel >= 3.16.1
74b02f5
74b02f5
# cacerts build requirement.
74b02f5
BuildRequires: openssl
74b02f5
%if %{with_systemtap}
74b02f5
BuildRequires: systemtap-sdt-devel
74b02f5
%endif
74b02f5
74b02f5
# this is built always, also during debug-only build
74b02f5
# when it is built in debug-only, then this package is just placeholder
74b02f5
%{java_rpo %{nil}}
74b02f5
74b02f5
ExclusiveArch: %{arm}
74b02f5
74b02f5
%description
74b02f5
A preview release of the upstream OpenJDK AArch32 porting project. In
74b02f5
due time it will be merged with the main java-1.8.0-openjdk package.
74b02f5
This release may get security fixes late. Use carefully.
74b02f5
The OpenJDK runtime environment.
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package debug
74b02f5
Summary: OpenJDK Runtime Environment %{debug_on}
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_rpo %{debug_suffix_unquoted}}
74b02f5
%description debug
74b02f5
The OpenJDK runtime environment.
74b02f5
%{debug_warning}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package headless
74b02f5
Summary: OpenJDK Runtime Environment
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_headless_rpo %{nil}}
74b02f5
74b02f5
%description headless
74b02f5
The OpenJDK runtime environment without audio and video support.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package headless-debug
74b02f5
Summary: OpenJDK Runtime Environment %{debug_on}
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_headless_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description headless-debug
74b02f5
The OpenJDK runtime environment without audio and video support.
74b02f5
%{debug_warning}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package devel
74b02f5
Summary: OpenJDK Development Environment
74b02f5
Group:   Development/Tools
74b02f5
74b02f5
%{java_devel_rpo %{nil}}
74b02f5
74b02f5
%description devel
74b02f5
The OpenJDK development tools.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package devel-debug
74b02f5
Summary: OpenJDK Development Environment %{debug_on}
74b02f5
Group:   Development/Tools
74b02f5
74b02f5
%{java_devel_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description devel-debug
74b02f5
The OpenJDK development tools.
74b02f5
%{debug_warning}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package demo
74b02f5
Summary: OpenJDK Demos
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_demo_rpo %{nil}}
74b02f5
74b02f5
%description demo
74b02f5
The OpenJDK demos.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package demo-debug
74b02f5
Summary: OpenJDK Demos %{debug_on}
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_demo_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description demo-debug
74b02f5
The OpenJDK demos.
74b02f5
%{debug_warning}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package src
74b02f5
Summary: OpenJDK Source Bundle
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_src_rpo %{nil}}
74b02f5
74b02f5
%description src
74b02f5
The OpenJDK source bundle.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package src-debug
74b02f5
Summary: OpenJDK Source Bundle %{for_debug}
74b02f5
Group:   Development/Languages
74b02f5
74b02f5
%{java_src_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description src-debug
74b02f5
The OpenJDK source bundle %{for_debug}.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package javadoc
74b02f5
Summary: OpenJDK API Documentation
74b02f5
Group:   Documentation
74b02f5
Requires: javapackages-tools
74b02f5
BuildArch: noarch
74b02f5
74b02f5
%{java_javadoc_rpo %{nil}}
74b02f5
74b02f5
%description javadoc
74b02f5
The OpenJDK API documentation.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package javadoc-debug
74b02f5
Summary: OpenJDK API Documentation %{for_debug}
74b02f5
Group:   Documentation
74b02f5
Requires: javapackages-tools
74b02f5
BuildArch: noarch
74b02f5
74b02f5
%{java_javadoc_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description javadoc-debug
74b02f5
The OpenJDK API documentation %{for_debug}.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build}
74b02f5
%package accessibility
74b02f5
Summary: OpenJDK accessibility connector
74b02f5
74b02f5
%{java_accessibility_rpo %{nil}}
74b02f5
74b02f5
%description accessibility
74b02f5
Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows
74b02f5
compatible at-spi2 based accessibility programs to work for AWT and Swing-based
74b02f5
programs.
74b02f5
74b02f5
Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still
74b02f5
being tuned to be working with accessibility features. There are known issues
74b02f5
with accessibility on, so please do not install this package unless you really
74b02f5
need to.
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build}
74b02f5
%package accessibility-debug
74b02f5
Summary: OpenJDK accessibility connector %{for_debug}
74b02f5
74b02f5
%{java_accessibility_rpo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%description accessibility-debug
74b02f5
See normal java-%{version}-openjdk-accessibility description.
74b02f5
%endif
74b02f5
74b02f5
%prep
74b02f5
if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
74b02f5
  echo "include_normal_build is %{include_normal_build}"
74b02f5
else
74b02f5
  echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
74b02f5
  exit 11
74b02f5
fi
74b02f5
if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
74b02f5
  echo "include_debug_build is %{include_debug_build}"
74b02f5
else
74b02f5
  echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
74b02f5
  exit 12
74b02f5
fi
74b02f5
if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then
74b02f5
  echo "you have disabled both include_debug_build and include_debug_build. no go."
74b02f5
  exit 13
74b02f5
fi
74b02f5
%setup -q -c -n %{uniquesuffix ""} -T -a 0
74b02f5
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
74b02f5
prioritylength=`expr length %{priority}`
74b02f5
if [ $prioritylength -ne 7 ] ; then
74b02f5
 echo "priority must be 7 digits in total, violated"
74b02f5
 exit 14
74b02f5
fi
74b02f5
# For old patches
74b02f5
ln -s openjdk jdk8
74b02f5
74b02f5
cp %{SOURCE2} .
74b02f5
74b02f5
# replace outdated configure guess script
74b02f5
#
74b02f5
# the configure macro will do this too, but it also passes a few flags not
74b02f5
# supported by openjdk configure script
74b02f5
cp %{SOURCE100} openjdk/common/autoconf/build-aux/
74b02f5
cp %{SOURCE101} openjdk/common/autoconf/build-aux/
74b02f5
74b02f5
# OpenJDK patches
74b02f5
74b02f5
# Remove libraries that are linked
74b02f5
sh %{SOURCE12}
74b02f5
74b02f5
%patch201
74b02f5
%patch202
74b02f5
%patch203
74b02f5
74b02f5
%patch1
74b02f5
%patch3
74b02f5
%patch5
74b02f5
%patch7
74b02f5
74b02f5
# s390 build fixes
74b02f5
%patch100
74b02f5
%patch102
74b02f5
%patch103
74b02f5
74b02f5
%patch502
74b02f5
%patch504
74b02f5
%patch506
74b02f5
%patch507
74b02f5
%patch508
74b02f5
%patch509
74b02f5
%patch511
74b02f5
%patch512
74b02f5
%patch513
74b02f5
%patch514
74b02f5
%patch515
74b02f5
%patch516
akashche 02bc7e2
%patch517
akashche 02bc7e2
%patch518
akashche 02bc7e2
%patch400
akashche 02bc7e2
%patch521
akashche 02bc7e2
%patch522
akashche 02bc7e2
%patch523
akashche 02bc7e2
%patch525
akashche 02bc7e2
%patch528
akashche 02bc7e2
%patch529
74b02f5
74b02f5
# Extract systemtap tapsets
74b02f5
%if %{with_systemtap}
74b02f5
tar xzf %{SOURCE8}
74b02f5
%patch300
74b02f5
%if %{include_debug_build}
74b02f5
cp -r tapset tapset%{debug_suffix}
74b02f5
%endif
74b02f5
74b02f5
74b02f5
for suffix in %{build_loop} ; do
74b02f5
  for file in "tapset"$suffix/*.in; do
74b02f5
    OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g`
74b02f5
    sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
74b02f5
# TODO find out which architectures other than i686 have a client vm
74b02f5
%ifarch %{ix86}
74b02f5
    sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
74b02f5
%else
74b02f5
    sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
74b02f5
%endif
74b02f5
    sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir $suffix}:g $OUTPUT_FILE
74b02f5
    sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
74b02f5
  done
74b02f5
done
74b02f5
# systemtap tapsets ends
74b02f5
%endif
74b02f5
74b02f5
# Prepare desktop files
74b02f5
for suffix in %{build_loop} ; do
74b02f5
for file in %{SOURCE9} %{SOURCE10} ; do
74b02f5
    FILE=`basename $file | sed -e s:\.in$::g`
74b02f5
    EXT="${FILE##*.}"
74b02f5
    NAME="${FILE%.*}"
74b02f5
    OUTPUT_FILE=$NAME$suffix.$EXT
74b02f5
    sed -e s:#JAVA_HOME#:%{sdkbindir $suffix}:g $file > $OUTPUT_FILE
74b02f5
    sed -i -e  s:#JRE_HOME#:%{jrebindir $suffix}:g $OUTPUT_FILE
74b02f5
    sed -i -e  s:#ARCH#:%{version}-%{release}.%{_arch}$suffix:g $OUTPUT_FILE
74b02f5
done
74b02f5
done
74b02f5
74b02f5
%build
74b02f5
# How many cpu's do we have?
74b02f5
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
74b02f5
export NUM_PROC=${NUM_PROC:-1}
74b02f5
%if 0%{?_smp_ncpus_max}
74b02f5
# Honor %%_smp_ncpus_max
74b02f5
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
74b02f5
%endif
74b02f5
74b02f5
# Build IcedTea and OpenJDK.
74b02f5
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
74b02f5
export ARCH_DATA_MODEL=64
74b02f5
%endif
74b02f5
%ifarch alpha
74b02f5
export CFLAGS="$CFLAGS -mieee"
74b02f5
%endif
74b02f5
74b02f5
# We use ourcppflags because the OpenJDK build seems to
74b02f5
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
74b02f5
# Explicitly set the C++ standard as the default has changed on GCC >= 6
74b02f5
EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
74b02f5
EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
74b02f5
%ifarch %{power64} ppc
74b02f5
# fix rpmlint warnings
74b02f5
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
74b02f5
%endif
74b02f5
export EXTRA_CFLAGS
74b02f5
74b02f5
(cd openjdk/common/autoconf
74b02f5
 bash ./autogen.sh
74b02f5
)
74b02f5
74b02f5
for suffix in %{build_loop} ; do
74b02f5
if [ "$suffix" = "%{debug_suffix}" ] ; then
74b02f5
debugbuild=%{debugbuild_parameter}
74b02f5
else
74b02f5
debugbuild=%{normalbuild_parameter}
74b02f5
fi
74b02f5
74b02f5
mkdir -p %{buildoutputdir $suffix}
74b02f5
pushd %{buildoutputdir $suffix}
74b02f5
74b02f5
74b02f5
NSS_LIBS="%{NSS_LIBS} -lfreebl" \
74b02f5
NSS_CFLAGS="%{NSS_CFLAGS}" \
74b02f5
bash ../../configure \
74b02f5
%ifnarch %{jit_arches}
74b02f5
    --with-jvm-variants=core \
74b02f5
%endif
74b02f5
    --disable-zip-debug-info \
74b02f5
    --with-milestone="fcs" \
74b02f5
    --with-update-version=%{updatever} \
74b02f5
    --with-build-number=%{buildver} \
74b02f5
    --with-boot-jdk=/usr/lib/jvm/java-openjdk \
74b02f5
    --with-debug-level=$debugbuild \
74b02f5
    --enable-unlimited-crypto \
74b02f5
    --enable-system-nss \
74b02f5
    --with-zlib=system \
74b02f5
    --with-libjpeg=system \
74b02f5
    --with-giflib=system \
74b02f5
    --with-libpng=system \
74b02f5
    --with-lcms=bundled \
74b02f5
    --with-stdc++lib=dynamic \
74b02f5
    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
74b02f5
    --with-extra-cflags="$EXTRA_CFLAGS" \
74b02f5
    --with-extra-ldflags="%{ourldflags}" \
74b02f5
    --with-num-cores="$NUM_PROC"
74b02f5
74b02f5
cat spec.gmk
74b02f5
cat hotspot-spec.gmk
74b02f5
74b02f5
# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
74b02f5
# disables FDS for all build configs and reverts to pre-FDS make logic.
74b02f5
# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
74b02f5
# ignore all the other logic about which debug options and just do '-g'.
74b02f5
74b02f5
make \
74b02f5
    DEBUG_BINARIES=true \
74b02f5
    JAVAC_FLAGS=-g \
74b02f5
    STRIP_POLICY=no_strip \
74b02f5
    POST_STRIP_CMD="" \
74b02f5
    LOG=trace \
74b02f5
    SCTP_WERROR= \
74b02f5
    %{targets}
74b02f5
74b02f5
# the build (erroneously) removes read permissions from some jars
74b02f5
# this is a regression in OpenJDK 7 (our compiler):
74b02f5
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
74b02f5
find images/%{j2sdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
74b02f5
chmod ugo+r images/%{j2sdkimage}/lib/ct.sym
74b02f5
74b02f5
# remove redundant *diz and *debuginfo files
74b02f5
find images/%{j2sdkimage} -iname '*.diz' -exec rm {} \;
74b02f5
find images/%{j2sdkimage} -iname '*.debuginfo' -exec rm {} \;
74b02f5
74b02f5
popd >& /dev/null
74b02f5
74b02f5
# Install nss.cfg right away as we will be using the JRE above
74b02f5
export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
74b02f5
74b02f5
# Install nss.cfg right away as we will be using the JRE above
74b02f5
install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
74b02f5
74b02f5
# Use system-wide tzdata
74b02f5
rm $JAVA_HOME/jre/lib/tzdb.dat
74b02f5
ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
74b02f5
74b02f5
#build cycles
74b02f5
done
74b02f5
74b02f5
%check
74b02f5
74b02f5
# We test debug first as it will give better diagnostics on a crash
74b02f5
for suffix in %{rev_build_loop} ; do
74b02f5
74b02f5
export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
74b02f5
74b02f5
# Check unlimited policy has been used
74b02f5
$JAVA_HOME/bin/javac -d . %{SOURCE13}
74b02f5
$JAVA_HOME/bin/java TestCryptoLevel
74b02f5
74b02f5
# Check debug symbols are present and can identify code
74b02f5
SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so"
74b02f5
if [ -f "$SERVER_JVM" ] ; then
74b02f5
  nm -aCl "$SERVER_JVM" | grep javaCalls.cpp
74b02f5
fi
74b02f5
CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so"
74b02f5
if [ -f "$CLIENT_JVM" ] ; then
74b02f5
  nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp
74b02f5
fi
74b02f5
ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so"
74b02f5
if [ -f "$ZERO_JVM" ] ; then
74b02f5
  nm -aCl "$ZERO_JVM" | grep javaCalls.cpp
74b02f5
fi
74b02f5
74b02f5
# Check src.zip has all sources. See RHBZ#1130490
74b02f5
jar -tf $JAVA_HOME/src.zip | grep 'sun.misc.Unsafe'
74b02f5
74b02f5
# Check class files include useful debugging information
74b02f5
$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
74b02f5
$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
74b02f5
$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
74b02f5
74b02f5
# Check generated class files include useful debugging information
74b02f5
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
74b02f5
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
74b02f5
$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
74b02f5
done
74b02f5
74b02f5
%install
74b02f5
STRIP_KEEP_SYMTAB=libjvm*
74b02f5
74b02f5
for suffix in %{build_loop} ; do
74b02f5
74b02f5
pushd %{buildoutputdir  $suffix}/images/%{j2sdkimage}
74b02f5
74b02f5
#install jsa directories so we can owe them
74b02f5
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/server/
74b02f5
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/
74b02f5
74b02f5
  # Install main files.
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
74b02f5
  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
74b02f5
  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
74b02f5
74b02f5
%if %{with_systemtap}
74b02f5
  # Install systemtap support files.
74b02f5
  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset
74b02f5
  # note, that uniquesuffix  is in BUILD dir in this case
74b02f5
  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
74b02f5
  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
74b02f5
   tapsetFiles=`ls *.stp`
74b02f5
  popd
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
74b02f5
  pushd $RPM_BUILD_ROOT%{tapsetdir}
74b02f5
    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir $suffix}/tapset %{tapsetdir})
74b02f5
    for name in $tapsetFiles ; do
74b02f5
      targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
74b02f5
      ln -sf $RELATIVE/$name $targetName
74b02f5
    done
74b02f5
  popd
74b02f5
%endif
74b02f5
74b02f5
  # Install cacerts symlink.
74b02f5
  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security/cacerts
74b02f5
  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security
74b02f5
    RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
74b02f5
      %{_jvmdir}/%{jredir $suffix}/lib/security)
74b02f5
    ln -sf $RELATIVE/cacerts .
74b02f5
  popd
74b02f5
74b02f5
  # Install extension symlinks.
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir $suffix}
74b02f5
  pushd $RPM_BUILD_ROOT%{jvmjardir $suffix}
74b02f5
    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir $suffix}/lib %{jvmjardir $suffix})
74b02f5
    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
74b02f5
    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
74b02f5
    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
74b02f5
    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
74b02f5
    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
74b02f5
    for jar in *-%{version}.jar
74b02f5
    do
74b02f5
      if [ x%{version} != x%{javaver} ]
74b02f5
      then
74b02f5
        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
74b02f5
      fi
74b02f5
      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
74b02f5
    done
74b02f5
  popd
74b02f5
74b02f5
  # Install JCE policy symlinks.
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix $suffix}/jce/vanilla
74b02f5
74b02f5
  # Install versioned symlinks.
74b02f5
  pushd $RPM_BUILD_ROOT%{_jvmdir}
74b02f5
    ln -sf %{jredir $suffix} %{jrelnk $suffix}
74b02f5
  popd
74b02f5
74b02f5
  pushd $RPM_BUILD_ROOT%{_jvmjardir}
74b02f5
    ln -sf %{sdkdir $suffix} %{jrelnk $suffix}
74b02f5
  popd
74b02f5
74b02f5
  # Remove javaws man page
74b02f5
  rm -f man/man1/javaws*
74b02f5
74b02f5
  # Install man pages.
74b02f5
  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
74b02f5
  for manpage in man/man1/*
74b02f5
  do
74b02f5
    # Convert man pages to UTF8 encoding.
74b02f5
    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
74b02f5
    mv -f $manpage.tmp $manpage
74b02f5
    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
74b02f5
      $manpage .1)-%{uniquesuffix $suffix}.1
74b02f5
  done
74b02f5
74b02f5
  # Install demos and samples.
74b02f5
  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
74b02f5
  mkdir -p sample/rmi
74b02f5
  if [ ! -e sample/rmi/java-rmi.cgi ] ; then 
74b02f5
    # hack to allow --short-circuit on install
74b02f5
    mv bin/java-rmi.cgi sample/rmi
74b02f5
  fi
74b02f5
  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
74b02f5
74b02f5
popd
74b02f5
74b02f5
74b02f5
# Install Javadoc documentation.
74b02f5
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
74b02f5
cp -a %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
74b02f5
74b02f5
# Install icons and menu entries.
74b02f5
for s in 16 24 32 48 ; do
74b02f5
  install -D -p -m 644 \
74b02f5
    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
74b02f5
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
74b02f5
done
74b02f5
74b02f5
# Install desktop files.
74b02f5
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
74b02f5
for e in jconsole$suffix policytool$suffix ; do
74b02f5
    desktop-file-install --vendor=%{uniquesuffix $suffix} --mode=644 \
74b02f5
        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
74b02f5
done
74b02f5
74b02f5
# Install /etc/.java/.systemPrefs/ directory
74b02f5
# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
74b02f5
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
74b02f5
74b02f5
# Find JRE directories.
74b02f5
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type d \
74b02f5
  | grep -v jre/lib/security \
74b02f5
  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
74b02f5
  > %{name}.files-headless"$suffix"
74b02f5
# Find JRE files.
74b02f5
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type f -o -type l \
74b02f5
  | grep -v jre/lib/security \
74b02f5
  | sed 's|'$RPM_BUILD_ROOT'||' \
74b02f5
  > %{name}.files.all"$suffix"
74b02f5
#split %%{name}.files to %%{name}.files-headless and %%{name}.files
74b02f5
#see https://bugzilla.redhat.com/show_bug.cgi?id=875408
74b02f5
NOT_HEADLESS=\
74b02f5
"%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjsoundalsa.so
74b02f5
%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libpulse-java.so
74b02f5
%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libsplashscreen.so
74b02f5
%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libawt_xawt.so
74b02f5
%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjawt.so
74b02f5
%{_jvmdir}/%{uniquesuffix $suffix}/jre/bin/policytool"
74b02f5
#filter  %%{name}.files from  %%{name}.files.all to %%{name}.files-headless
74b02f5
ALL=`cat %{name}.files.all"$suffix"`
74b02f5
for file in $ALL ; do 
74b02f5
  INLCUDE="NO" ; 
74b02f5
  for blacklist in $NOT_HEADLESS ; do
74b02f5
#we can not match normally, because rpmbuild will evaluate !0 result as script failure
74b02f5
    q=`expr match "$file" "$blacklist"` || :
74b02f5
    l=`expr length  "$blacklist"` || :
74b02f5
    if [ $q -eq $l  ]; then 
74b02f5
      INLCUDE="YES" ; 
74b02f5
    fi;
74b02f5
done
74b02f5
if [ "x$INLCUDE" = "xNO"  ]; then 
74b02f5
    echo "$file" >> %{name}.files-headless"$suffix"
74b02f5
else
74b02f5
    echo "$file" >> %{name}.files"$suffix"
74b02f5
fi
74b02f5
done
74b02f5
# Find demo directories.
74b02f5
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
74b02f5
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample -type d \
74b02f5
  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
74b02f5
  > %{name}-demo.files"$suffix"
74b02f5
74b02f5
# FIXME: remove SONAME entries from demo DSOs.  See
74b02f5
# https://bugzilla.redhat.com/show_bug.cgi?id=436497
74b02f5
74b02f5
# Find non-documentation demo files.
74b02f5
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
74b02f5
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
74b02f5
  -type f -o -type l | sort \
74b02f5
  | grep -v README \
74b02f5
  | sed 's|'$RPM_BUILD_ROOT'||' \
74b02f5
  >> %{name}-demo.files"$suffix"
74b02f5
# Find documentation demo files.
74b02f5
find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
74b02f5
  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
74b02f5
  -type f -o -type l | sort \
74b02f5
  | grep README \
74b02f5
  | sed 's|'$RPM_BUILD_ROOT'||' \
74b02f5
  | sed 's|^|%doc |' \
74b02f5
  >> %{name}-demo.files"$suffix"
74b02f5
74b02f5
# intentionally after the files generation, as it goes to separate package
74b02f5
# Create links which leads to separately installed java-atk-bridge and allow configuration
74b02f5
# links points to java-atk-wrapper - an dependence
74b02f5
  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}
74b02f5
    ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
74b02f5
  popd
74b02f5
  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/ext
74b02f5
     ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar  java-atk-wrapper.jar
74b02f5
  popd
74b02f5
  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/
74b02f5
    echo "#Config file to  enable java-atk-wrapper" > accessibility.properties
74b02f5
    echo "" >> accessibility.properties
74b02f5
    echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
74b02f5
    echo "" >> accessibility.properties
74b02f5
  popd
74b02f5
74b02f5
bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix} %{javaver}
74b02f5
# https://bugzilla.redhat.com/show_bug.cgi?id=1183793
74b02f5
touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/security/java.security
74b02f5
74b02f5
# end, dual install
74b02f5
done
74b02f5
74b02f5
%if %{include_normal_build} 
74b02f5
# intentioanlly only for non-debug
74b02f5
%pretrans headless -p <lua>
74b02f5
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
74b02f5
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
74b02f5
-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
74b02f5
-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction  and so is
74b02f5
-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends 
74b02f5
-- whether copy-jdk-configs is installed or not. If so, then configs are copied
74b02f5
-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
74b02f5
local posix = require "posix"
74b02f5
local debug = false
74b02f5
74b02f5
SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
74b02f5
SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
74b02f5
74b02f5
local stat1 = posix.stat(SOURCE1, "type");
74b02f5
local stat2 = posix.stat(SOURCE2, "type");
74b02f5
74b02f5
  if (stat1 ~= nil) then
74b02f5
  if (debug) then
74b02f5
    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
74b02f5
  end;
74b02f5
  package.path = package.path .. ";" .. SOURCE1
74b02f5
else 
74b02f5
  if (stat2 ~= nil) then
74b02f5
  if (debug) then
74b02f5
    print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")
74b02f5
  end;
74b02f5
  package.path = package.path .. ";" .. SOURCE2
74b02f5
  else
74b02f5
    if (debug) then
74b02f5
      print(SOURCE1 .." does NOT exists")
74b02f5
      print(SOURCE2 .." does NOT exists")
74b02f5
      print("No config files will be copied")
74b02f5
    end
74b02f5
  return
74b02f5
  end
74b02f5
end
74b02f5
-- run contetn of included file with fake args
74b02f5
arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}"}
74b02f5
require "copy_jdk_configs.lua"
74b02f5
74b02f5
%post 
74b02f5
%{post_script %{nil}}
74b02f5
74b02f5
%post headless
74b02f5
%{post_headless %{nil}}
74b02f5
74b02f5
%postun
74b02f5
%{postun_script %{nil}}
74b02f5
74b02f5
%postun headless
74b02f5
%{postun_headless %{nil}}
74b02f5
74b02f5
%posttrans
74b02f5
%{posttrans_script %{nil}}
74b02f5
74b02f5
%post devel
74b02f5
%{post_devel %{nil}}
74b02f5
74b02f5
%postun devel
74b02f5
%{postun_devel %{nil}}
74b02f5
74b02f5
%posttrans  devel
74b02f5
%{posttrans_devel %{nil}}
74b02f5
74b02f5
%post javadoc
74b02f5
%{post_javadoc %{nil}}
74b02f5
74b02f5
%postun javadoc
74b02f5
%{postun_javadoc %{nil}}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build} 
74b02f5
%post debug
74b02f5
%{post_script %{debug_suffix_unquoted}}
74b02f5
74b02f5
%post headless-debug
74b02f5
%{post_headless %{debug_suffix_unquoted}}
74b02f5
74b02f5
%postun debug
74b02f5
%{postun_script %{debug_suffix_unquoted}}
74b02f5
74b02f5
%postun headless-debug
74b02f5
%{postun_headless %{debug_suffix_unquoted}}
74b02f5
74b02f5
%posttrans debug
74b02f5
%{posttrans_script %{debug_suffix_unquoted}}
74b02f5
74b02f5
%post devel-debug
74b02f5
%{post_devel %{debug_suffix_unquoted}}
74b02f5
74b02f5
%postun devel-debug
74b02f5
%{postun_devel %{debug_suffix_unquoted}}
74b02f5
74b02f5
%posttrans  devel-debug
74b02f5
%{posttrans_devel %{debug_suffix_unquoted}}
74b02f5
74b02f5
%post javadoc-debug
74b02f5
%{post_javadoc %{debug_suffix_unquoted}}
74b02f5
74b02f5
%postun javadoc-debug
74b02f5
%{postun_javadoc %{debug_suffix_unquoted}}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_normal_build} 
74b02f5
%files -f %{name}.files
74b02f5
# main package builds always
74b02f5
%{files_jre %{nil}}
74b02f5
%else
74b02f5
%files
74b02f5
# placeholder
74b02f5
%endif
74b02f5
74b02f5
74b02f5
%if %{include_normal_build} 
74b02f5
%files headless  -f %{name}.files-headless
74b02f5
# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue 
74b02f5
# all config/norepalce files (and more) have to be declared in pretrans. See pretrans
74b02f5
%{files_jre_headless %{nil}}
74b02f5
74b02f5
%files devel
74b02f5
%{files_devel %{nil}}
74b02f5
74b02f5
%files demo -f %{name}-demo.files
74b02f5
%{files_demo %{nil}}
74b02f5
74b02f5
%files src
74b02f5
%{files_src %{nil}}
74b02f5
74b02f5
%files javadoc
74b02f5
%{files_javadoc %{nil}}
74b02f5
74b02f5
%files accessibility
74b02f5
%{files_accessibility %{nil}}
74b02f5
%endif
74b02f5
74b02f5
%if %{include_debug_build} 
74b02f5
%files debug -f %{name}.files-debug
74b02f5
%{files_jre %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files headless-debug  -f %{name}.files-headless-debug
74b02f5
%{files_jre_headless %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files devel-debug
74b02f5
%{files_devel %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files demo-debug -f %{name}-demo.files-debug
74b02f5
%{files_demo %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files src-debug
74b02f5
%{files_src %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files javadoc-debug
74b02f5
%{files_javadoc %{debug_suffix_unquoted}}
74b02f5
74b02f5
%files accessibility-debug
74b02f5
%{files_accessibility %{debug_suffix_unquoted}}
74b02f5
%endif
74b02f5
74b02f5
%changelog
akashche 02bc7e2
* Sun Aug 14 2016 Alex Kashchenko <akashche@redhat.com> - 1:1.8.0.102-1.160812
akashche 02bc7e2
- remove upstreamed soundFontPatch.patch
akashche 02bc7e2
- added patches 6260348-pr3066.patch, pr2974-rh1337583.patch, pr3083-rh1346460.patch, pr2899.patch, pr2934.patch, pr1834-rh1022017.patch, corba_typo_fix.patch, 8154313.patch
akashche 02bc7e2
- removed unused patches java-1.8.0-openjdk-rh1191652-root.patch, java-1.8.0-openjdk-rh1191652-jdk.patch, java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch
akashche 02bc7e2
- removed upstreamed (and previously unused) patches 8143855.patch, rhbz1206656_fix_current_stack_pointer.patch, remove_aarch64_template_for_gcc6.patch, make_reservedcodecachesize_changes_aarch64_only.patch
akashche 02bc7e2
- added JDWP patches 8044762-pr2960.patch and 8049226-pr2960.patch
akashche 02bc7e2
- priority lowered for ine zero digit, tip moved to 999
akashche 02bc7e2
- Restricted to depend on exactly same version of nss as used for build,
akashche 02bc7e2
- Resolves: rhbz#1332456
akashche 02bc7e2
- used aarch32-port-jdk8u-jdk8u102-b14-aarch32-160812.tar.xz as new sources
74b02f5
* Wed Jun 29 2016 Jiri Vanek <jvanek@redhat.com> - 1:1.8.0.91-1.160510
74b02f5
- initial clone form java-1.8.0-openjdk
74b02f5
- using aarch32 sources
74b02f5
- restricted to {arm}  arch only
74b02f5
- adapted description and summary
74b02f5
- all {name} in pathches replaced by java-1.8.0-openjdk. Same for source12
74b02f5
- blindly commented out not applicable patches
74b02f5
- removed all java provides