break package.

The jdk8 packages have been left out of minor bugfixes which meat 7. This must be fixed before f21 release. Some work done now, but more awaiting. Pushing for today
This commit is contained in:
Jiri Vanek 2014-08-05 17:06:43 +02:00
parent b0f0942875
commit b5340fbdd8
5 changed files with 386 additions and 205 deletions

View File

@ -4,7 +4,7 @@
%global aarch64_hg_tag 992 %global aarch64_hg_tag 992
%global aarch64 aarch64 arm64 armv8 %global aarch64 aarch64 arm64 armv8
%global multilib_arches %{power64} sparc64 x86_64 %{aarch64} %global multilib_arches %{power64} sparc64 x86_64
%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64}
# sometimes we need to distinguish big and little endian PPC64 # sometimes we need to distinguish big and little endian PPC64
@ -12,6 +12,17 @@
%global ppc64le ppc64le %global ppc64le ppc64le
%global ppc64be ppc64 ppc64p7 %global ppc64be ppc64 ppc64p7
# 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)
#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 %ifarch x86_64
%global archinstall amd64 %global archinstall amd64
%endif %endif
@ -81,10 +92,8 @@
%ifarch %{multilib_arches} %ifarch %{multilib_arches}
%global syslibdir %{_prefix}/lib64 %global syslibdir %{_prefix}/lib64
%global _libdir %{_prefix}/lib %global _libdir %{_prefix}/lib
%global archname %{name}.%{_arch}
%else %else
%global syslibdir %{_libdir} %global syslibdir %{_libdir}
%global archname %{name}
%endif %endif
# Standard JPackage naming and versioning defines. # Standard JPackage naming and versioning defines.
@ -98,24 +107,19 @@
%global javaver 1.8.0 %global javaver 1.8.0
# Standard JPackage directories and symbolic links. # Standard JPackage directories and symbolic links.
# Make 64-bit JDKs just another alternative on 64-bit architectures. %global sdkdir %{uniquesuffix}
%ifarch %{multilib_arches} %global jrelnk jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}
%global sdklnk java-%{javaver}-%{origin}.%{_arch}
%global jrelnk jre-%{javaver}-%{origin}.%{_arch}
%global sdkdir %{name}-%{version}.%{_arch}
%else
%global sdklnk java-%{javaver}-%{origin}
%global jrelnk jre-%{javaver}-%{origin}
%global sdkdir %{name}-%{version}
%endif
%global jredir %{sdkdir}/jre %global jredir %{sdkdir}/jre
%global sdkbindir %{_jvmdir}/%{sdklnk}/bin %global sdkbindir %{_jvmdir}/%{sdkdir}/bin
%global jrebindir %{_jvmdir}/%{jrelnk}/bin %global jrebindir %{_jvmdir}/%{jredir}/bin
%ifarch %{multilib_arches} %global jvmjardir %{_jvmjardir}/%{uniquesuffix}
%global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch}
%else %global fullversion %{name}-%{version}-%{release}
%global jvmjardir %{_jvmjardir}/%{name}-%{version}
%endif %global uniquesuffix %{fullversion}.%{_arch}
#we can copy the javadoc to not arched dir, or made it not noarch
%global uniquejavadocdir %{fullversion}
%if %{with_systemtap} %if %{with_systemtap}
# Where to install systemtap tapset (links) # Where to install systemtap tapset (links)
@ -135,7 +139,7 @@
Name: java-%{javaver}-%{origin} Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{updatever} Version: %{javaver}.%{updatever}
Release: 8.%{buildver}%{?dist} Release: 10.%{buildver}%{?dist}
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons,
# and this change was brought into RHEL-4. java-1.5.0-ibm packages # and this change was brought into RHEL-4. java-1.5.0-ibm packages
# also included the epoch in their virtual provides. This created a # also included the epoch in their virtual provides. This created a
@ -161,8 +165,6 @@ Source1: aarch64-hotspot-jdk8-%{aarch64_buildver}-aarch64-%{aarch64_hg_tag}.tar
# Custom README for -src subpackage # Custom README for -src subpackage
Source2: README.src Source2: README.src
Source3: java-abrt-launcher.in
# Use 'generate_tarballs.sh' to generate the following tarballs # Use 'generate_tarballs.sh' to generate the following tarballs
# They are based on code contained in the IcedTea7 project. # They are based on code contained in the IcedTea7 project.
@ -254,11 +256,13 @@ BuildRequires: libXi-devel
BuildRequires: libXinerama-devel BuildRequires: libXinerama-devel
BuildRequires: libXt-devel BuildRequires: libXt-devel
BuildRequires: libXtst-devel BuildRequires: libXtst-devel
# Requirements for setting up the nss.cfg
BuildRequires: nss-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel BuildRequires: xorg-x11-proto-devel
#BuildRequires: redhat-lsb #BuildRequires: redhat-lsb
BuildRequires: zip BuildRequires: zip
BuildRequires: java-1.8.0-openjdk-devel BuildRequires: java-1.7.0-openjdk-devel
# Zero-assembler build requirement. # Zero-assembler build requirement.
%ifnarch %{jit_arches} %ifnarch %{jit_arches}
BuildRequires: libffi-devel BuildRequires: libffi-devel
@ -280,6 +284,8 @@ Requires: xorg-x11-fonts-Type1
# Requires rest of java # Requires rest of java
Requires: %{name}-headless = %{epoch}:%{version}-%{release} Requires: %{name}-headless = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
# Standard JPackage base provides. # Standard JPackage base provides.
Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release} Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
@ -298,7 +304,6 @@ Provides: java-1.7.0-openjdk = %{epoch}:%{version}-%{release}
%description %description
The OpenJDK runtime environment. The OpenJDK runtime environment.
%package headless %package headless
Summary: OpenJDK Runtime Environment Summary: OpenJDK Runtime Environment
Group: Development/Languages Group: Development/Languages
@ -319,7 +324,7 @@ Provides: jre-%{javaver}-%{origin}-headless = %{epoch}:%{version}-%{release}
Provides: jre-%{origin}-headless = %{epoch}:%{version}-%{release} Provides: jre-%{origin}-headless = %{epoch}:%{version}-%{release}
Provides: jre-%{javaver}-headless = %{epoch}:%{version}-%{release} Provides: jre-%{javaver}-headless = %{epoch}:%{version}-%{release}
Provides: java-%{javaver}-headless = %{epoch}:%{version}-%{release} Provides: java-%{javaver}-headless = %{epoch}:%{version}-%{release}
Provides: jre-headless = %{javaver} Provides: jre-headless = %{epoch}:%{javaver}
Provides: java-%{origin}-headless = %{epoch}:%{version}-%{release} Provides: java-%{origin}-headless = %{epoch}:%{version}-%{release}
Provides: java-headless = %{epoch}:%{javaver} Provides: java-headless = %{epoch}:%{javaver}
# Standard JPackage extensions provides. # Standard JPackage extensions provides.
@ -340,13 +345,13 @@ Provides: java-1.7.0-openjdk-headless = %{epoch}:%{version}-%{release}
%description headless %description headless
The OpenJDK runtime environment without audio and video support. The OpenJDK runtime environment without audio and video support.
%package devel %package devel
Summary: OpenJDK Development Environment Summary: OpenJDK Development Environment
Group: Development/Tools Group: Development/Tools
# Require base package. # Require base package.
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
# Post requires alternatives to install tool alternatives. # Post requires alternatives to install tool alternatives.
Requires(post): %{_sbindir}/alternatives Requires(post): %{_sbindir}/alternatives
# Postun requires alternatives to uninstall tool alternatives. # Postun requires alternatives to uninstall tool alternatives.
@ -372,6 +377,7 @@ Summary: OpenJDK Demos
Group: Development/Languages Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
Obsoletes: java-1.7.0-openjdk-demo <= 1:1.7.0.60-2.5.0.2 Obsoletes: java-1.7.0-openjdk-demo <= 1:1.7.0.60-2.5.0.2
Provides: java-1.7.0-openjdk-demo = %{epoch}:%{version}-%{release} Provides: java-1.7.0-openjdk-demo = %{epoch}:%{version}-%{release}
@ -397,6 +403,7 @@ Group: Documentation
Requires: jpackage-utils Requires: jpackage-utils
BuildArch: noarch BuildArch: noarch
OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
# Post requires alternatives to install javadoc alternative. # Post requires alternatives to install javadoc alternative.
Requires(post): %{_sbindir}/alternatives Requires(post): %{_sbindir}/alternatives
# Postun requires alternatives to uninstall javadoc alternative. # Postun requires alternatives to uninstall javadoc alternative.
@ -412,11 +419,11 @@ Provides: java-1.7.0-openjdk-javadoc = %{epoch}:%{version}-%{release}
%description javadoc %description javadoc
The OpenJDK API documentation. The OpenJDK API documentation.
%package accessibility %package accessibility
Summary: OpenJDK accessibility connector Summary: OpenJDK accessibility connector
Requires: java-atk-wrapper Requires: java-atk-wrapper
Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release}
Obsoletes: java-1.7.0-openjdk-accessibility <= 1:1.7.0.60-2.5.0.2 Obsoletes: java-1.7.0-openjdk-accessibility <= 1:1.7.0.60-2.5.0.2
Provides: java-1.7.0-openjdk-accessibility = %{epoch}:%{version}-%{release} Provides: java-1.7.0-openjdk-accessibility = %{epoch}:%{version}-%{release}
@ -498,7 +505,7 @@ for file in tapset/*.in; do
OUTPUT_FILE=`echo $file | sed -e s:\.in$::g` OUTPUT_FILE=`echo $file | sed -e s:\.in$::g`
sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1 sed -e s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/server/libjvm.so:g $file > $file.1
# TODO find out which architectures other than ix86 have a client vm # TODO find out which architectures other than i686 have a client vm
%ifarch %{ix86} %ifarch %{ix86}
sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE
%else %else
@ -514,8 +521,8 @@ done
# Prepare desktop files # Prepare desktop files
for file in %{SOURCE9} %{SOURCE10} ; do for file in %{SOURCE9} %{SOURCE10} ; do
OUTPUT_FILE=`basename $file | sed -e s:\.in$::g` OUTPUT_FILE=`basename $file | sed -e s:\.in$::g`
sed -e s:@JAVA_HOME@:%{_jvmdir}/%{sdkdir}:g $file > $OUTPUT_FILE sed -e s:#JAVA_HOME#:%{sdkbindir}:g $file > $OUTPUT_FILE
sed -i -e s:@VERSION@:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE sed -i -e s:#ARCH#:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE
done done
%build %build
@ -524,13 +531,15 @@ export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
export NUM_PROC=${NUM_PROC:-1} export NUM_PROC=${NUM_PROC:-1}
# Build IcedTea and OpenJDK. # Build IcedTea and OpenJDK.
%ifarch s390x sparc64 alpha %{power64} %ifarch s390x sparc64 alpha %{power64} %{aarch64}
export ARCH_DATA_MODEL=64 export ARCH_DATA_MODEL=64
%endif %endif
%ifarch alpha %ifarch alpha
export CFLAGS="$CFLAGS -mieee" export CFLAGS="$CFLAGS -mieee"
%endif %endif
export CFLAGS="$CFLAGS -fstack-protector-strong"
(cd jdk8/common/autoconf (cd jdk8/common/autoconf
bash ./autogen.sh bash ./autogen.sh
) )
@ -589,12 +598,12 @@ find images/j2sdk-image -iname '*.debuginfo' -exec rm {} \;
popd >& /dev/null popd >& /dev/null
# Install nss.cfg right away as we will be using the JRE above
export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image export JAVA_HOME=$(pwd)/%{buildoutputdir}/images/j2sdk-image
# Install java-abrt-luncher # Install nss.cfg right away as we will be using the JRE above
mv $JAVA_HOME/jre/bin/java $JAVA_HOME/jre/bin/java-abrt install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/
cat %{SOURCE3} | sed -e s:@JAVA_PATH@:%{_jvmdir}/%{jredir}/bin/java-abrt:g -e s:@LIB_DIR@:%{LIBDIR}/libabrt-java-connector.so:g > $JAVA_HOME/jre/bin/java
chmod 755 $JAVA_HOME/jre/bin/java
# Use system-wide tzdata # Use system-wide tzdata
rm $JAVA_HOME/jre/lib/tzdb.dat rm $JAVA_HOME/jre/lib/tzdb.dat
@ -630,6 +639,10 @@ popd
pushd %{buildoutputdir}/images/j2sdk-image pushd %{buildoutputdir}/images/j2sdk-image
#install jsa directories so we can owe them
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
# Install main files. # Install main files.
install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}
@ -639,7 +652,7 @@ pushd %{buildoutputdir}/images/j2sdk-image
%if %{with_systemtap} %if %{with_systemtap}
# Install systemtap support files. # Install systemtap support files.
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset
cp -a $RPM_BUILD_DIR/%{name}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/ cp -a $RPM_BUILD_DIR/%{uniquesuffix}/tapset/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/tapset/
install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir} install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
pushd $RPM_BUILD_ROOT%{tapsetdir} pushd $RPM_BUILD_ROOT%{tapsetdir}
RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir}) RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir})
@ -680,17 +693,15 @@ pushd %{buildoutputdir}/images/j2sdk-image
popd popd
# Install JCE policy symlinks. # Install JCE policy symlinks.
install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{archname}/jce/vanilla install -d -m 755 $RPM_BUILD_ROOT%{_jvmprivdir}/%{uniquesuffix}/jce/vanilla
# Install versionless symlinks. # Install versioned symlinks.
pushd $RPM_BUILD_ROOT%{_jvmdir} pushd $RPM_BUILD_ROOT%{_jvmdir}
ln -sf %{jredir} %{jrelnk} ln -sf %{jredir} %{jrelnk}
ln -sf %{sdkdir} %{sdklnk}
popd popd
pushd $RPM_BUILD_ROOT%{_jvmjardir} pushd $RPM_BUILD_ROOT%{_jvmjardir}
ln -sf %{sdkdir} %{jrelnk} ln -sf %{sdkdir} %{jrelnk}
ln -sf %{sdkdir} %{sdklnk}
popd popd
# Remove javaws man page # Remove javaws man page
@ -704,7 +715,7 @@ pushd %{buildoutputdir}/images/j2sdk-image
iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
mv -f $manpage.tmp $manpage mv -f $manpage.tmp $manpage
install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \ install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
$manpage .1)-%{name}.1 $manpage .1)-%{uniquesuffix}.1
done done
# Install demos and samples. # Install demos and samples.
@ -716,13 +727,9 @@ pushd %{buildoutputdir}/images/j2sdk-image
popd popd
# Install nss.cfg
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/
# Install Javadoc documentation. # Install Javadoc documentation.
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{name} cp -a %{buildoutputdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir}
# Install icons and menu entries. # Install icons and menu entries.
for s in 16 24 32 48 ; do for s in 16 24 32 48 ; do
@ -734,10 +741,14 @@ done
# Install desktop files. # Install desktop files.
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
for e in jconsole policytool ; do for e in jconsole policytool ; do
desktop-file-install --vendor=%{name} --mode=644 \ desktop-file-install --vendor=%{uniquesuffix} --mode=644 \
--dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
done 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 JRE directories.
find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \ find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type d \
| grep -v jre/lib/security \ | grep -v jre/lib/security \
@ -751,24 +762,24 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \
#split %{name}.files to %{name}.files-headless and %{name}.files #split %{name}.files to %{name}.files-headless and %{name}.files
#see https://bugzilla.redhat.com/show_bug.cgi?id=875408 #see https://bugzilla.redhat.com/show_bug.cgi?id=875408
NOT_HEADLESS=\ NOT_HEADLESS=\
"%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjsoundalsa.so "%{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libjsoundalsa.so
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libpulse-java.so %{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libpulse-java.so
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libsplashscreen.so %{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libsplashscreen.so
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libawt_xawt.so %{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libawt_xawt.so
%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjawt.so" %{_jvmdir}/%{uniquesuffix}/lib/%{archinstall}/libjawt.so"
#filter %{name}.files from %{name}.files.all to %{name}.files-headless #filter %{name}.files from %{name}.files.all to %{name}.files-headless
ALL=`cat %{name}.files.all` ALL=`cat %{name}.files.all`
for file in $ALL ; do for file in $ALL ; do
INLCUDE="NO" ; INLCUDE="NO" ;
for blacklist in $NOT_HEADLESS ; do for blacklist in $NOT_HEADLESS ; do
# we can not match normally, because rpmbuild will evaluate !0 result as script failure #we can not match normally, because rpmbuild will evaluate !0 result as script failure
q=`expr match "$file" "$blacklist"` || : q=`expr match "$file" "$blacklist"` || :
l=`expr length "$blacklist"` || : l=`expr length "$blacklist"` || :
if [ $q -eq $l ]; then if [ $q -eq $l ]; then
INLCUDE="YES" ; INLCUDE="YES" ;
fi; fi;
done done
if [ "x$INLCUDE" = "xNO" ]; then if [ "x$INLCUDE" = "xNO" ]; then
echo "$file" >> %{name}.files-headless echo "$file" >> %{name}.files-headless
else else
echo "$file" >> %{name}.files echo "$file" >> %{name}.files
@ -815,18 +826,195 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
echo "" >> accessibility.properties echo "" >> accessibility.properties
popd popd
%pretrans headless -p <lua>
-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
local posix = require "posix"
local currentjvm = "%{uniquesuffix}"
local jvmdir = "%{_jvmdir}"
local jvmDestdir = jvmdir
local origname = "%{name}"
local origjavaver = "%{javaver}"
--trasnform substitute names to lua patterns
--all percentages must be doubled for case of RPM escapingg
local name = string.gsub(string.gsub(origname, "%%-", "%%%%-"), "%%.", "%%%%.")
local javaver = string.gsub(origjavaver, "%%.", "%%%%.")
local arch ="%{_arch}"
local debug = false;
local jvms = { }
local caredFiles = {"jre/lib/calendars.properties",
"jre/lib/content-types.properties",
"jre/lib/flavormap.properties",
"jre/lib/logging.properties",
"jre/lib/net.properties",
"jre/lib/psfontj2d.properties",
"jre/lib/sound.properties",
"jre/lib/tz.properties",
"jre/lib/deployment.properties",
"jre/lib/deployment.config",
"jre/lib/security/US_export_policy.jar",
"jre/lib/security/java.policy",
"jre/lib/security/java.security",
"jre/lib/security/local_policy.jar",
"jre/lib/security/nss.cfg,",
"jre/lib/ext"}
function splitToTable(source, pattern)
local i1 = string.gmatch(source, pattern)
local l1 = {}
for i in i1 do
table.insert(l1, i)
end
return l1
end
if (debug) then
print("started")
end;
foundJvms = posix.dir(jvmdir);
if (foundJvms == nil) then
if (debug) then
print("no, or nothing in "..jvmdir.." exit")
end;
return
end
if (debug) then
print("found "..#foundJvms.."jvms")
end;
for i,p in pairs(foundJvms) do
-- regex similar to %{_jvmdir}/%{name}-%{javaver}*%{_arch} bash command
--all percentages must be doubled for case of RPM escapingg
if (string.find(p, name.."%%-"..javaver..".*"..arch) ~= nil ) then
if (debug) then
print("matched: "..p)
end;
if (currentjvm == p) then
if (debug) then
print("this jdk is already installed. exiting lua script")
end;
return
end ;
table.insert(jvms, p)
else
if (debug) then
print("NOT matched: "..p)
end;
end
end
if (#jvms <=0) then
if (debug) then
print("no matching jdk in "..jvmdir.." exit")
end;
return
end;
if (debug) then
print("matched "..#jvms.." jdk in "..jvmdir)
end;
--full names are like java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64
table.sort(jvms , function(a,b)
-- version-sort
-- split on non word: . -
local l1 = splitToTable(a, "[^%.-]+")
local l2 = splitToTable(b, "[^%.-]+")
for x = 1, math.min(#l1, #l2) do
local l1x = tonumber(l1[x])
local l2x = tonumber(l2[x])
if (l1x ~= nil and l2x ~= nil)then
--if hunks are numbers, go with them
if (l1x < l2x) then return true; end
if (l1x > l2x) then return false; end
else
if (l1[x] < l2[x]) then return true; end
if (l1[x] > l2[x]) then return false; end
end
-- if hunks are equals then move to another pair of hunks
end
return a<b
end)
if (debug) then
print("sorted lsit of jvms")
for i,file in pairs(jvms) do
print(file)
end
end
latestjvm = jvms[#jvms]
for i,file in pairs(caredFiles) do
local SOURCE=jvmdir.."/"..latestjvm.."/"..file
local DEST=jvmDestdir.."/"..currentjvm.."/"..file
if (debug) then
print("going to copy "..SOURCE)
print("to "..DEST)
end;
local stat1 = posix.stat(SOURCE, "type");
if (stat1 ~= nil) then
if (debug) then
print(SOURCE.." exists")
end;
local s = ""
local dirs = splitToTable(DEST, "[^/]+")
for i,d in pairs(dirs) do
if (i == #dirs) then
break
end
s = s.."/"..d
local stat2 = posix.stat(s, "type");
if (stat2 == nil) then
if (debug) then
print(s.." does not exists, creating")
end;
posix.mkdir(s)
else
if (debug) then
print(s.." exists,not creating")
end;
end
end
-- Copy with -a to keep everything intact
local exe = "cp".." -ar "..SOURCE.." "..DEST
if (debug) then
print("executing "..exe)
end;
os.execute(exe)
else
if (debug) then
print(SOURCE.." does not exists")
end;
end
end
%post %post
update-desktop-database %{_datadir}/applications &> /dev/null || : update-desktop-database %{_datadir}/applications &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
exit 0 exit 0
# FIXME: identical binaries are copied, not linked. This needs to be # FIXME: identical binaries are copied, not linked. This needs to be
# fixed upstream. # fixed upstream.
%post headless %post headless
%ifarch %{jit_arches}
#see https://bugzilla.redhat.com/show_bug.cgi?id=513605
%{jrebindir}/java -Xshare:dump >/dev/null 2>/dev/null
%endif
ext=.gz ext=.gz
alternatives \ alternatives \
--install %{_bindir}/java java %{jrebindir}/java %{priority} \ --install %{_bindir}/java java %{jrebindir}/java %{priority} \
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \
--slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \ --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
--slave %{_bindir}/jjs jjs %{jrebindir}/jjs \ --slave %{_bindir}/jjs jjs %{jrebindir}/jjs \
--slave %{_bindir}/keytool keytool %{jrebindir}/keytool \ --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
@ -838,37 +1026,36 @@ alternatives \
--slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \ --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \
--slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \ --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \
--slave %{_mandir}/man1/java.1$ext java.1$ext \ --slave %{_mandir}/man1/java.1$ext java.1$ext \
%{_mandir}/man1/java-%{name}.1$ext \ %{_mandir}/man1/java-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \ --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \
%{_mandir}/man1/jjs-%{name}.1$ext \ %{_mandir}/man1/jjs-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \ --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \
%{_mandir}/man1/keytool-%{name}.1$ext \ %{_mandir}/man1/keytool-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \ --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \
%{_mandir}/man1/orbd-%{name}.1$ext \ %{_mandir}/man1/orbd-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \ --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \
%{_mandir}/man1/pack200-%{name}.1$ext \ %{_mandir}/man1/pack200-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \ --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \
%{_mandir}/man1/rmid-%{name}.1$ext \ %{_mandir}/man1/rmid-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \ --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \
%{_mandir}/man1/rmiregistry-%{name}.1$ext \ %{_mandir}/man1/rmiregistry-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \ --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \
%{_mandir}/man1/servertool-%{name}.1$ext \ %{_mandir}/man1/servertool-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \ --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \
%{_mandir}/man1/tnameserv-%{name}.1$ext \ %{_mandir}/man1/tnameserv-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \ --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \
%{_mandir}/man1/unpack200-%{name}.1$ext %{_mandir}/man1/unpack200-%{uniquesuffix}.1$ext
alternatives \ for X in %{origin} %{javaver} ; do
--install %{_jvmdir}/jre-%{origin} \ alternatives \
jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ --install %{_jvmdir}/jre-"$X" \
--slave %{_jvmjardir}/jre-%{origin} \ jre_"$X" %{_jvmdir}/%{jredir} %{priority} \
jre_%{origin}_exports %{_jvmjardir}/%{jrelnk} --slave %{_jvmjardir}/jre-"$X" \
jre_"$X"_exports %{_jvmjardir}/%{jredir}
done
alternatives \ update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \
--install %{_jvmdir}/jre-%{javaver} \ --slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir}
jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
--slave %{_jvmjardir}/jre-%{javaver} \
jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
update-desktop-database %{_datadir}/applications &> /dev/null || : update-desktop-database %{_datadir}/applications &> /dev/null || :
@ -886,13 +1073,13 @@ fi
exit 0 exit 0
%postun headless %postun headless
if [ $1 -eq 0 ]
then
alternatives --remove java %{jrebindir}/java alternatives --remove java %{jrebindir}/java
alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk} alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir}
alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir}
fi alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk}
%posttrans %posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
@ -901,8 +1088,8 @@ fi
ext=.gz ext=.gz
alternatives \ alternatives \
--install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \
--slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \
--slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \ --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir} \
--slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \ --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \
--slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \ --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
--slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \ --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \
@ -933,77 +1120,76 @@ alternatives \
--slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \ --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \
--slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \ --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \
--slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \ --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \
%{_mandir}/man1/appletviewer-%{name}.1$ext \ %{_mandir}/man1/appletviewer-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \ --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \
%{_mandir}/man1/extcheck-%{name}.1$ext \ %{_mandir}/man1/extcheck-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \ --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \
%{_mandir}/man1/idlj-%{name}.1$ext \ %{_mandir}/man1/idlj-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jar.1$ext jar.1$ext \ --slave %{_mandir}/man1/jar.1$ext jar.1$ext \
%{_mandir}/man1/jar-%{name}.1$ext \ %{_mandir}/man1/jar-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \ --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \
%{_mandir}/man1/jarsigner-%{name}.1$ext \ %{_mandir}/man1/jarsigner-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/javac.1$ext javac.1$ext \ --slave %{_mandir}/man1/javac.1$ext javac.1$ext \
%{_mandir}/man1/javac-%{name}.1$ext \ %{_mandir}/man1/javac-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \ --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \
%{_mandir}/man1/javadoc-%{name}.1$ext \ %{_mandir}/man1/javadoc-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/javah.1$ext javah.1$ext \ --slave %{_mandir}/man1/javah.1$ext javah.1$ext \
%{_mandir}/man1/javah-%{name}.1$ext \ %{_mandir}/man1/javah-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/javap.1$ext javap.1$ext \ --slave %{_mandir}/man1/javap.1$ext javap.1$ext \
%{_mandir}/man1/javap-%{name}.1$ext \ %{_mandir}/man1/javap-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \ --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \
%{_mandir}/man1/jcmd-%{name}.1$ext \ %{_mandir}/man1/jcmd-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \ --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \
%{_mandir}/man1/jconsole-%{name}.1$ext \ %{_mandir}/man1/jconsole-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \ --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \
%{_mandir}/man1/jdb-%{name}.1$ext \ %{_mandir}/man1/jdb-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \ --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \
%{_mandir}/man1/jdeps-%{name}.1$ext \ %{_mandir}/man1/jdeps-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \ --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \
%{_mandir}/man1/jhat-%{name}.1$ext \ %{_mandir}/man1/jhat-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \ --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \
%{_mandir}/man1/jinfo-%{name}.1$ext \ %{_mandir}/man1/jinfo-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \ --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \
%{_mandir}/man1/jmap-%{name}.1$ext \ %{_mandir}/man1/jmap-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jps.1$ext jps.1$ext \ --slave %{_mandir}/man1/jps.1$ext jps.1$ext \
%{_mandir}/man1/jps-%{name}.1$ext \ %{_mandir}/man1/jps-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \ --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \
%{_mandir}/man1/jrunscript-%{name}.1$ext \ %{_mandir}/man1/jrunscript-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \ --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \
%{_mandir}/man1/jsadebugd-%{name}.1$ext \ %{_mandir}/man1/jsadebugd-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \ --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \
%{_mandir}/man1/jstack-%{name}.1$ext \ %{_mandir}/man1/jstack-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \ --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \
%{_mandir}/man1/jstat-%{name}.1$ext \ %{_mandir}/man1/jstat-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \ --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \
%{_mandir}/man1/jstatd-%{name}.1$ext \ %{_mandir}/man1/jstatd-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \ --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \
%{_mandir}/man1/native2ascii-%{name}.1$ext \ %{_mandir}/man1/native2ascii-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \ --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \
%{_mandir}/man1/policytool-%{name}.1$ext \ %{_mandir}/man1/policytool-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \ --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \
%{_mandir}/man1/rmic-%{name}.1$ext \ %{_mandir}/man1/rmic-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \ --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \
%{_mandir}/man1/schemagen-%{name}.1$ext \ %{_mandir}/man1/schemagen-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \ --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \
%{_mandir}/man1/serialver-%{name}.1$ext \ %{_mandir}/man1/serialver-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \ --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \
%{_mandir}/man1/wsgen-%{name}.1$ext \ %{_mandir}/man1/wsgen-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \ --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \
%{_mandir}/man1/wsimport-%{name}.1$ext \ %{_mandir}/man1/wsimport-%{uniquesuffix}.1$ext \
--slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \ --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \
%{_mandir}/man1/xjc-%{name}.1$ext %{_mandir}/man1/xjc-%{uniquesuffix}.1$ext
alternatives \ for X in %{origin} %{javaver} ; do
--install %{_jvmdir}/java-%{origin} \ alternatives \
java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \ --install %{_jvmdir}/java-"$X" \
--slave %{_jvmjardir}/java-%{origin} \ java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \
java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk} --slave %{_jvmjardir}/java-"$X" \
java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir}
done
alternatives \ update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir} %{priority} \
--install %{_jvmdir}/java-%{javaver} \ --slave %{_jvmjardir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin}_exports %{_jvmjardir}/%{sdkdir}
java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
--slave %{_jvmjardir}/java-%{javaver} \
java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
update-desktop-database %{_datadir}/applications &> /dev/null || : update-desktop-database %{_datadir}/applications &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@ -1011,38 +1197,33 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
exit 0 exit 0
%postun devel %postun devel
if [ $1 -eq 0 ]
then
alternatives --remove javac %{sdkbindir}/javac alternatives --remove javac %{sdkbindir}/javac
alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk} alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir}
alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir}
fi alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir}
update-desktop-database %{_datadir}/applications &> /dev/null || : update-desktop-database %{_datadir}/applications &> /dev/null || :
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi fi
exit 0 exit 0
%posttrans devel %posttrans devel
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%post javadoc %post javadoc
alternatives \ alternatives \
--install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \ --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir}/api \
%{priority} %{priority}
exit 0 exit 0
%postun javadoc %postun javadoc
if [ $1 -eq 0 ] alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir}/api
then
alternatives --remove javadocdir %{_javadocdir}/%{name}/api
fi
exit 0 exit 0
@ -1050,13 +1231,13 @@ exit 0
%files -f %{name}.files %files -f %{name}.files
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
%files headless -f %{name}.files-headless # all config/norepalce files (and more) have to be declared in pretrans. See pretrans
%files headless -f %{name}.files-headless
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION %doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION
%doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
%doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README %doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README
%dir %{_jvmdir}/%{sdkdir} %dir %{_jvmdir}/%{sdkdir}
%{_jvmdir}/%{jrelnk} %{_jvmdir}/%{jrelnk}
%{_jvmjardir}/%{jrelnk} %{_jvmjardir}/%{jrelnk}
@ -1067,20 +1248,27 @@ exit 0
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs
%{_mandir}/man1/java-%{name}.1* %config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties
%{_mandir}/man1/jjs-%{name}.1* %{_mandir}/man1/java-%{uniquesuffix}.1*
%{_mandir}/man1/keytool-%{name}.1* %{_mandir}/man1/jjs-%{uniquesuffix}.1*
%{_mandir}/man1/orbd-%{name}.1* %{_mandir}/man1/keytool-%{uniquesuffix}.1*
%{_mandir}/man1/pack200-%{name}.1* %{_mandir}/man1/orbd-%{uniquesuffix}.1*
%{_mandir}/man1/rmid-%{name}.1* %{_mandir}/man1/pack200-%{uniquesuffix}.1*
%{_mandir}/man1/rmiregistry-%{name}.1* %{_mandir}/man1/rmid-%{uniquesuffix}.1*
%{_mandir}/man1/servertool-%{name}.1* %{_mandir}/man1/rmiregistry-%{uniquesuffix}.1*
%{_mandir}/man1/tnameserv-%{name}.1* %{_mandir}/man1/servertool-%{uniquesuffix}.1*
%{_mandir}/man1/unpack200-%{name}.1* %{_mandir}/man1/tnameserv-%{uniquesuffix}.1*
%{_jvmdir}/%{jredir}/lib/security/nss.cfg %{_mandir}/man1/unpack200-%{uniquesuffix}.1*
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg
%ifarch %{jit_arches}
%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/server/classes.jsa
%attr(664, root, root) %ghost %{_jvmdir}/%{jredir}/lib/%{archinstall}/client/classes.jsa
%endif
%{_jvmdir}/%{jredir}/lib/audio/ %{_jvmdir}/%{jredir}/lib/audio/
%{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar
%{_jvmdir}/%{jredir}/lib/security/local_policy.jar %{_jvmdir}/%{jredir}/lib/security/local_policy.jar
%{_jvmdir}/%{jredir}/lib/%{archinstall}/server/
%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -1099,40 +1287,39 @@ exit 0
%if %{with_systemtap} %if %{with_systemtap}
%{_jvmdir}/%{sdkdir}/tapset/*.stp %{_jvmdir}/%{sdkdir}/tapset/*.stp
%endif %endif
%{_jvmdir}/%{sdklnk} %{_jvmjardir}/%{sdkdir}
%{_jvmjardir}/%{sdklnk}
%{_datadir}/applications/*jconsole.desktop %{_datadir}/applications/*jconsole.desktop
%{_datadir}/applications/*policytool.desktop %{_datadir}/applications/*policytool.desktop
%{_mandir}/man1/appletviewer-%{name}.1* %{_mandir}/man1/appletviewer-%{uniquesuffix}.1*
%{_mandir}/man1/extcheck-%{name}.1* %{_mandir}/man1/extcheck-%{uniquesuffix}.1*
%{_mandir}/man1/idlj-%{name}.1* %{_mandir}/man1/idlj-%{uniquesuffix}.1*
%{_mandir}/man1/jar-%{name}.1* %{_mandir}/man1/jar-%{uniquesuffix}.1*
%{_mandir}/man1/jarsigner-%{name}.1* %{_mandir}/man1/jarsigner-%{uniquesuffix}.1*
%{_mandir}/man1/javac-%{name}.1* %{_mandir}/man1/javac-%{uniquesuffix}.1*
%{_mandir}/man1/javadoc-%{name}.1* %{_mandir}/man1/javadoc-%{uniquesuffix}.1*
%{_mandir}/man1/javah-%{name}.1* %{_mandir}/man1/javah-%{uniquesuffix}.1*
%{_mandir}/man1/javap-%{name}.1* %{_mandir}/man1/javap-%{uniquesuffix}.1*
%{_mandir}/man1/jconsole-%{name}.1* %{_mandir}/man1/jconsole-%{uniquesuffix}.1*
%{_mandir}/man1/jcmd-%{name}.1* %{_mandir}/man1/jcmd-%{uniquesuffix}.1*
%{_mandir}/man1/jdb-%{name}.1* %{_mandir}/man1/jdb-%{uniquesuffix}.1*
%{_mandir}/man1/jdeps-%{name}.1* %{_mandir}/man1/jdeps-%{uniquesuffix}.1*
%{_mandir}/man1/jhat-%{name}.1* %{_mandir}/man1/jhat-%{uniquesuffix}.1*
%{_mandir}/man1/jinfo-%{name}.1* %{_mandir}/man1/jinfo-%{uniquesuffix}.1*
%{_mandir}/man1/jmap-%{name}.1* %{_mandir}/man1/jmap-%{uniquesuffix}.1*
%{_mandir}/man1/jps-%{name}.1* %{_mandir}/man1/jps-%{uniquesuffix}.1*
%{_mandir}/man1/jrunscript-%{name}.1* %{_mandir}/man1/jrunscript-%{uniquesuffix}.1*
%{_mandir}/man1/jsadebugd-%{name}.1* %{_mandir}/man1/jsadebugd-%{uniquesuffix}.1*
%{_mandir}/man1/jstack-%{name}.1* %{_mandir}/man1/jstack-%{uniquesuffix}.1*
%{_mandir}/man1/jstat-%{name}.1* %{_mandir}/man1/jstat-%{uniquesuffix}.1*
%{_mandir}/man1/jstatd-%{name}.1* %{_mandir}/man1/jstatd-%{uniquesuffix}.1*
%{_mandir}/man1/native2ascii-%{name}.1* %{_mandir}/man1/native2ascii-%{uniquesuffix}.1*
%{_mandir}/man1/policytool-%{name}.1* %{_mandir}/man1/policytool-%{uniquesuffix}.1*
%{_mandir}/man1/rmic-%{name}.1* %{_mandir}/man1/rmic-%{uniquesuffix}.1*
%{_mandir}/man1/schemagen-%{name}.1* %{_mandir}/man1/schemagen-%{uniquesuffix}.1*
%{_mandir}/man1/serialver-%{name}.1* %{_mandir}/man1/serialver-%{uniquesuffix}.1*
%{_mandir}/man1/wsgen-%{name}.1* %{_mandir}/man1/wsgen-%{uniquesuffix}.1*
%{_mandir}/man1/wsimport-%{name}.1* %{_mandir}/man1/wsimport-%{uniquesuffix}.1*
%{_mandir}/man1/xjc-%{name}.1* %{_mandir}/man1/xjc-%{uniquesuffix}.1*
%if %{with_systemtap} %if %{with_systemtap}
%{tapsetroot} %{tapsetroot}
%endif %endif
@ -1148,7 +1335,7 @@ exit 0
%files javadoc %files javadoc
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc %{_javadocdir}/%{name} %doc %{_javadocdir}/%{uniquejavadocdir}
%doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE
%files accessibility %files accessibility

View File

@ -1,7 +0,0 @@
#!/bin/bash
if [ -e @LIB_DIR@ ] ; then
exec -a java @JAVA_PATH@ -agentpath:@LIB_DIR@=abrt=on "$@"
else
exec -a java @JAVA_PATH@ "$@"
fi

View File

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=OpenJDK 8 Monitoring & Management Console Name=OpenJDK 8 Monitoring & Management Console #ARCH#
Comment=Monitor and manage OpenJDK applications for @VERSION@ Comment=Monitor and manage OpenJDK applications for #ARCH#
Exec=@JAVA_HOME@/bin/jconsole Exec=#JAVA_HOME#/bin/jconsole
Icon=java Icon=java
Terminal=false Terminal=false
Type=Application Type=Application

View File

@ -1,4 +1,5 @@
name = NSS name = NSS
nssLibraryDirectory = nssLibraryDirectory = @NSS_LIBDIR@
nssDbMode = noDb nssDbMode = noDb
attributes = compatibility attributes = compatibility
handleStartupErrors = ignoreMultipleInitialisation

View File

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=OpenJDK 8 Policy Tool Name=OpenJDK 8 Policy Tool #ARCH#
Comment=Manage OpenJDK policy files (@VERSION@) Comment=Manage OpenJDK policy files #ARCH#
Exec=@JAVA_HOME@/bin/policytool Exec=#JAVA_HOME#/bin/policytool
Icon=java Icon=java
Terminal=false Terminal=false
Type=Application Type=Application