Browse Source

nss-3.21.1-3, copy-jdk-configs-1.1-5 and java-1.8.0-openjdk-1.8.0.92-1.b14

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@10390 ec354946-7b23-47d6-9f5a-488ba84defc7
tomop 7 years ago
parent
commit
4977d83f29

+ 86 - 0
c/copy-jdk-configs/copy-jdk-configs-vl.spec

@@ -0,0 +1,86 @@
+%global project copy_jdk_configs
+%global file %{project}.lua
+%global rpm_state_dir %{_localstatedir}/lib/rpm-state
+
+Name:    copy-jdk-configs
+
+Version: 1.1
+Release: 5%{?_dist_release}
+Summary: JDKs configuration files copier
+
+License:  BSD
+URL:      https://hg.fedorahosted.org/hg/%{project}
+Source0:  https://hg.fedorahosted.org/hg/copy_jdk_configs/raw-file/%{project}-%{version}/%{file}
+Source1:  https://hg.fedorahosted.org/hg/copy_jdk_configs/raw-file/%{project}-%{version}/LICENSE
+Vendor:   Project Vine
+Distribution: Vine Linux
+
+# we need to duplicate msot of the percents in that script so they survive rpm expansion (even in that sed they have to be duplicated)
+%global pretrans_install %(cat %{SOURCE0} | sed s/%%/%%%%/g | sed s/\\^%%%%/^%%/g) 
+
+BuildArch: noarch
+
+Requires: lua
+Requires: lua-posix
+
+%description
+Utility script to transfer JDKs configuration files between updates or for
+archiving.
+
+%prep
+cp -a %{SOURCE1} .
+
+
+%build
+#blob
+
+%pretrans -p <lua>
+function createPretransScript()
+-- the sript must be available during pretrans, so multiply it to tmp
+  os.execute("mkdir -p %{rpm_state_dir}")
+  temp_path="%{rpm_state_dir}/%{file}"
+-- print("generating " .. temp_path)
+  file = io.open(temp_path, "w")
+  file:write([[%{pretrans_install}]])
+  file:close()
+end
+
+-- in netinst, the above call may fail. pcall should save instalation (as there is nothing to copy anyway)
+-- https://bugzilla.redhat.com/show_bug.cgi?id=1295701
+-- todo, decide whether to check for {rpm_state_dir} and skip on not-existing, or keep creating
+if pcall(createPretransScript) then
+-- ok
+else
+--  print("Error running %{name} pretrans.")
+end
+
+%install
+mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}
+cp -a %{SOURCE0} $RPM_BUILD_ROOT/%{_libexecdir}/%{file}
+
+%posttrans
+# remove file created in pretrans
+# echo "removing %{rpm_state_dir}/%{file}" || :
+rm "%{rpm_state_dir}/%{file}" || :
+
+%files 
+%{_libexecdir}/%{file}
+%license LICENSE
+
+%changelog
+* Mon Jun 20 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.1-5
+- initial build for Vine Linux.
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Fri Jan 08 2016 Jiri Vanek <jvanek@redhat.com> - 1.1-3
+- pretrasn lua call now done in pcall (protected call)
+- also posttrans now always return 0
+
+* Wed Dec 16 2015 Jiri Vanek <jvanek@redhat.com> - 1.1-2
+- package now "installs" also during pretrans, so pretrasn scripts can use it
+- pretrasn "install" is removed in postrans
+
+* Wed Nov 25 2015 Jiri Vanek <jvanek@redhat.com> - 1.1-1
+- initial package

+ 2175 - 0
j/java-1.8.0-openjdk/java-1.8.0-openjdk-vl.spec

@@ -0,0 +1,2175 @@
+%bcond_with initial_build
+%bcond_with debug_build
+%bcond_without system_nss
+
+%global __global_ldflags -Wl,-z,relro
+
+# for vbuilder
+%global is_vbuilder %(if [ $USER == "vbuilder" ]; then echo 1; else echo 0; fi)
+%if 0%is_vbuilder
+%global _smp_ncpus_max 1
+%endif
+
+# note, parametrised macros are order-senisitve (unlike not-parametrized) even with normal macros
+# also necessary when passing it as parameter other macros. If not macro, then it is considered as switch
+%global debug_suffix_unquoted -debug
+# quoted one for shell operations
+%global debug_suffix "%{debug_suffix_unquoted}"
+%global normal_suffix ""
+
+#if you wont only debug build, but providing java, build only normal build, but  set normalbuild_parameter
+%global debugbuild_parameter  slowdebug
+%global normalbuild_parameter release
+%global debug_warning This package have full debug on. Install only in need, and remove asap.
+%global debug_on with full debug on
+%global for_debug for packages with debug on
+
+# by default we build normal build always.
+%global include_normal_build 1
+%if %{include_normal_build}
+%global build_loop1 %{normal_suffix}
+%else
+%global build_loop1 %{nil}
+%endif
+
+%if %{with debug_build}
+%global include_debug_build 1
+%else
+%global include_debug_build 0
+%endif
+
+# on intels, we build shenandoah htspot
+%ifarch x86_64
+%global use_shenandoah_hotspot 1
+%else
+%global use_shenandoah_hotspot 0
+%endif
+
+%if %{include_debug_build}
+%global build_loop2 %{debug_suffix}
+%else
+%global build_loop2 %{nil}
+%endif
+
+# if you disable both builds, then build fails
+%global build_loop  %{build_loop1} %{build_loop2}
+# note, that order  normal_suffix debug_suffix, in case of both enabled,
+# is expected in one single case at the end of build
+%global rev_build_loop  %{build_loop2} %{build_loop1}
+
+%ifarch %{jit_arches}
+%global bootstrap_build 1
+%else
+%global bootstrap_build 0
+%endif
+
+%if %{bootstrap_build}
+%global targets bootcycle-images docs
+%else
+%global targets all
+%endif
+
+%global aarch64         aarch64 arm64 armv8
+%global multilib_arches x86_64
+%global jit_arches      %{ix86} x86_64 %{aarch64}
+
+%ifnarch %{jit_arches}
+# Disable hardened build on non-jit arches. Work-around for RHBZ#1290936.
+%undefine _hardened_build
+%global ourcppflags %{nil}
+%global ourldflags %{nil}
+%else
+%ifarch %{aarch64}
+# Disable hardened build on AArch64 as it didn't bootcycle
+%undefine _hardened_build
+%global ourcppflags "-fstack-protector-strong"
+%global ourldflags %{nil}
+%else
+# Filter out flags from the optflags macro that cause problems with the OpenJDK build
+# We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
+# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
+# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
+# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
+%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
+%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
+%global ourldflags %{__global_ldflags}
+%endif
+%endif
+
+%if %{with system_nss}
+# With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
+# the initialisation must be here. LAter the pkg-connfig have bugy behaviour
+#looks liekopenjdk RPM specific bug
+# Always set this so the nss.cfg file is not broken
+%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
+%global NSS_LIBS %(pkg-config --libs nss)
+%global NSS_CFLAGS %(pkg-config --cflags nss-softokn)
+# see https://bugzilla.redhat.com/show_bug.cgi?id=1332456
+%global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : )
+#this is worakround for processing of requires during srpm creation
+%global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi)
+%global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : )
+%global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi)
+%endif
+
+# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
+%global _privatelibs libmawt[.]so.*
+%global __provides_exclude ^(%{_privatelibs})$
+%global __requires_exclude ^(%{_privatelibs})$
+
+%ifarch x86_64
+%global archinstall amd64
+%endif
+%ifarch %{ix86}
+%global archinstall i386
+%endif
+%ifarch %{arm}
+%global archinstall arm
+%endif
+%ifarch %{aarch64}
+%global archinstall aarch64
+%endif
+%ifnarch %{jit_arches}
+%global archinstall %{_arch}
+%endif
+
+
+
+%ifarch %{jit_arches}
+%global with_systemtap 1
+%else
+%global with_systemtap 0
+%endif
+
+# 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.
+%global script 'use File::Spec; print File::Spec->abs2rel($ARGV[0], $ARGV[1])'
+%global abs2rel %{__perl} -e %{script}
+
+
+# Standard JPackage naming and versioning defines.
+%global origin          openjdk
+# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
+%global project         aarch64-port
+%global repo            jdk8u
+%global revision        aarch64-jdk8u92-b14
+# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60  (dont forget spec escape % by %%)
+%global whole_update    %(VERSION=%{revision}; echo ${VERSION%%-*})
+# eg  jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
+%global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u})
+# eg jdk8u60-b27 -> b27
+%global buildver        %(VERSION=%{revision}; echo ${VERSION##*-})
+# priority must be 7 digits in total. The expression is workarounding tip
+%global priority        %(TIP=18000%{updatever};  echo ${TIP/tip/99})
+
+%global javaver         1.8.0
+
+# parametrized macros are order-sensitive
+%global fullversion     %{name}-%{version}-%{release}
+#images stub
+%global j2sdkimage       j2sdk-image
+# output dir stub
+%global buildoutputdir() %{expand:openjdk/build/jdk8.build%1}
+#we can copy the javadoc to not arched dir, or made it not noarch
+%global uniquejavadocdir()    %{expand:%{fullversion}%1}
+#main id and dir of this jdk
+%global uniquesuffix()        %{expand:%{fullversion}.%{_arch}%1}
+
+# Standard JPackage directories and symbolic links.
+%global sdkdir()        %{expand:%{uniquesuffix %%1}}
+%global jrelnk()        %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%1}
+
+%global jredir()        %{expand:%{sdkdir %%1}/jre}
+%global sdkbindir()     %{expand:%{_jvmdir}/%{sdkdir %%1}/bin}
+%global jrebindir()     %{expand:%{_jvmdir}/%{jredir %%1}/bin}
+%global jvmjardir()     %{expand:%{_jvmjardir}/%{uniquesuffix %%1}}
+
+%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
+
+%if %{with_systemtap}
+# Where to install systemtap tapset (links)
+# We would like these to be in a package specific subdir,
+# but currently systemtap doesn't support that, so we have to
+# use the root tapset dir for now. To distinquish between 64
+# and 32 bit architectures we place the tapsets under the arch
+# specific dir (note that systemtap will only pickup the tapset
+# for the primary arch for now). Systemtap uses the machine name
+# aka build_cpu as architecture specific directory name.
+%global tapsetroot /usr/share/systemtap
+%global tapsetdir %{tapsetroot}/tapset/%{_build_cpu}
+%endif
+
+# not-duplicated scriplets for normal/debug packages
+%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+%global post_script() %{expand:
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+exit 0
+}
+
+
+%global post_headless() %{expand:
+# FIXME: identical binaries are copied, not linked. This needs to be
+# fixed upstream.
+# The pretrans lua scriptlet prevents an unmodified java.security
+# from being replaced via an update. It gets created as
+# java.security.rpmnew instead. This invalidates the patch of
+# JDK-8061210 of the January 2015 CPU, JDK-8043201 of the
+# July 2015 CPU and JDK-8141287 of the January 2016 CPU. We
+# fix this via a post scriptlet which runs on updates.
+if [ "$1" -gt 1 ]; then
+  javasecurity="%{_jvmdir}/%{uniquesuffix}/jre/lib/security/java.security"
+  sum=$(md5sum "${javasecurity}" | cut -d' ' -f1)
+  # This is the md5sum of an unmodified java.security file
+  if [ "${sum}" = '1690ac33955594f71dc952c9e83fd396' -o \\
+       "${sum}" = 'b138695d0c0ea947e64a21a627d973ba' -o \\
+       "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \\
+       "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \\
+       "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' -o \\
+       "${sum}" = '321342219bb130d238ff144b9e5dbfc1' -o \\
+       "${sum}" = '134a37a84983b620f4d8d51a550c0c38' ]; then
+    if [ -f "${javasecurity}.rpmnew" ]; then
+      mv -f "${javasecurity}.rpmnew" "${javasecurity}"
+    fi
+  fi
+fi
+
+%ifarch %{jit_arches}
+# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
+%ifnarch %{power64}
+#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
+%{jrebindir %%1}/java -Xshare:dump >/dev/null 2>/dev/null
+%endif
+%endif
+
+PRIORITY=%{priority}
+if [ "%1" == %{debug_suffix} ]; then
+  let PRIORITY=PRIORITY-1
+fi
+
+ext=.gz
+alternatives \\
+  --install %{_bindir}/java java %{jrebindir %%1}/java $PRIORITY \\
+  --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir %%1} \\
+  --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk %%1} \\
+  --slave %{_bindir}/jjs jjs %{jrebindir %%1}/jjs \\
+  --slave %{_bindir}/keytool keytool %{jrebindir %%1}/keytool \\
+  --slave %{_bindir}/orbd orbd %{jrebindir %%1}/orbd \\
+  --slave %{_bindir}/pack200 pack200 %{jrebindir %%1}/pack200 \\
+  --slave %{_bindir}/rmid rmid %{jrebindir %%1}/rmid \\
+  --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir %%1}/rmiregistry \\
+  --slave %{_bindir}/servertool servertool %{jrebindir %%1}/servertool \\
+  --slave %{_bindir}/tnameserv tnameserv %{jrebindir %%1}/tnameserv \\
+  --slave %{_bindir}/policytool policytool %{jrebindir %%1}/policytool \\
+  --slave %{_bindir}/unpack200 unpack200 %{jrebindir %%1}/unpack200 \\
+  --slave %{_mandir}/man1/java.1$ext java.1$ext \\
+  %{_mandir}/man1/java-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
+  %{_mandir}/man1/jjs-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
+  %{_mandir}/man1/keytool-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \\
+  %{_mandir}/man1/orbd-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
+  %{_mandir}/man1/pack200-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
+  %{_mandir}/man1/rmid-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
+  %{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \\
+  %{_mandir}/man1/servertool-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\
+  %{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\
+  %{_mandir}/man1/policytool-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
+  %{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1$ext
+
+for X in %{origin} %{javaver} ; do
+  alternatives \\
+    --install %{_jvmdir}/jre-"$X" \\
+    jre_"$X" %{_jvmdir}/%{jredir %%1} $PRIORITY \\
+    --slave %{_jvmjardir}/jre-"$X" \\
+    jre_"$X"_exports %{_jvmdir}/%{jredir %%1}
+done
+
+update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1} $PRIORITY \\
+--slave %{_jvmjardir}/jre-%{javaver}       jre_%{javaver}_%{origin}_exports      %{jvmjardir %%1}
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+exit 0
+}
+
+%global postun_script() %{expand:
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+if [ $1 -eq 0 ] ; then
+    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    %{update_desktop_icons}
+fi
+exit 0
+}
+
+
+%global postun_headless() %{expand:
+  alternatives --remove java %{jrebindir %%1}/java
+  alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir %%1}
+  alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir %%1}
+  alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk %%1}
+}
+
+%global posttrans_script() %{expand:
+%{update_desktop_icons}
+}
+
+%global post_devel() %{expand:
+
+PRIORITY=%{priority}
+if [ "%1" == %{debug_suffix} ]; then
+  let PRIORITY=PRIORITY-1
+fi
+
+ext=.gz
+alternatives \\
+  --install %{_bindir}/javac javac %{sdkbindir %%1}/javac $PRIORITY \\
+  --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir %%1} \\
+  --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir %%1} \\
+  --slave %{_bindir}/appletviewer appletviewer %{sdkbindir %%1}/appletviewer \\
+  --slave %{_bindir}/extcheck extcheck %{sdkbindir %%1}/extcheck \\
+  --slave %{_bindir}/idlj idlj %{sdkbindir %%1}/idlj \\
+  --slave %{_bindir}/jar jar %{sdkbindir %%1}/jar \\
+  --slave %{_bindir}/jarsigner jarsigner %{sdkbindir %%1}/jarsigner \\
+  --slave %{_bindir}/javadoc javadoc %{sdkbindir %%1}/javadoc \\
+  --slave %{_bindir}/javah javah %{sdkbindir %%1}/javah \\
+  --slave %{_bindir}/javap javap %{sdkbindir %%1}/javap \\
+  --slave %{_bindir}/jcmd jcmd %{sdkbindir %%1}/jcmd \\
+  --slave %{_bindir}/jconsole jconsole %{sdkbindir %%1}/jconsole \\
+  --slave %{_bindir}/jdb jdb %{sdkbindir %%1}/jdb \\
+  --slave %{_bindir}/jdeps jdeps %{sdkbindir %%1}/jdeps \\
+  --slave %{_bindir}/jhat jhat %{sdkbindir %%1}/jhat \\
+  --slave %{_bindir}/jinfo jinfo %{sdkbindir %%1}/jinfo \\
+  --slave %{_bindir}/jmap jmap %{sdkbindir %%1}/jmap \\
+  --slave %{_bindir}/jps jps %{sdkbindir %%1}/jps \\
+  --slave %{_bindir}/jrunscript jrunscript %{sdkbindir %%1}/jrunscript \\
+  --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir %%1}/jsadebugd \\
+  --slave %{_bindir}/jstack jstack %{sdkbindir %%1}/jstack \\
+  --slave %{_bindir}/jstat jstat %{sdkbindir %%1}/jstat \\
+  --slave %{_bindir}/jstatd jstatd %{sdkbindir %%1}/jstatd \\
+  --slave %{_bindir}/native2ascii native2ascii %{sdkbindir %%1}/native2ascii \\
+  --slave %{_bindir}/rmic rmic %{sdkbindir %%1}/rmic \\
+  --slave %{_bindir}/schemagen schemagen %{sdkbindir %%1}/schemagen \\
+  --slave %{_bindir}/serialver serialver %{sdkbindir %%1}/serialver \\
+  --slave %{_bindir}/wsgen wsgen %{sdkbindir %%1}/wsgen \\
+  --slave %{_bindir}/wsimport wsimport %{sdkbindir %%1}/wsimport \\
+  --slave %{_bindir}/xjc xjc %{sdkbindir %%1}/xjc \\
+  --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\
+  %{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\
+  %{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\
+  %{_mandir}/man1/idlj-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
+  %{_mandir}/man1/jar-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
+  %{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
+  %{_mandir}/man1/javac-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
+  %{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/javah.1$ext javah.1$ext \\
+  %{_mandir}/man1/javah-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
+  %{_mandir}/man1/javap-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
+  %{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
+  %{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
+  %{_mandir}/man1/jdb-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
+  %{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \\
+  %{_mandir}/man1/jhat-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
+  %{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
+  %{_mandir}/man1/jmap-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
+  %{_mandir}/man1/jps-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
+  %{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \\
+  %{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
+  %{_mandir}/man1/jstack-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
+  %{_mandir}/man1/jstat-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
+  %{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \\
+  %{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
+  %{_mandir}/man1/rmic-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\
+  %{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
+  %{_mandir}/man1/serialver-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\
+  %{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\
+  %{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1$ext \\
+  --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\
+  %{_mandir}/man1/xjc-%{uniquesuffix %%1}.1$ext
+
+for X in %{origin} %{javaver} ; do
+  alternatives \\
+    --install %{_jvmdir}/java-"$X" \\
+    java_sdk_"$X" %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
+    --slave %{_jvmjardir}/java-"$X" \\
+    java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir %%1}
+done
+
+update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1} $PRIORITY \\
+--slave %{_jvmjardir}/java-%{javaver}-%{origin}       java_sdk_%{javaver}_%{origin}_exports      %{_jvmjardir}/%{sdkdir %%1}
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+exit 0
+}
+
+%global postun_devel() %{expand:
+  alternatives --remove javac %{sdkbindir %%1}/javac
+  alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir %%1}
+  alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir %%1}
+  alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir %%1}
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+
+if [ $1 -eq 0 ] ; then
+    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    %{update_desktop_icons}
+fi
+exit 0
+}
+
+%global posttrans_devel() %{expand:
+%{update_desktop_icons}
+}
+
+%global post_javadoc() %{expand:
+
+PRIORITY=%{priority}
+if [ "%1" == %{debug_suffix} ]; then
+  let PRIORITY=PRIORITY-1
+fi
+
+alternatives \\
+  --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api \\
+  $PRIORITY
+exit 0
+}
+
+%global postun_javadoc() %{expand:
+  alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir %%1}/api
+exit 0
+}
+
+%global post_javadoc_zip() %{expand:
+
+PRIORITY=%{priority}
+if [ "%1" == %{debug_suffix} ]; then
+  let PRIORITY=PRIORITY-1
+fi
+
+alternatives \\
+  --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip \\
+  $PRIORITY
+exit 0
+}
+
+%global postun_javadoc_zip() %{expand:
+  alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir %%1}.zip
+exit 0
+}
+
+%global files_jre() %{expand:
+%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
+%{_datadir}/applications/*policytool%1.desktop
+}
+
+
+%global files_jre_headless() %{expand:
+%defattr(-,root,root,-)
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/ASSEMBLY_EXCEPTION
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/THIRD_PARTY_README
+%dir %{_jvmdir}/%{sdkdir %%1}
+%{_jvmdir}/%{jrelnk %%1}
+%{_jvmjardir}/%{jrelnk %%1}
+%{_jvmprivdir}/*
+%{jvmjardir %%1}
+%dir %{_jvmdir}/%{jredir %%1}/lib/security
+%{_jvmdir}/%{jredir %%1}/lib/security/cacerts
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/US_export_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/local_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.policy
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/java.security
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/blacklisted.certs
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/logging.properties
+%{_mandir}/man1/java-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jjs-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/keytool-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/orbd-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/pack200-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/rmid-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/rmiregistry-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/servertool-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/tnameserv-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/unpack200-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/policytool-%{uniquesuffix %%1}.1*
+%if %{with system_nss}
+%config(noreplace) %{_jvmdir}/%{jredir %%1}/lib/security/nss.cfg
+%endif
+%ifarch %{jit_arches}
+%ifnarch %{power64}
+%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/classes.jsa
+%attr(664, root, root) %ghost %{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/classes.jsa
+%endif
+%endif
+%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/server/
+%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/client/
+}
+
+%global files_devel() %{expand:
+%defattr(-,root,root,-)
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/ASSEMBLY_EXCEPTION
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/LICENSE
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/THIRD_PARTY_README
+%dir %{_jvmdir}/%{sdkdir %%1}/bin
+%dir %{_jvmdir}/%{sdkdir %%1}/include
+%dir %{_jvmdir}/%{sdkdir %%1}/lib
+%{_jvmdir}/%{sdkdir %%1}/bin/*
+%{_jvmdir}/%{sdkdir %%1}/include/*
+%{_jvmdir}/%{sdkdir %%1}/lib/*
+%{_jvmjardir}/%{sdkdir %%1}
+%{_datadir}/applications/*jconsole%1.desktop
+%{_mandir}/man1/appletviewer-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/extcheck-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/idlj-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jar-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jarsigner-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/javac-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/javadoc-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/javah-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/javap-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jconsole-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jcmd-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jdb-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jdeps-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jhat-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jinfo-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jmap-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jps-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jrunscript-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jsadebugd-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jstack-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jstat-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/jstatd-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/native2ascii-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/rmic-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/schemagen-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/serialver-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/wsgen-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/wsimport-%{uniquesuffix %%1}.1*
+%{_mandir}/man1/xjc-%{uniquesuffix %%1}.1*
+%if %{with_systemtap}
+%dir %{tapsetroot}
+%dir %{tapsetdir}
+%{tapsetdir}/*%{version}-%{release}.%{_arch}%1.stp
+%dir %{_jvmdir}/%{sdkdir %%1}/tapset
+%{_jvmdir}/%{sdkdir %%1}/tapset/*.stp
+%endif
+}
+
+%global files_demo() %{expand:
+%defattr(-,root,root,-)
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
+}
+
+%global files_src() %{expand:
+%defattr(-,root,root,-)
+%doc README.src
+%{_jvmdir}/%{sdkdir %%1}/src.zip
+}
+
+%global files_javadoc() %{expand:
+%defattr(-,root,root,-)
+%doc %{_javadocdir}/%{uniquejavadocdir %%1}
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
+}
+
+%global files_javadoc_zip() %{expand:
+%defattr(-,root,root,-)
+%doc %{_javadocdir}/%{uniquejavadocdir %%1}.zip
+%doc %{buildoutputdir %%1}/images/%{j2sdkimage}/jre/LICENSE
+}
+
+%global files_accessibility() %{expand:
+%{_jvmdir}/%{jredir %%1}/lib/%{archinstall}/libatk-wrapper.so
+%{_jvmdir}/%{jredir %%1}/lib/ext/java-atk-wrapper.jar
+%{_jvmdir}/%{jredir %%1}/lib/accessibility.properties
+}
+
+# not-duplicated requires/provides/obsolate for normal/debug packages
+%global java_rpo() %{expand:
+Requires: fontconfig
+Requires: xorg-x11-fonts-Type1
+
+# Requires rest of java
+Requires: %{name}-headless%1 = %{version}-%{release}
+OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
+
+
+# Standard JPackage base provides.
+Provides: jre-%{javaver}-%{origin}%1 = %{version}-%{release}
+Provides: jre-%{origin}%1 = %{version}-%{release}
+Provides: jre-%{javaver}%1 = %{version}-%{release}
+Provides: java-%{javaver}%1 = %{version}-%{release}
+Provides: jre = %{javaver}%1
+Provides: java-%{origin}%1 = %{version}-%{release}
+Provides: java%1 = %{javaver}
+# Standard JPackage extensions provides.
+Provides: java-fonts%1 = %{version}
+
+Obsoletes: java-1.7.0-openjdk%1
+Obsoletes: java-1.5.0-gcj%1
+Obsoletes: sinjdoc
+}
+
+%global java_headless_rpo() %{expand:
+# Require /etc/pki/java/cacerts.
+Requires: ca-certificates
+# Require javapackages-tools for ownership of /usr/lib/jvm/
+Requires: javapackages-tools
+# Require zoneinfo data provided by tzdata-java subpackage.
+Requires: tzdata-java >= 2016e
+# libsctp.so.1 is being `dlopen`ed on demand
+Requires: lksctp-tools
+# there is need to depnd on exact version of nss
+%if %{with system_nss}
+Requires: nss
+%endif
+# 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
+Requires:	copy-jdk-configs >= 1.1-3
+OrderWithRequires: copy-jdk-configs
+# Post requires alternatives to install tool alternatives.
+Requires(post):   alternatives
+# Postun requires alternatives to uninstall tool alternatives.
+Requires(postun): alternatives
+
+# Standard JPackage base provides.
+Provides: jre-%{javaver}-%{origin}-headless%1 = %{version}-%{release}
+Provides: jre-%{origin}-headless%1 = %{version}-%{release}
+Provides: jre-%{javaver}-headless%1 = %{version}-%{release}
+Provides: java-%{javaver}-headless%1 = %{version}-%{release}
+Provides: jre-headless%1 = %{javaver}
+Provides: java-%{origin}-headless%1 = %{version}-%{release}
+Provides: java-headless%1 = %{javaver}
+# Standard JPackage extensions provides.
+Provides: jndi%1 = %{version}
+Provides: jndi-ldap%1 = %{version}
+Provides: jndi-cos%1 = %{version}
+Provides: jndi-rmi%1 = %{version}
+Provides: jndi-dns%1 = %{version}
+Provides: jaas%1 = %{version}
+Provides: jsse%1 = %{version}
+Provides: jce%1 = %{version}
+Provides: jdbc-stdext%1 = 4.1
+Provides: java-sasl%1 = %{version}
+
+Obsoletes: java-1.7.0-openjdk-headless%1
+}
+
+%global java_devel_rpo() %{expand:
+# Require base package.
+Requires:         %{name}%1 = %{version}-%{release}
+OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
+# Post requires alternatives to install tool alternatives.
+Requires(post):   alternatives
+# Postun requires alternatives to uninstall tool alternatives.
+Requires(postun): alternatives
+
+# Standard JPackage devel provides.
+Provides: java-sdk-%{javaver}-%{origin}%1 = %{version}
+Provides: java-sdk-%{javaver}%1 = %{version}
+Provides: java-sdk-%{origin}%1 = %{version}
+Provides: java-sdk%1 = %{javaver}
+Provides: java-%{javaver}-devel%1 = %{version}
+Provides: java-devel-%{origin}%1 = %{version}
+Provides: java-devel%1 = %{javaver}
+
+Obsoletes: java-1.7.0-openjdk-devel%1
+Obsoletes: java-1.5.0-gcj-devel%1
+}
+
+
+%global java_demo_rpo() %{expand:
+Requires: %{name}%1 = %{version}-%{release}
+OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
+
+Obsoletes: java-1.7.0-openjdk-demo%1
+}
+
+%global java_javadoc_rpo() %{expand:
+OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
+# Post requires alternatives to install javadoc alternative.
+Requires(post):   alternatives
+# Postun requires alternatives to uninstall javadoc alternative.
+Requires(postun): alternatives
+
+# Standard JPackage javadoc provides.
+Provides: java-javadoc%1 = %{version}-%{release}
+Provides: java-%{javaver}-javadoc%1 = %{version}-%{release}
+
+Obsoletes: java-1.7.0-openjdk-javadoc%1
+
+}
+
+%global java_src_rpo() %{expand:
+Requires: %{name}-headless%1 = %{version}-%{release}
+
+Obsoletes: java-1.7.0-openjdk-src%1
+}
+
+%global java_accessibility_rpo() %{expand:
+Requires: java-atk-wrapper
+Requires: %{name}%1 = %{version}-%{release}
+OrderWithRequires: %{name}-headless%1 = %{version}-%{release}
+
+Obsoletes: java-1.7.0-openjdk-accessibility%1
+}
+
+# Prevent brp-java-repack-jars from being run.
+%global __jar_repack 0
+
+Name:    java-%{javaver}-%{origin}
+Version: %{javaver}.%{updatever}
+Release: 1.%{buildver}%{?_dist_release}
+Summary: OpenJDK Runtime Environment
+Summary(ja): OpenJDK ランタイム環境
+Group:   Development/Languages
+
+License:  ASL 1.1 and ASL 2.0 and GPL+ and GPLv2 and GPLv2 with exceptions and LGPL+ and LGPLv2 and MPLv1.0 and MPLv1.1 and Public Domain and W3C
+URL:      http://openjdk.java.net/
+
+Vendor: Project Vine
+Distribution: Vine Linux
+
+# aarch64-port now contains integration forest of both aarch64 and normal jdk
+# Source from upstream OpenJDK8 project. To regenerate, use
+# VERSION=aarch64-jdk8u92-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION}
+# REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
+# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
+Source0: %{project}-%{repo}-%{revision}.tar.xz
+
+# Custom README for -src subpackage
+Source2:  README.src
+
+# Use 'generate_tarballs.sh' to generate the following tarballs
+# They are based on code contained in the IcedTea7 project.
+
+# Systemtap tapsets. Zipped up to keep it small.
+Source8: systemtap-tapset.tar.gz
+
+# Desktop files. Adapated from IcedTea.
+Source9: jconsole.desktop.in
+Source10: policytool.desktop.in
+
+# nss configuration file
+Source11: nss.cfg
+
+# Removed libraries that we link instead
+Source12: %{name}-remove-intree-libraries.sh
+
+# Ensure we aren't using the limited crypto policy
+Source13: TestCryptoLevel.java
+
+# Ensure ECDSA is working
+Source14: TestECDSA.java
+
+Source20: repackReproduciblePolycies.sh
+
+# New versions of config files with aarch64 support. This is not upstream yet.
+Source100: config.guess
+Source101: config.sub
+# shenandoah hotpost
+Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
+
+# RPM/distribution specific patches
+
+# Accessibility patches
+# Ignore AWTError when assistive technologies are loaded 
+Patch1:   %{name}-accessible-toolkit.patch
+# Restrict access to java-atk-wrapper classes
+Patch3: java-atk-wrapper-security.patch
+
+# Upstreamable patches
+# PR2737: Allow multiple initialization of PKCS11 libraries
+Patch5: multiple-pkcs11-library-init.patch
+# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
+Patch504: rh1163501.patch
+# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
+Patch511: rh1214835.patch
+# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
+Patch512: no_strict_overflow.patch
+# Support for building the SunEC provider with the system NSS installation
+# PR1983: Support using the system installation of NSS with the SunEC provider
+# PR2127: SunEC provider crashes when built using system NSS
+# PR2815: Race condition in SunEC provider with system NSS
+# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
+# PR2934: SunEC provider throwing KeyException with current NSS
+Patch513: pr1983-jdk.patch
+Patch514: pr1983-root.patch
+Patch515: pr2127.patch
+Patch516: pr2815.patch
+Patch517: pr2899.patch
+Patch518: pr2934.patch
+# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
+# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
+Patch508: rh1176206-jdk.patch
+Patch509: rh1176206-root.patch
+# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
+Patch523: pr2974-rh1337583.patch
+
+# Arch-specific upstreamable patches
+# PR2415: JVM -Xmx requirement is too high on s390
+Patch100: %{name}-s390-java-opts.patch
+# Type fixing for s390
+Patch102: %{name}-size_t.patch
+# Use "%z" for size_t on s390 as size_t != intptr_t
+Patch103: s390-size_t_format_flags.patch
+# PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code
+Patch524: pr2991-rh1341258.patch
+
+# Patches which need backporting to 8u
+# S8073139, RH1191652; fix name of ppc64le architecture
+Patch601: %{name}-rh1191652-root.patch
+Patch602: %{name}-rh1191652-jdk.patch
+Patch603: %{name}-rh1191652-hotspot-aarch64.patch
+# Include all sources in src.zip
+Patch7: include-all-srcs.patch
+# 8035341: Allow using a system installed libpng
+Patch202: system-libpng.patch
+# 8042159: Allow using a system-installed lcms2
+Patch203: system-lcms.patch
+# PR2462: Backport "8074839: Resolve disabled warnings for libunpack and the unpack200 binary"
+# This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
+Patch502: pr2462.patch
+# S8140620, PR2769: Find and load default.sf2 as the default soundbank on Linux
+# waiting on upstream: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2016-January/004916.html
+Patch605: soundFontPatch.patch
+# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
+Patch506: pr2842-01.patch
+Patch507: pr2842-02.patch
+
+# Patches upstream and appearing in 8u102
+# S8148752, PR2943, RH1330188: Compiled StringBuilder code throws StringIndexOutOfBoundsException
+Patch519: 8148752-pr2943-rh1330188.patch
+# S6961123, PR2972, RH1339740:  Java application name in GNOME Shell contains funny characters
+Patch520: 6961123-pr2972-rh1339740.patch
+
+# Patches upstream and appearing in 8u112
+# S8044762, PR2960: com/sun/jdi/OptionTest.java test time out
+Patch521: 8044762-pr2960.patch
+# S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again
+Patch522: 8049226-pr2960.patch
+# 8154210: Zero: Better byte behaviour
+Patch606: 8154210.patch
+
+# Patches ineligible for 8u
+# 8043805: Allow using a system-installed libjpeg
+Patch201: system-libjpeg.patch
+
+# Local fixes
+# see http://mail.openjdk.java.net/pipermail/build-dev/2016-March/016852.html thread
+Patch400: jdk8-archivedJavadoc.patch
+# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
+Patch525: pr1834-rh1022017.patch
+
+# Non-OpenJDK fixes
+Patch300: jstack-pr1845.patch
+
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: alsa-lib-devel
+BuildRequires: binutils
+BuildRequires: cups-devel
+BuildRequires: desktop-file-utils
+BuildRequires: fontconfig
+BuildRequires: freetype2-devel
+BuildRequires: giflib-devel
+BuildRequires: gcc-c++
+BuildRequires: gtk2-devel
+BuildRequires: lcms2-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libxslt
+BuildRequires: libX11-devel
+BuildRequires: libXi-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXt-devel
+BuildRequires: libXtst-devel
+%if %{with system_nss}
+# Requirements for setting up the nss.cfg
+BuildRequires: nss-devel
+%endif
+BuildRequires: pkgconfig
+BuildRequires: xorg-x11-proto-devel
+BuildRequires: zip
+%if %{with initial_build}
+BuildRequires: java-1.7.0-openjdk-devel
+%else
+BuildRequires: java-1.8.0-openjdk-devel
+%endif
+# Zero-assembler build requirement.
+%ifnarch %{jit_arches}
+BuildRequires: libffi-devel
+%endif
+BuildRequires: tzdata-java >= 2016e
+# Earlier versions have a bug in tree vectorization on PPC
+BuildRequires: gcc >= 4.8.3-8
+
+# cacerts build requirement.
+BuildRequires: openssl
+%if %{with_systemtap}
+BuildRequires: systemtap-sdt-devel
+%endif
+
+# this is built always, also during debug-only build
+# when it is built in debug-only, then this package is just placeholder
+%{java_rpo %{nil}}
+
+%description
+The OpenJDK runtime environment.
+
+%if %{include_debug_build}
+%package debug
+Summary: OpenJDK Runtime Environment %{debug_on}
+Group:   Development/Languages
+
+%{java_rpo %{debug_suffix_unquoted}}
+%description debug
+The OpenJDK runtime environment.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package headless
+Summary: OpenJDK Runtime Environment
+Group:   Development/Languages
+
+%{java_headless_rpo %{nil}}
+
+%description headless
+The OpenJDK runtime environment without audio and video support.
+%endif
+
+%if %{include_debug_build}
+%package headless-debug
+Summary: OpenJDK Runtime Environment %{debug_on}
+Group:   Development/Languages
+
+%{java_headless_rpo %{debug_suffix_unquoted}}
+
+%description headless-debug
+The OpenJDK runtime environment without audio and video support.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package devel
+Summary: OpenJDK Development Environment
+Group:   Development/Tools
+
+%{java_devel_rpo %{nil}}
+
+%description devel
+The OpenJDK development tools.
+%endif
+
+%if %{include_debug_build}
+%package devel-debug
+Summary: OpenJDK Development Environment %{debug_on}
+Group:   Development/Tools
+
+%{java_devel_rpo %{debug_suffix_unquoted}}
+
+%description devel-debug
+The OpenJDK development tools.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package demo
+Summary: OpenJDK Demos
+Group:   Development/Languages
+
+%{java_demo_rpo %{nil}}
+
+%description demo
+The OpenJDK demos.
+%endif
+
+%if %{include_debug_build}
+%package demo-debug
+Summary: OpenJDK Demos %{debug_on}
+Group:   Development/Languages
+
+%{java_demo_rpo %{debug_suffix_unquoted}}
+
+%description demo-debug
+The OpenJDK demos.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package src
+Summary: OpenJDK Source Bundle
+Group:   Development/Languages
+
+%{java_src_rpo %{nil}}
+
+%description src
+The OpenJDK source bundle.
+%endif
+
+%if %{include_debug_build}
+%package src-debug
+Summary: OpenJDK Source Bundle %{for_debug}
+Group:   Development/Languages
+
+%{java_src_rpo %{debug_suffix_unquoted}}
+
+%description src-debug
+The OpenJDK source bundle %{for_debug}.
+%endif
+
+%if %{include_normal_build}
+%package javadoc
+Summary: OpenJDK API Documentation
+Group:   Documentation
+Requires: javapackages-tools
+BuildArch: noarch
+
+%{java_javadoc_rpo %{nil}}
+
+%description javadoc
+The OpenJDK API documentation.
+%endif
+
+%if %{include_normal_build}
+%package javadoc-zip
+Summary: OpenJDK API Documentation compressed in single archive
+Group:   Documentation
+Requires: javapackages-tools
+BuildArch: noarch
+
+%{java_javadoc_rpo %{nil}}
+
+%description javadoc-zip
+The OpenJDK API documentation compressed in single archive.
+%endif
+
+%if %{include_debug_build}
+%package javadoc-debug
+Summary: OpenJDK API Documentation %{for_debug}
+Group:   Documentation
+Requires: javapackages-tools
+BuildArch: noarch
+
+%{java_javadoc_rpo %{debug_suffix_unquoted}}
+
+%description javadoc-debug
+The OpenJDK API documentation %{for_debug}.
+%endif
+
+%if %{include_debug_build}
+%package javadoc-zip-debug
+Summary: OpenJDK API Documentation compressed in single archive %{for_debug}
+Group:   Documentation
+Requires: javapackages-tools
+BuildArch: noarch
+
+%{java_javadoc_rpo %{debug_suffix_unquoted}}
+
+%description javadoc-zip-debug
+The OpenJDK API documentation compressed in single archive %{for_debug}.
+%endif
+
+
+%if %{include_normal_build}
+%package accessibility
+Summary: OpenJDK accessibility connector
+
+%{java_accessibility_rpo %{nil}}
+
+%description accessibility
+Enables accessibility support in OpenJDK by using java-atk-wrapper. This allows
+compatible at-spi2 based accessibility programs to work for AWT and Swing-based
+programs.
+
+Please note, the java-atk-wrapper is still in beta, and OpenJDK itself is still
+being tuned to be working with accessibility features. There are known issues
+with accessibility on, so please do not install this package unless you really
+need to.
+%endif
+
+%if %{include_debug_build}
+%package accessibility-debug
+Summary: OpenJDK accessibility connector %{for_debug}
+
+%{java_accessibility_rpo %{debug_suffix_unquoted}}
+
+%description accessibility-debug
+See normal java-%{version}-openjdk-accessibility description.
+%endif
+
+%prep
+if [ %{include_normal_build} -eq 0 -o  %{include_normal_build} -eq 1 ] ; then
+  echo "include_normal_build is %{include_normal_build}"
+else
+  echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
+  exit 11
+fi
+if [ %{include_debug_build} -eq 0 -o  %{include_debug_build} -eq 1 ] ; then
+  echo "include_debug_build is %{include_debug_build}"
+else
+  echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
+  exit 12
+fi
+if [ %{include_debug_build} -eq 0 -a  %{include_normal_build} -eq 0 ] ; then
+  echo "you have disabled both include_debug_build and include_debug_build. no go."
+  exit 13
+fi
+%setup -q -c -n %{uniquesuffix ""} -T -a 0
+# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
+prioritylength=`expr length %{priority}`
+if [ $prioritylength -ne 7 ] ; then
+ echo "priority must be 7 digits in total, violated"
+ exit 14
+fi
+# For old patches
+ln -s openjdk jdk8
+%if %{use_shenandoah_hotspot}
+#on intels, repalce hotpost by shenandoah-able hotspot
+pushd openjdk
+tar -xf %{SOURCE999}
+rm -rf hotspot
+cp -r openjdk/hotspot .
+rm -rf openjdk
+popd
+%endif
+
+cp %{SOURCE2} .
+
+# replace outdated configure guess script
+#
+# the configure macro will do this too, but it also passes a few flags not
+# supported by openjdk configure script
+cp %{SOURCE100} openjdk/common/autoconf/build-aux/
+cp %{SOURCE101} openjdk/common/autoconf/build-aux/
+
+# OpenJDK patches
+
+# Remove libraries that are linked
+sh %{SOURCE12}
+
+%patch201
+%patch202
+%patch203
+
+%patch1
+%patch3
+%patch5
+%patch7
+
+# s390 build fixes
+%patch100
+%patch102
+%patch103
+
+# ppc64le fixes
+%patch524
+
+# Zero fixes.
+%patch606
+
+%patch603
+%patch601
+%patch602
+%patch605
+
+%patch502
+%patch504
+%patch506
+%patch507
+%patch508
+%patch509
+%patch511
+%patch512
+%patch513
+%patch514
+%patch515
+%patch516
+%patch517
+%patch518
+%patch519
+%patch400
+%patch520
+%patch521
+%patch522
+%patch523
+%patch525
+
+# Extract systemtap tapsets
+%if %{with_systemtap}
+tar xzf %{SOURCE8}
+%patch300
+%if %{include_debug_build}
+cp -r tapset tapset%{debug_suffix}
+%endif
+
+
+for suffix in %{build_loop} ; do
+  for file in "tapset"$suffix/*.in; do
+    OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g`
+    sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
+# TODO find out which architectures other than i686 have a client vm
+%ifarch %{ix86}
+    sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
+%else
+    sed -e '/@ABS_CLIENT_LIBJVM_SO@/d' $file.1 > $OUTPUT_FILE
+%endif
+    sed -i -e s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir $suffix}:g $OUTPUT_FILE
+    sed -i -e s:@INSTALL_ARCH_DIR@:%{archinstall}:g $OUTPUT_FILE
+  done
+done
+# systemtap tapsets ends
+%endif
+
+# Prepare desktop files
+for suffix in %{build_loop} ; do
+for file in %{SOURCE9} %{SOURCE10} ; do
+    FILE=`basename $file | sed -e s:\.in$::g`
+    EXT="${FILE##*.}"
+    NAME="${FILE%.*}"
+    OUTPUT_FILE=$NAME$suffix.$EXT
+    sed -e s:#JAVA_HOME#:%{sdkbindir $suffix}:g $file > $OUTPUT_FILE
+    sed -i -e  s:#JRE_HOME#:%{jrebindir $suffix}:g $OUTPUT_FILE
+    sed -i -e  s:#ARCH#:%{version}-%{release}.%{_arch}$suffix:g $OUTPUT_FILE
+done
+done
+
+%build
+# How many cpu's do we have?
+export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
+export NUM_PROC=${NUM_PROC:-1}
+%if 0%{?_smp_ncpus_max}
+# Honor %%_smp_ncpus_max
+[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
+%endif
+
+# Build IcedTea and OpenJDK.
+%ifarch s390x sparc64 alpha %{power64} %{aarch64}
+export ARCH_DATA_MODEL=64
+%endif
+%ifarch alpha
+export CFLAGS="$CFLAGS -mieee"
+%endif
+
+# We use ourcppflags because the OpenJDK build seems to
+# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
+# Explicitly set the C++ standard as the default has changed on GCC >= 6
+EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
+EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
+%ifarch %{power64} ppc
+# fix rpmlint warnings
+EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
+%endif
+export EXTRA_CFLAGS
+
+(cd openjdk/common/autoconf
+ bash ./autogen.sh
+)
+
+for suffix in %{build_loop} ; do
+if [ "$suffix" = "%{debug_suffix}" ] ; then
+debugbuild=%{debugbuild_parameter}
+else
+debugbuild=%{normalbuild_parameter}
+fi
+
+mkdir -p %{buildoutputdir $suffix}
+pushd %{buildoutputdir $suffix}
+
+%if %{with system_nss}
+NSS_LIBS="%{NSS_LIBS} -lfreebl" \
+NSS_CFLAGS="%{NSS_CFLAGS}" \
+%endif
+bash ../../configure \
+%ifnarch %{jit_arches}
+    --with-jvm-variants=zero \
+%endif
+    --disable-zip-debug-info \
+    --with-milestone="fcs" \
+    --with-update-version=%{updatever} \
+    --with-build-number=%{buildver} \
+    --with-boot-jdk=/usr/lib/jvm/java-openjdk \
+    --with-debug-level=$debugbuild \
+    --enable-unlimited-crypto \
+%if %{with system_nss}
+    --enable-system-nss \
+%endif
+    --with-zlib=system \
+    --with-libjpeg=system \
+    --with-giflib=system \
+    --with-libpng=system \
+    --with-lcms=bundled \
+    --with-stdc++lib=dynamic \
+    --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
+    --with-extra-cflags="$EXTRA_CFLAGS" \
+    --with-extra-ldflags="%{ourldflags}" \
+    --with-num-cores="$NUM_PROC"
+
+cat spec.gmk
+cat hotspot-spec.gmk
+
+# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
+# disables FDS for all build configs and reverts to pre-FDS make logic.
+# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
+# ignore all the other logic about which debug options and just do '-g'.
+
+make \
+    DEBUG_BINARIES=true \
+    JAVAC_FLAGS=-g \
+    STRIP_POLICY=no_strip \
+    POST_STRIP_CMD="" \
+    LOG=trace \
+    SCTP_WERROR= \
+    %{targets}
+
+make zip-docs
+
+# the build (erroneously) removes read permissions from some jars
+# this is a regression in OpenJDK 7 (our compiler):
+# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+find images/%{j2sdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
+chmod ugo+r images/%{j2sdkimage}/lib/ct.sym
+
+# remove redundant *diz and *debuginfo files
+find images/%{j2sdkimage} -iname '*.diz' -exec rm {} \;
+find images/%{j2sdkimage} -iname '*.debuginfo' -exec rm {} \;
+
+popd >& /dev/null
+
+# Install nss.cfg right away as we will be using the JRE above
+export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
+
+%if %{with system_nss}
+# Install nss.cfg right away as we will be using the JRE above
+install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
+%endif
+
+# Use system-wide tzdata
+rm $JAVA_HOME/jre/lib/tzdb.dat
+ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
+
+#build cycles
+done
+
+%check
+
+# We test debug first as it will give better diagnostics on a crash
+for suffix in %{rev_build_loop} ; do
+
+export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage}
+
+# Check unlimited policy has been used
+$JAVA_HOME/bin/javac -d . %{SOURCE13}
+$JAVA_HOME/bin/java TestCryptoLevel
+
+# Check ECC is working
+$JAVA_HOME/bin/javac -d . %{SOURCE14}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
+
+# Check debug symbols are present and can identify code
+SERVER_JVM="$JAVA_HOME/jre/lib/%{archinstall}/server/libjvm.so"
+if [ -f "$SERVER_JVM" ] ; then
+  nm -aCl "$SERVER_JVM" | grep javaCalls.cpp
+fi
+CLIENT_JVM="$JAVA_HOME/jre/lib/%{archinstall}/client/libjvm.so"
+if [ -f "$CLIENT_JVM" ] ; then
+  nm -aCl "$CLIENT_JVM" | grep javaCalls.cpp
+fi
+ZERO_JVM="$JAVA_HOME/jre/lib/%{archinstall}/zero/libjvm.so"
+if [ -f "$ZERO_JVM" ] ; then
+  nm -aCl "$ZERO_JVM" | grep javaCalls.cpp
+fi
+
+# Check src.zip has all sources. See RHBZ#1130490
+jar -tf $JAVA_HOME/src.zip | grep 'sun.misc.Unsafe'
+
+# Check class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
+
+# Check generated class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
+done
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+STRIP_KEEP_SYMTAB=libjvm*
+
+for suffix in %{build_loop} ; do
+
+pushd %{buildoutputdir  $suffix}/images/%{j2sdkimage}
+
+#install jsa directories so we can owe them
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/server/
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}/client/
+
+  # Install main files.
+  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
+  cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
+  install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
+  cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}
+
+%if %{with_systemtap}
+  # Install systemtap support files.
+  install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset
+  # note, that uniquesuffix  is in BUILD dir in this case
+  cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
+  pushd  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/tapset/
+   tapsetFiles=`ls *.stp`
+  popd
+  install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
+  pushd $RPM_BUILD_ROOT%{tapsetdir}
+    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir $suffix}/tapset %{tapsetdir})
+    for name in $tapsetFiles ; do
+      targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
+      ln -sf $RELATIVE/$name $targetName
+    done
+  popd
+%endif
+
+  # Install cacerts symlink.
+  rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security/cacerts
+  pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix}/lib/security
+    RELATIVE=$(%{abs2rel} %{_sysconfdir}/pki/java \
+      %{_jvmdir}/%{jredir $suffix}/lib/security)
+    ln -sf $RELATIVE/cacerts .
+  popd
+
+  # Install extension symlinks.
+  install -d -m 755 $RPM_BUILD_ROOT%{jvmjardir $suffix}
+  pushd $RPM_BUILD_ROOT%{jvmjardir $suffix}
+    RELATIVE=$(%{abs2rel} %{_jvmdir}/%{jredir $suffix}/lib %{jvmjardir $suffix})
+    ln -sf $RELATIVE/jsse.jar jsse-%{version}.jar
+    ln -sf $RELATIVE/jce.jar jce-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jndi-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jndi-ldap-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jndi-cos-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jndi-rmi-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jaas-%{version}.jar
+    ln -sf $RELATIVE/rt.jar jdbc-stdext-%{version}.jar
+    ln -sf jdbc-stdext-%{version}.jar jdbc-stdext-3.0.jar
+    ln -sf $RELATIVE/rt.jar sasl-%{version}.jar
+    for jar in *-%{version}.jar
+    do
+      if [ x%{version} != x%{javaver} ]
+      then
+        ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|-%{javaver}.jar|g")
+      fi
+      ln -sf $jar $(echo $jar | sed "s|-%{version}.jar|.jar|g")
+    done
+  popd
+
+  # Install JCE policy symlinks.
+  install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix $suffix}/jce/vanilla
+
+  # Install versioned symlinks.
+  pushd $RPM_BUILD_ROOT%{_jvmdir}
+    ln -sf %{jredir $suffix} %{jrelnk $suffix}
+  popd
+
+  pushd $RPM_BUILD_ROOT%{_jvmjardir}
+    ln -sf %{sdkdir $suffix} %{jrelnk $suffix}
+  popd
+
+  # Remove javaws man page
+  rm -f man/man1/javaws*
+
+  # Install man pages.
+  install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
+  for manpage in man/man1/*
+  do
+    # Convert man pages to UTF8 encoding.
+    iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
+    mv -f $manpage.tmp $manpage
+    install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
+      $manpage .1)-%{uniquesuffix $suffix}.1
+  done
+
+  # Install demos and samples.
+  cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
+  mkdir -p sample/rmi
+  if [ ! -e sample/rmi/java-rmi.cgi ] ; then 
+    # hack to allow --short-circuit on install
+    mv bin/java-rmi.cgi sample/rmi
+  fi
+  cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}
+
+popd
+
+
+# Install Javadoc documentation.
+install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
+cp -a %{buildoutputdir $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
+cp -a %{buildoutputdir $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip  $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}.zip
+
+# Install icons and menu entries.
+for s in 16 24 32 48 ; do
+  install -D -p -m 644 \
+    openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
+    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}.png
+done
+
+# Install desktop files.
+install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
+for e in jconsole$suffix policytool$suffix ; do
+    desktop-file-install --vendor=%{uniquesuffix $suffix} --mode=644 \
+        --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
+done
+
+# Install /etc/.java/.systemPrefs/ directory
+# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
+
+# Find JRE directories.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type d \
+  | grep -v jre/lib/security \
+  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
+  > %{name}.files-headless"$suffix"
+# Find JRE files.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir $suffix} -type f -o -type l \
+  | grep -v jre/lib/security \
+  | sed 's|'$RPM_BUILD_ROOT'||' \
+  > %{name}.files.all"$suffix"
+#split %%{name}.files to %%{name}.files-headless and %%{name}.files
+#see https://bugzilla.redhat.com/show_bug.cgi?id=875408
+NOT_HEADLESS=\
+"%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjsoundalsa.so
+%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libpulse-java.so
+%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libsplashscreen.so
+%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libawt_xawt.so
+%{_jvmdir}/%{uniquesuffix $suffix}/jre/lib/%{archinstall}/libjawt.so
+%{_jvmdir}/%{uniquesuffix $suffix}/jre/bin/policytool"
+#filter  %%{name}.files from  %%{name}.files.all to %%{name}.files-headless
+ALL=`cat %{name}.files.all"$suffix"`
+for file in $ALL ; do 
+  INLCUDE="NO" ; 
+  for blacklist in $NOT_HEADLESS ; do
+#we can not match normally, because rpmbuild will evaluate !0 result as script failure
+    q=`expr match "$file" "$blacklist"` || :
+    l=`expr length  "$blacklist"` || :
+    if [ $q -eq $l  ]; then 
+      INLCUDE="YES" ; 
+    fi;
+done
+if [ "x$INLCUDE" = "xNO"  ]; then 
+    echo "$file" >> %{name}.files-headless"$suffix"
+else
+    echo "$file" >> %{name}.files"$suffix"
+fi
+done
+# Find demo directories.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
+  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample -type d \
+  | sed 's|'$RPM_BUILD_ROOT'|%dir |' \
+  > %{name}-demo.files"$suffix"
+
+# FIXME: remove SONAME entries from demo DSOs.  See
+# https://bugzilla.redhat.com/show_bug.cgi?id=436497
+
+# Find non-documentation demo files.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
+  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
+  -type f -o -type l | sort \
+  | grep -v README \
+  | sed 's|'$RPM_BUILD_ROOT'||' \
+  >> %{name}-demo.files"$suffix"
+# Find documentation demo files.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/demo \
+  $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir $suffix}/sample \
+  -type f -o -type l | sort \
+  | grep README \
+  | sed 's|'$RPM_BUILD_ROOT'||' \
+  | sed 's|^|%doc |' \
+  >> %{name}-demo.files"$suffix"
+
+# intentionally after the files generation, as it goes to separate package
+# Create links which leads to separately installed java-atk-bridge and allow configuration
+# links points to java-atk-wrapper - an dependence
+  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/%{archinstall}
+    ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
+  popd
+  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/ext
+     ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar  java-atk-wrapper.jar
+  popd
+  pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/
+    echo "#Config file to  enable java-atk-wrapper" > accessibility.properties
+    echo "" >> accessibility.properties
+    echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
+    echo "" >> accessibility.properties
+  popd
+
+bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix} %{javaver}
+# https://bugzilla.redhat.com/show_bug.cgi?id=1183793
+touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir $suffix}/lib/security/java.security
+
+# end, dual install
+done
+
+%if %{include_normal_build} 
+# intentioanlly only for non-debug
+%pretrans headless -p <lua>
+-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
+-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
+-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
+-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in tranasction  and so is
+-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends 
+-- whether copy-jdk-configs is installed or not. If so, then configs are copied
+-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
+local posix = require "posix"
+local debug = false
+
+SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
+SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
+
+local stat1 = posix.stat(SOURCE1, "type");
+local stat2 = posix.stat(SOURCE2, "type");
+
+  if (stat1 ~= nil) then
+  if (debug) then
+    print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
+  end;
+  package.path = package.path .. ";" .. SOURCE1
+else 
+  if (stat2 ~= nil) then
+  if (debug) then
+    print(SOURCE2 .." exists - copy-jdk-configs alrady installed and NOT in transation. Using.")
+  end;
+  package.path = package.path .. ";" .. SOURCE2
+  else
+    if (debug) then
+      print(SOURCE1 .." does NOT exists")
+      print(SOURCE2 .." does NOT exists")
+      print("No config files will be copied")
+    end
+  return
+  end
+end
+-- run contetn of included file with fake args
+arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}"}
+require "copy_jdk_configs.lua"
+
+%post 
+%{post_script %{nil}}
+
+%post headless
+%{post_headless %{nil}}
+
+%postun
+%{postun_script %{nil}}
+
+%postun headless
+%{postun_headless %{nil}}
+
+%posttrans
+%{posttrans_script %{nil}}
+
+%post devel
+%{post_devel %{nil}}
+
+%postun devel
+%{postun_devel %{nil}}
+
+%posttrans  devel
+%{posttrans_devel %{nil}}
+
+%post javadoc
+%{post_javadoc %{nil}}
+
+%postun javadoc
+%{postun_javadoc %{nil}}
+
+%post javadoc-zip
+%{post_javadoc_zip %{nil}}
+
+%postun javadoc-zip
+%{postun_javadoc_zip %{nil}}
+%endif
+
+%if %{include_debug_build} 
+%post debug
+%{post_script %{debug_suffix_unquoted}}
+
+%post headless-debug
+%{post_headless %{debug_suffix_unquoted}}
+
+%postun debug
+%{postun_script %{debug_suffix_unquoted}}
+
+%postun headless-debug
+%{postun_headless %{debug_suffix_unquoted}}
+
+%posttrans debug
+%{posttrans_script %{debug_suffix_unquoted}}
+
+%post devel-debug
+%{post_devel %{debug_suffix_unquoted}}
+
+%postun devel-debug
+%{postun_devel %{debug_suffix_unquoted}}
+
+%posttrans  devel-debug
+%{posttrans_devel %{debug_suffix_unquoted}}
+
+%post javadoc-debug
+%{post_javadoc %{debug_suffix_unquoted}}
+
+%postun javadoc-debug
+%{postun_javadoc %{debug_suffix_unquoted}}
+
+%post javadoc-zip-debug
+%{post_javadoc_zip %{debug_suffix_unquoted}}
+
+%postun javadoc-zip-debug
+%{postun_javadoc_zip %{debug_suffix_unquoted}}
+%endif
+
+%if %{include_normal_build} 
+%files -f %{name}.files
+# main package builds always
+%{files_jre %{nil}}
+%else
+%files
+# placeholder
+%endif
+
+
+%if %{include_normal_build} 
+%files headless  -f %{name}.files-headless
+# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue 
+# all config/norepalce files (and more) have to be declared in pretrans. See pretrans
+%{files_jre_headless %{nil}}
+
+%files devel
+%{files_devel %{nil}}
+
+%files demo -f %{name}-demo.files
+%{files_demo %{nil}}
+
+%files src
+%{files_src %{nil}}
+
+%files javadoc
+%{files_javadoc %{nil}}
+
+%files javadoc-zip
+%{files_javadoc_zip %{nil}}
+
+%files accessibility
+%{files_accessibility %{nil}}
+%endif
+
+%if %{include_debug_build} 
+%files debug -f %{name}.files-debug
+%{files_jre %{debug_suffix_unquoted}}
+
+%files headless-debug  -f %{name}.files-headless-debug
+%{files_jre_headless %{debug_suffix_unquoted}}
+
+%files devel-debug
+%{files_devel %{debug_suffix_unquoted}}
+
+%files demo-debug -f %{name}-demo.files-debug
+%{files_demo %{debug_suffix_unquoted}}
+
+%files src-debug
+%{files_src %{debug_suffix_unquoted}}
+
+%files javadoc-debug
+%{files_javadoc %{debug_suffix_unquoted}}
+
+%files javadoc-zip-debug
+%{files_javadoc_zip %{debug_suffix_unquoted}}
+
+%files accessibility-debug
+%{files_accessibility %{debug_suffix_unquoted}}
+%endif
+
+%changelog
+* Tue Jun 21 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.8.0.92-1.b14
+- new upstream release.
+- replaced most of stuff with specfile of rawhide.
+- initial bootstrap build with java-1.7.0-openjdk.
+
+* Tue Nov 17 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.91-2.6.2.1
+- new upstream release.
+- import changes from CentOS7.
+
+* Mon Jul 14 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0.55-2.4.7.3
+- replaced most of stuff with specfile of RHEL7.
+
+    * Fri May 30 2014 Andrew John Hughes <gnu.andrew@redhat.com> - 1.7.0.55-2.4.7.2
+    - Remove NSS patches. Issues with PKCS11 provider mean it shouldn't be enabled.
+    - Always setup nss.cfg and depend on nss-devel at build-time to do so.
+    - This allows users who wish to use PKCS11+NSS to just add it to java.security.
+    - Patches to PKCS11 provider will be included upstream in 2.4.8 (ETA July 2014)
+    - Resolves: rhbz#1099565
+
+    * Tue May 20 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.55-2.4.7.0.el7
+    - bumped to future icedtea-forest 2.4.7
+    - updatever set to 55, buildver se to 13, release reset to 0
+    - removed upstreamed patch402 gstackbounds.patch
+    - removed Requires: rhino, BuildRequires is enough
+    - ppc64 repalced by power64 macro
+    - patch111 applied as dry-run (6.6 forward port)
+    - nss enabled, but notused as default (6.6 forward port)
+    - Resolves: rhbz#1099565
+
+    * Fri Apr 04 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.5.el7
+    - added OrderWithRequires on headless where possible
+    - Resolves: rhbz#1038092
+
+    * Thu Mar 27 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.3.el7
+    - synced lua script from fedora.
+    - Resolves: rhbz#1038092
+
+    * Fri Mar 14 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.2.el7
+    - added fstack-protector-strong to CFLAGS
+    - Resolves: rhbz#1070816
+
+    * Thu Mar 06 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.1.el7
+    - diabled NSS. Missuisng 1038092 for it as it is in hurry.
+    - Related: rhbz#1038092
+
+    * Thu Jan 30 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.5.0.el7
+    - updated to icedtea 2.4.5 + sync with f21
+     - http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/
+    - removed buildRequires: pulseaudio >= 0.9.11, as not neccessary
+     -  but kept libs-devel)
+    - removed upstreamed or unwonted patches (thanx to gnu_andrew to pointing them out)
+     - patch410 1015432.patch (upstreamed)
+     - patch411 1029588.patch
+     - patch412 zero-x32.diff
+     - patch104 java-1.7.0-ppc-zero-jdk.patch
+     - patch105 java-1.7.0-ppc-zero-hotspot.patch
+    - patch402 gstackbounds.patch and patch403 PStack-808293.patch applied always
+ (again thanx to gnu_andrew)
+    - merged other gnu_andrew's changes
+     - FT2_CFLAGS and FT2_LIBS hardoced values replaced by correct pkg-config calls 
+     - buildver bumbed to 31
+    - added build requires  nss-devel
+    - removed build requires mercurial
+    - added JRE_RELEASE_VERSION and ALT_PARALLEL_COMPILE_JOBS into make call
+    - Related: rhbz1038092
+
+    * Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 1.7.0.51-2.4.4.1
+    - Mass rebuild 2014-01-24
+
+    * Fri Jan 10 2014 Jiri Vanek <jvanek@redhat.com> - 1.7.0.51-2.4.4.0.el7
+    - updated to security icedtea 2.4.4
+     - icedtea_version set to 2.4.4
+     - updatever bumped to       51
+     - release reset to 0
+    - sync with fedora
+     - added and applied patch411 1029588.patch (rh 1029588)
+     - added aand applied patch410, 1015432 (rh 1015432)
+     - and so removed patch121 FixPPC64StackOverflow.patch
+    - added patch412 zero-x32.diff to try to fix zero builds build
+    - Resolves: rhbz#1053280
+
+    * Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.7.0.45-2.4.3.5.el7 
+    - Mass rebuild 2013-12-27
+
+    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.4.fel7
+    - Removed obsoletes for java-1.6.0-openjdk* ,  until decided its presence in el7
+    - Resolves:rhbz#1018680
+
+    * Thu Oct 31 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.3.fel7
+    - just bumped release, need to confirm, that   patch121, FixPPC64StackOverflow.patch
+  really works
+    - Resolves:rhbz#1018680
+
+    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.2.fel7
+    - added and applied patch121, FixPPC64StackOverflow.patch
+    - all redundant ppc64 strings replaced by power64 macro
+    - Resolves:rhbz#1018680
+
+    * Wed Oct 16 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.1.fel7
+    - updated to new  CPU sources 2.4.3
+    - Resolves:rhbz#1018680
+
+    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.3.0.fel7
+    - updated to latest CPU sources 2.4.3
+    - Resolves:rhbz#1018680
+
+    * Mon Oct 14 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.12.fel7
+    - jdk splitted to headless and rest
+    - Resolves:rhbz#875408
+
+    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.11.fel7
+    - another tapset fix 
+    - Resolves:rhbz#875408
+
+    * Fri Oct 04 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.10.fel7
+    - abrt changed to soft dependece
+    - Resolves:rhbz#875408
+
+    * Thu Oct 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.9.el7
+    - renamed tapset source to be "versioned"
+    - improved agent placement
+    - Resolves:rhbz#875408
+
+    * Wed Oct 02 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.8.el7
+    - updated tapset to current head (825824)
+    - Resolves:rhbz#875408
+
+    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.7.el7
+    - fixed incorrect  _jvmdir/jre-javaver_origin to  _jvmdir/jre-javaver-origin link
+    - Resolves:rhbz#875408
+
+    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.6.el7
+    - syncing with f20 - abrt connector
+    - Resolves:rhbz#875408
+
+    * Tue Oct 01 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.40-2.4.2.3.el7
+    - syncing with f19/rhel-6.5
+    - Resolves:rhbz#875408
+
+
+    * Wed Aug 07 2013 Deepak Bhole <dbhole@redhat.com> - 1.7.0.25-2.3.12.3.el7
+    - Removed obsoletes for java-1.6.0-openjdk*
+
+    * Fri Jul 26 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.12.2.el7
+    - refreshed icedtea7-forest 2.3.12
+    - fix broken jre_exports alternatives links (thanx to orion bug #979128)
+
+    * Thu Jul 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.11.0.el7
+    - added new alternatives jre-1.7.0-openjdk and java-1.7.0-openjdk 
+    - finally merged arm and main source tarballs
+    - updated to icedtea 2.3.11
+     - http://blog.fuseyism.com/index.php/2013/07/25/icedtea-2-3-11-released/
+    - added removal of new jre-1.7.0-openjdk and java-1.7.0-openjdk alternatives
+    - removed patch 400, rhino for 2.1 and other 2.1 conditional stuff
+    - removed patch 103 arm-fixes.patch
+    - removed "dir" from files which was duplicating jre in sdk
+
+    * Fri Jul 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
+    - jrelnk is now just lnk, everything is pointing through jredir
+
+    * Thu Jul 18 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.6.el7
+    - minor cleaning
+    - sdklnk removed, and substitued by  sdkdir
+
+    * Wed Jul 03 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.5.fel7
+    - moved to xz compression of sources
+    - updated 2.1 tarball
+
+    * Thu Jun 27 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.4.el7
+    - Sync with upstream IcedTea7-forest 2.3.10 tag
+    - Fixes regressions as introduced with 1.7.0.25-2.3.10.3.el6:
+  rhbz#978005, rhbz#977979, rhbz#976693, IcedTeaBZ#1487.
+    - all patch commands repalced by patch macro
+  - updated java-1.7.0-openjdk-ppc-zero-hotspot.patch to pass without loose patching
+
+    * Wed Jun 19 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.3.el7
+    - update of IcedTea7-forest 2.3.10 tarball
+    - removed patch1000 MBeanFix.patch to fix regressions caused by security patches
+
+
+    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.2.el7
+    - added patch1000 MBeanFix.patch to fix regressions caused by security patches
+
+    * Thu Jun 13 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.25-2.3.10.1.el7
+    - arm tarball updated to 2.1.9
+    - build bumped to 25
+
+    * Wed Jun 12 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.10.0.el7
+    - fixed RH972717 by enabling patch110 java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
+    - temporarly swithced to intree lcms as it have security fixes (patch 500)
+     - added  GENSRCDIR="$PWD/generated.build" to be able to
+     - removed (build)requires  lcms2(-devel)
+    - Updated to latest IcedTea7-forest 2.3.10
+
+    * Wed Jun 05 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.14.fc19
+    - Added client/server directories so they can be owned
+    - Renamed patch 107 to 200
+    - Added nss support from 6.5
+    - Added fix for RH857717, owned /etc/.java/ and /etc/.java/.systemPrefs
+    - Removed ant-nodeps, should not be needed
+
+    * Tue May 28 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.19-2.3.9.13.el7
+    - javadoc put into fully versioned directory, but without arch (to be kept noarch)
+     - uniquejavadocdir
+    - updated to latest 2.3.9 tarball - fixing the rhbz#967436
+
+    * Mon May 27 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
+    - Allowed multiple OpenJDKs to be installed in parallel
+    - Removed archname
+    - Added arch to all, not only multilib arches
+    - uniquesuffix is now holding fully versioned name
+    - Intorduced source11 remove-buildids.sh
+
+    * Fri May 17 2013 Omair Majid <omajid@redhat.com> - 1.7.0.19-2.3.9.12.el7
+    - Replace %{name} with %{uniquesuffix} where it's used as a unique suffix.
+
+    * Thu May 16 2013 Jiri Vanek <jvanek@redhat.com>
+    - added variable arm_arches as restriction to some cases of not jit_arches
+
+    * Tue May 14 2013 Jiri Vanek <jvanek@redhat.com>
+    - patch402 gstackbounds.patch applied only to jit arches
+    - patch403 PStack-808293.patch likewise
+
+    * Mon May 13 2013 Jiri Vanek <jvanek@redhat.com>
+    - initial, not buildable, sync with f19
+
+* Tue Mar 12 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.9-2.3.8.1
+- update to icedtea7 2.3.8
+
+* Sun Jul 22 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 1.7.0.5-2.2.1.1
+- initial build for Vine Linux
+
+* Mon Jul 09 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.5-2.2.1.fc18.9
+- Added support to build older (2.1.1/u3/hs22) version on non-jit (secondary)
+  arches
+
+* Wed Jun 13 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.8
+- Fixed broken provides sections
+- Changed java-devel requirement to be self's devel (java-1.7.0-openjdk-devel)
+
+* Mon Jun 11 2012 jiri Vanek <jvanek@redhat.com> - 1.7.0.3-2.2.1fc18.7
+- Used newly prepared tarball with security fixes
+- Bump to icedtea7-forest-2.2.1
+- _mandir/man1/jcmd-name.1 added to alternatives
+- Updated rhino.patch
+- Modified partially upstreamed patch302 - systemtap.patch
+- Temporarly disabled patch102 - java-1.7.0-openjdk-size_t.patch
+- Removed already upstreamed patches 104,107,108,301
+  - java-1.7.0-openjdk-arm-ftbfs.patch
+  - java-1.7.0-openjdk-system-zlib.patch
+  - java-1.7.0-openjdk-remove-mimpure-opt.patch
+  - systemtap-alloc-size-workaround.patch
+- patch 105 (java-1.7.0-openjdk-ppc-zero-jdk.patch) have become 104
+- patch 106 (java-1.7.0-openjdk-ppc-zero-hotspot.patch) have become 105
+- Added build requires zip, which was untill now  dependence  of dependence
+- Access gnome brridge jar forced to be 644
+
+* Fri May 25 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.7
+- Miscellaneous fixes brought in from RHEL branch
+- Resolves: rhbz#825255: Added ALT_STRIP_POLICY so that debug info is not stripped
+- Moved Patch #7 (usage of system zlib) to #107
+
+* Tue May 01 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.6
+- Removed VisualVM requirements
+- Obsoleted java-1.6.0-openjdk*
+- Added BR for zip
+
+* Mon Mar 26 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.5
+- Added SystemTap fixes by Mark Wielaard
+
+* Sat Mar 24 2012 Dan Horák <dan[at]danny.cz>> - 1.7.0.3-2.1.fc17.4
+- update paths in the ppc patches, add missing snippet
+
+* Wed Mar 21 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.3
+- Reverted fix for rhbz#740762
+- Fixed PPC/PPC64 build (rh804136) -- added patches from Chris Phillips
+- Moved OpenJDK specific patches to 1XX series
+
+* Mon Mar 12 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.2
+- Resolved rhbz#740762: java.library.path is missing some paths
+- Unified spec file for x86, x86_64, ARM and s390
+  - Integrated changes from Dan Horák <dhorak@redhat.com> for Zero/s390
+  - Integrated changes from Chris Phillips <chphilli@redhat.com> for Zero/ARM
+
+* Fri Feb 24 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1.fc17.1
+- Added flag so that debuginfo is built into classfiles (rhbz# 796400)
+- Updated rhino.patch to build scripting support (rhbz# 796398)
+
+* Tue Feb 14 2012 Deepak Bhole <dbhole@redhat.com> - 1.7.0.3-2.1
+- Updated to OpenJDK7u3/IcedTea7 2.1
+- Security fixes:
+  - S7112642, CVE-2012-0497: Incorrect checking for graphics rendering object
+  - S7082299, CVE-2011-3571: AtomicReferenceArray insufficient array type check
+  - S7110687, CVE-2012-0503: Unrestricted use of TimeZone.setDefault
+  - S7110700, CVE-2012-0505: Incomplete info in the deserialization exception
+  - S7110683, CVE-2012-0502: KeyboardFocusManager focus stealing
+  - S7088367, CVE-2011-3563: JavaSound incorrect bounds check
+  - S7126960, CVE-2011-5035: Add property to limit number of request headers to the HTTP Server
+  - S7118283, CVE-2012-0501: Off-by-one bug in ZIP reading code
+  - S7110704, CVE-2012-0506: CORBA fix
+- Add patch to fix compilation with GCC 4.7
+
+* Tue Nov 15 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.3
+- Added patch to fix bug in jdk_generic_profile.sh
+- Compile with generic profile to use system libraries
+- Made remove-intree-libraries.sh more robust
+- Added lcms requirement
+- Added patch to fix glibc name clash
+- Updated java version to include -icedtea
+
+* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.2
+- Added missing changelog entry
+
+* Sun Nov 06 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.1-2.0.1
+- Updated to IcedTea 2.0 tag in the IcedTea OpenJDK7 forest
+- Removed obsoleted patches
+- Added system timezone support
+- Revamp version/release naming scheme to make it proper
+- Security fixes
+  - S7000600, CVE-2011-3547: InputStream skip() information leak
+  - S7019773, CVE-2011-3548: mutable static AWTKeyStroke.ctor
+  - S7023640, CVE-2011-3551: Java2D TransformHelper integer overflow
+  - S7032417, CVE-2011-3552: excessive default UDP socket limit under SecurityManager
+  - S7046823, CVE-2011-3544: missing SecurityManager checks in scripting engine
+  - S7055902, CVE-2011-3521: IIOP deserialization code execution
+  - S7057857, CVE-2011-3554: insufficient pack200 JAR files uncompress error checks
+  - S7064341, CVE-2011-3389: HTTPS: block-wise chosen-plaintext attack against SSL/TLS (BEAST)
+  - S7070134, CVE-2011-3558: HotSpot crashes with sigsegv from PorterStemmer
+  - S7077466, CVE-2011-3556: RMI DGC server remote code execution
+  - S7083012, CVE-2011-3557: RMI registry privileged code execution
+  - S7096936, CVE-2011-3560: missing checkSetFactory calls in HttpsURLConnection
+
+* Mon Aug 29 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110823.1
+- Provide a "7" version of items to enfore F-16 policy of no Java 7 builds
+- Resolves: rhbz#728706,  patch from Ville Skyttä <ville.skytta at iki dot fi>
+
+* Fri Aug 05 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110803
+- Use a newer snapshot and forest on classpath.org rather than on openjdk.net
+- Added in-tree-removal script to remove libraries that we manually link
+- Updated snapshots
+- Added DISTRO_NAME and FreeType header/lib locations
+- Removed application of patch100 and patch 113 (now in forest)
+
+* Wed Aug 03 2011 Deepak Bhole <dbhole@redhat.com> - 1.7.0.0-0.1.20110729
+- Initial build from java-1.6.0-openjdk RPM

+ 15 - 3
n/nss/nss-vl.spec

@@ -27,10 +27,12 @@
 Summary:          Network Security Services
 Name:             nss
 Version:          3.21.1
-Release:          2%{?_dist_release}
+Release:          3%{?_dist_release}
 License:          MPLv1.1 or GPLv2+ or LGPLv2+
 URL:              http://www.mozilla.org/projects/security/pki/nss/
 Group:            System Environment/Libraries
+Vendor:           Project Vine
+Distribution:     Vine Linux
 
 Source0:          %{name}-%{version}.tar.gz
 Source1:          nss.pc.in
@@ -264,8 +266,8 @@ NSS_NO_PKCS11_BYPASS=1
 export NSS_NO_PKCS11_BYPASS
 
 # partial RELRO support as a security enhancement
-LDFLAGS+=-Wl,-z,relro
-export LDFLAGS
+#LDFLAGS+=-Wl,-z,relro
+#export LDFLAGS
 
 FREEBL_NO_DEPEND=1
 export FREEBL_NO_DEPEND
@@ -382,6 +384,12 @@ do
   %{__install} -p -m 644 dist/private/nss/$file $RPM_BUILD_ROOT/%{_includedir}/nss3
 done
 
+# Copy the static freebl library
+for file in libfreebl.a
+do
+%{__install} -p -m 644 dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
+done
+
 # Set up our package file
 %{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
 %{__cat} %{SOURCE1} | sed -e "s,%%libdir%%,%{_libdir},g" \
@@ -529,6 +537,7 @@ chmod 755 $RPM_BUILD_ROOT/%{_bindir}/nss-softokn-config
 %files devel
 %defattr(-,root,root)
 %{_libdir}/libcrmf.a
+%{_libdir}/libfreebl.a
 %{_libdir}/pkgconfig/nss.pc
 %{_libdir}/pkgconfig/nss-softokn.pc
 %{_libdir}/pkgconfig/nss-util.pc
@@ -655,6 +664,9 @@ chmod 755 $RPM_BUILD_ROOT/%{_bindir}/nss-softokn-config
 
 
 %changelog
+* Mon Jun 20 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.21.1-3
+- added libfreebl.a.
+
 * Mon Jun 20 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.21.1-2
 - enabled softokn and freebl.
 - dropped Patch47 and Patch49.