diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index ef77a0b..03fde83 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -4,13 +4,22 @@ %global aarch64_hg_tag 992 %global aarch64 aarch64 arm64 armv8 -%global multilib_arches %{power64} sparc64 x86_64 %{aarch64} +# sometimes we need to distinguish big and little endian PPC64 +%global ppc64le ppc64le +%global ppc64be ppc64 ppc64p7 +%global multilib_arches %{power64} sparc64 x86_64 %global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} -# sometimes we need to distinguish big and little endian PPC64 -# taken from the openjdk-1.7 spec -%global ppc64le ppc64le -%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 %global archinstall amd64 @@ -81,10 +90,8 @@ %ifarch %{multilib_arches} %global syslibdir %{_prefix}/lib64 %global _libdir %{_prefix}/lib -%global archname %{name}.%{_arch} %else %global syslibdir %{_libdir} -%global archname %{name} %endif # Standard JPackage naming and versioning defines. @@ -98,24 +105,19 @@ %global javaver 1.8.0 # Standard JPackage directories and symbolic links. -# Make 64-bit JDKs just another alternative on 64-bit architectures. -%ifarch %{multilib_arches} -%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 sdkdir %{uniquesuffix} +%global jrelnk jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch} + %global jredir %{sdkdir}/jre -%global sdkbindir %{_jvmdir}/%{sdklnk}/bin -%global jrebindir %{_jvmdir}/%{jrelnk}/bin -%ifarch %{multilib_arches} -%global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch} -%else -%global jvmjardir %{_jvmjardir}/%{name}-%{version} -%endif +%global sdkbindir %{_jvmdir}/%{sdkdir}/bin +%global jrebindir %{_jvmdir}/%{jredir}/bin +%global jvmjardir %{_jvmjardir}/%{uniquesuffix} + +%global fullversion %{name}-%{version}-%{release} + +%global uniquesuffix %{fullversion}.%{_arch} +#we can copy the javadoc to not arched dir, or made it not noarch +%global uniquejavadocdir %{fullversion} %if %{with_systemtap} # Where to install systemtap tapset (links) @@ -135,7 +137,7 @@ Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever} -Release: 8.%{buildver}%{?dist} +Release: 14.%{buildver}%{?dist} # 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 # also included the epoch in their virtual provides. This created a @@ -161,8 +163,6 @@ Source1: aarch64-hotspot-jdk8-%{aarch64_buildver}-aarch64-%{aarch64_hg_tag}.tar # Custom README for -src subpackage Source2: README.src -Source3: java-abrt-launcher.in - # Use 'generate_tarballs.sh' to generate the following tarballs # They are based on code contained in the IcedTea7 project. @@ -254,6 +254,8 @@ BuildRequires: libXi-devel BuildRequires: libXinerama-devel BuildRequires: libXt-devel BuildRequires: libXtst-devel +# Requirements for setting up the nss.cfg +BuildRequires: nss-devel BuildRequires: pkgconfig BuildRequires: xorg-x11-proto-devel #BuildRequires: redhat-lsb @@ -280,6 +282,8 @@ Requires: xorg-x11-fonts-Type1 # Requires rest of java Requires: %{name}-headless = %{epoch}:%{version}-%{release} +OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release} + # Standard JPackage base provides. Provides: jre-%{javaver}-%{origin} = %{epoch}:%{version}-%{release} @@ -298,7 +302,6 @@ Provides: java-1.7.0-openjdk = %{epoch}:%{version}-%{release} %description The OpenJDK runtime environment. - %package headless Summary: OpenJDK Runtime Environment Group: Development/Languages @@ -319,7 +322,7 @@ Provides: jre-%{javaver}-%{origin}-headless = %{epoch}:%{version}-%{release} Provides: jre-%{origin}-headless = %{epoch}:%{version}-%{release} Provides: jre-%{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-headless = %{epoch}:%{javaver} # Standard JPackage extensions provides. @@ -340,13 +343,13 @@ Provides: java-1.7.0-openjdk-headless = %{epoch}:%{version}-%{release} %description headless The OpenJDK runtime environment without audio and video support. - %package devel Summary: OpenJDK Development Environment Group: Development/Tools # Require base package. Requires: %{name} = %{epoch}:%{version}-%{release} +OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release} # Post requires alternatives to install tool alternatives. Requires(post): %{_sbindir}/alternatives # Postun requires alternatives to uninstall tool alternatives. @@ -372,6 +375,7 @@ Summary: OpenJDK Demos Group: Development/Languages 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 Provides: java-1.7.0-openjdk-demo = %{epoch}:%{version}-%{release} @@ -397,6 +401,7 @@ Group: Documentation Requires: jpackage-utils BuildArch: noarch +OrderWithRequires: %{name}-headless = %{epoch}:%{version}-%{release} # Post requires alternatives to install javadoc alternative. Requires(post): %{_sbindir}/alternatives # Postun requires alternatives to uninstall javadoc alternative. @@ -412,11 +417,11 @@ Provides: java-1.7.0-openjdk-javadoc = %{epoch}:%{version}-%{release} %description javadoc The OpenJDK API documentation. - %package accessibility Summary: OpenJDK accessibility connector Requires: java-atk-wrapper 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 Provides: java-1.7.0-openjdk-accessibility = %{epoch}:%{version}-%{release} @@ -433,7 +438,7 @@ need to. %prep -%setup -q -c -n %{name} -T -a 0 +%setup -q -c -n %{uniquesuffix} -T -a 0 %ifarch %{aarch64} pushd jdk8 rm -r hotspot @@ -496,9 +501,9 @@ tar xzf %{SOURCE8} for file in tapset/*.in; do - OUTPUT_FILE=`echo $file | sed -e s:\.in$::g` + OUTPUT_FILE=`echo $file | sed -e s:%{javaver}\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g` 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} sed -e s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir}/jre/lib/%{archinstall}/client/libjvm.so:g $file.1 > $OUTPUT_FILE %else @@ -514,8 +519,9 @@ done # Prepare desktop files for file in %{SOURCE9} %{SOURCE10} ; do OUTPUT_FILE=`basename $file | sed -e s:\.in$::g` - sed -e s:@JAVA_HOME@:%{_jvmdir}/%{sdkdir}:g $file > $OUTPUT_FILE - sed -i -e s:@VERSION@:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE + sed -e s:#JAVA_HOME#:%{sdkbindir}:g $file > $OUTPUT_FILE + sed -i -e s:#JRE_HOME#:%{jrebindir}:g $OUTPUT_FILE + sed -i -e s:#ARCH#:%{version}-%{release}.%{_arch}:g $OUTPUT_FILE done %build @@ -524,13 +530,15 @@ export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :` export NUM_PROC=${NUM_PROC:-1} # Build IcedTea and OpenJDK. -%ifarch s390x sparc64 alpha %{power64} +%ifarch s390x sparc64 alpha %{power64} %{aarch64} export ARCH_DATA_MODEL=64 %endif %ifarch alpha export CFLAGS="$CFLAGS -mieee" %endif +export CFLAGS="$CFLAGS -fstack-protector-strong" + (cd jdk8/common/autoconf bash ./autogen.sh ) @@ -589,12 +597,12 @@ find images/j2sdk-image -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}/images/j2sdk-image -# Install java-abrt-luncher -mv $JAVA_HOME/jre/bin/java $JAVA_HOME/jre/bin/java-abrt -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 +# Install nss.cfg right away as we will be using the JRE above +install -m 644 %{SOURCE11} $JAVA_HOME/jre/lib/security/ + # Use system-wide tzdata rm $JAVA_HOME/jre/lib/tzdb.dat @@ -630,6 +638,10 @@ popd 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 -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir} @@ -639,7 +651,7 @@ pushd %{buildoutputdir}/images/j2sdk-image %if %{with_systemtap} # Install systemtap support files. 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} pushd $RPM_BUILD_ROOT%{tapsetdir} RELATIVE=$(%{abs2rel} %{_jvmdir}/%{sdkdir}/tapset %{tapsetdir}) @@ -680,17 +692,15 @@ pushd %{buildoutputdir}/images/j2sdk-image popd # 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} ln -sf %{jredir} %{jrelnk} - ln -sf %{sdkdir} %{sdklnk} popd pushd $RPM_BUILD_ROOT%{_jvmjardir} ln -sf %{sdkdir} %{jrelnk} - ln -sf %{sdkdir} %{sdklnk} popd # Remove javaws man page @@ -704,7 +714,7 @@ pushd %{buildoutputdir}/images/j2sdk-image 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)-%{name}.1 + $manpage .1)-%{uniquesuffix}.1 done # Install demos and samples. @@ -716,13 +726,9 @@ pushd %{buildoutputdir}/images/j2sdk-image popd -# Install nss.cfg -install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/security/ - - # Install Javadoc documentation. 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. for s in 16 24 32 48 ; do @@ -734,41 +740,45 @@ done # Install desktop files. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} 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 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} -type d \ | grep -v jre/lib/security \ | sed 's|'$RPM_BUILD_ROOT'|%dir |' \ - > %{name}.files.headless + > %{name}.files-headless # Find JRE files. find $RPM_BUILD_ROOT%{_jvmdir}/%{jredir} -type f -o -type l \ | grep -v jre/lib/security \ | sed 's|'$RPM_BUILD_ROOT'||' \ - >> %{name}.files.all + > %{name}.files.all #split %{name}.files to %{name}.files-headless and %{name}.files #see https://bugzilla.redhat.com/show_bug.cgi?id=875408 NOT_HEADLESS=\ -"%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjsoundalsa.so -%{_jvmdir}/%{jredir}/lib/%{archinstall}/libpulse-java.so -%{_jvmdir}/%{jredir}/lib/%{archinstall}/libsplashscreen.so -%{_jvmdir}/%{jredir}/lib/%{archinstall}/libawt_xawt.so -%{_jvmdir}/%{jredir}/lib/%{archinstall}/libjawt.so" -#filter %{name}.files from %{name}.files.all to %{name}.files-headless +"%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libjsoundalsa.so +%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libpulse-java.so +%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libsplashscreen.so +%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libawt_xawt.so +%{_jvmdir}/%{uniquesuffix}/jre/lib/%{archinstall}/libjawt.so" +#filter %{name}.files from %{name}.files.all to %{name}.files-headless ALL=`cat %{name}.files.all` -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 +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" ; + l=`expr length "$blacklist"` || : + if [ $q -eq $l ]; then + INLCUDE="YES" ; fi; done -if [ "x$INLCUDE" = "xNO" ]; then +if [ "x$INLCUDE" = "xNO" ]; then echo "$file" >> %{name}.files-headless else echo "$file" >> %{name}.files @@ -815,18 +825,195 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \ echo "" >> accessibility.properties popd -%post +%pretrans headless -p +-- 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 /dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : exit 0 + # FIXME: identical binaries are copied, not linked. This needs to be # fixed upstream. %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 alternatives \ --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 %{_bindir}/jjs jjs %{jrebindir}/jjs \ --slave %{_bindir}/keytool keytool %{jrebindir}/keytool \ @@ -838,37 +1025,37 @@ alternatives \ --slave %{_bindir}/tnameserv tnameserv %{jrebindir}/tnameserv \ --slave %{_bindir}/unpack200 unpack200 %{jrebindir}/unpack200 \ --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 \ - %{_mandir}/man1/jjs-%{name}.1$ext \ + %{_mandir}/man1/jjs-%{uniquesuffix}.1$ext \ + --slave %{_bindir}/policytool policytool %{jrebindir}/policytool \ --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 \ - %{_mandir}/man1/orbd-%{name}.1$ext \ + %{_mandir}/man1/orbd-%{uniquesuffix}.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 \ - %{_mandir}/man1/rmid-%{name}.1$ext \ + %{_mandir}/man1/rmid-%{uniquesuffix}.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 \ - %{_mandir}/man1/servertool-%{name}.1$ext \ + %{_mandir}/man1/servertool-%{uniquesuffix}.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 \ - %{_mandir}/man1/unpack200-%{name}.1$ext + %{_mandir}/man1/unpack200-%{uniquesuffix}.1$ext -alternatives \ - --install %{_jvmdir}/jre-%{origin} \ - jre_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ - --slave %{_jvmjardir}/jre-%{origin} \ - jre_%{origin}_exports %{_jvmjardir}/%{jrelnk} +for X in %{origin} %{javaver} ; do + alternatives \ + --install %{_jvmdir}/jre-"$X" \ + jre_"$X" %{_jvmdir}/%{jredir} %{priority} \ + --slave %{_jvmjardir}/jre-"$X" \ + jre_"$X"_exports %{_jvmjardir}/%{jredir} +done -alternatives \ - --install %{_jvmdir}/jre-%{javaver} \ - jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \ - --slave %{_jvmjardir}/jre-%{javaver} \ - jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk} +update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} %{priority} \ +--slave %{_jvmjardir}/jre-%{javaver} jre_%{javaver}_%{origin}_exports %{jvmjardir} update-desktop-database %{_datadir}/applications &> /dev/null || : @@ -886,13 +1073,13 @@ fi exit 0 + %postun headless -if [ $1 -eq 0 ] -then alternatives --remove java %{jrebindir}/java - alternatives --remove jre_%{origin} %{_jvmdir}/%{jrelnk} - alternatives --remove jre_%{javaver} %{_jvmdir}/%{jrelnk} -fi + alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir} + alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir} + alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk} + %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : @@ -901,8 +1088,8 @@ fi ext=.gz alternatives \ --install %{_bindir}/javac javac %{sdkbindir}/javac %{priority} \ - --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdklnk} \ - --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdklnk} \ + --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir} \ + --slave %{_jvmjardir}/java java_sdk_exports %{_jvmjardir}/%{sdkdir} \ --slave %{_bindir}/appletviewer appletviewer %{sdkbindir}/appletviewer \ --slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \ --slave %{_bindir}/idlj idlj %{sdkbindir}/idlj \ @@ -925,7 +1112,6 @@ alternatives \ --slave %{_bindir}/jstat jstat %{sdkbindir}/jstat \ --slave %{_bindir}/jstatd jstatd %{sdkbindir}/jstatd \ --slave %{_bindir}/native2ascii native2ascii %{sdkbindir}/native2ascii \ - --slave %{_bindir}/policytool policytool %{sdkbindir}/policytool \ --slave %{_bindir}/rmic rmic %{sdkbindir}/rmic \ --slave %{_bindir}/schemagen schemagen %{sdkbindir}/schemagen \ --slave %{_bindir}/serialver serialver %{sdkbindir}/serialver \ @@ -933,77 +1119,76 @@ alternatives \ --slave %{_bindir}/wsimport wsimport %{sdkbindir}/wsimport \ --slave %{_bindir}/xjc xjc %{sdkbindir}/xjc \ --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 \ - %{_mandir}/man1/extcheck-%{name}.1$ext \ + %{_mandir}/man1/extcheck-%{uniquesuffix}.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 \ - %{_mandir}/man1/jar-%{name}.1$ext \ + %{_mandir}/man1/jar-%{uniquesuffix}.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 \ - %{_mandir}/man1/javac-%{name}.1$ext \ + %{_mandir}/man1/javac-%{uniquesuffix}.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 \ - %{_mandir}/man1/javah-%{name}.1$ext \ + %{_mandir}/man1/javah-%{uniquesuffix}.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 \ - %{_mandir}/man1/jcmd-%{name}.1$ext \ + %{_mandir}/man1/jcmd-%{uniquesuffix}.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 \ - %{_mandir}/man1/jdb-%{name}.1$ext \ + %{_mandir}/man1/jdb-%{uniquesuffix}.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 \ - %{_mandir}/man1/jhat-%{name}.1$ext \ + %{_mandir}/man1/jhat-%{uniquesuffix}.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 \ - %{_mandir}/man1/jmap-%{name}.1$ext \ + %{_mandir}/man1/jmap-%{uniquesuffix}.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 \ - %{_mandir}/man1/jrunscript-%{name}.1$ext \ + %{_mandir}/man1/jrunscript-%{uniquesuffix}.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 \ - %{_mandir}/man1/jstack-%{name}.1$ext \ + %{_mandir}/man1/jstack-%{uniquesuffix}.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 \ - %{_mandir}/man1/jstatd-%{name}.1$ext \ + %{_mandir}/man1/jstatd-%{uniquesuffix}.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 \ - %{_mandir}/man1/policytool-%{name}.1$ext \ + %{_mandir}/man1/policytool-%{uniquesuffix}.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 \ - %{_mandir}/man1/schemagen-%{name}.1$ext \ + %{_mandir}/man1/schemagen-%{uniquesuffix}.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 \ - %{_mandir}/man1/wsgen-%{name}.1$ext \ + %{_mandir}/man1/wsgen-%{uniquesuffix}.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 \ - %{_mandir}/man1/xjc-%{name}.1$ext + %{_mandir}/man1/xjc-%{uniquesuffix}.1$ext -alternatives \ - --install %{_jvmdir}/java-%{origin} \ - java_sdk_%{origin} %{_jvmdir}/%{sdklnk} %{priority} \ - --slave %{_jvmjardir}/java-%{origin} \ - java_sdk_%{origin}_exports %{_jvmjardir}/%{sdklnk} +for X in %{origin} %{javaver} ; do + alternatives \ + --install %{_jvmdir}/java-"$X" \ + java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \ + --slave %{_jvmjardir}/java-"$X" \ + java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir} +done -alternatives \ - --install %{_jvmdir}/java-%{javaver} \ - java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \ - --slave %{_jvmjardir}/java-%{javaver} \ - java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk} +update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir} %{priority} \ +--slave %{_jvmjardir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin}_exports %{_jvmjardir}/%{sdkdir} update-desktop-database %{_datadir}/applications &> /dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -1011,52 +1196,48 @@ update-desktop-database %{_datadir}/applications &> /dev/null || : exit 0 %postun devel -if [ $1 -eq 0 ] -then alternatives --remove javac %{sdkbindir}/javac - alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdklnk} - alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} -fi + alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir} + alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir} + alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir} update-desktop-database %{_datadir}/applications &> /dev/null || : if [ $1 -eq 0 ] ; then - /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null - /usr/bin/gtk-update-icon-cache %{_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 || : fi - exit 0 -%posttrans devel +%posttrans devel /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + %post javadoc alternatives \ - --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{name}/api \ + --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir}/api \ %{priority} exit 0 %postun javadoc -if [ $1 -eq 0 ] -then - alternatives --remove javadocdir %{_javadocdir}/%{name}/api -fi + alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir}/api exit 0 %files -f %{name}.files %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png +%{_datadir}/applications/*policytool.desktop - -%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 headless -f %{name}.files-headless %defattr(-,root,root,-) %doc %{buildoutputdir}/images/j2sdk-image/jre/ASSEMBLY_EXCEPTION %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE %doc %{buildoutputdir}/images/j2sdk-image/jre/THIRD_PARTY_README - %dir %{_jvmdir}/%{sdkdir} %{_jvmdir}/%{jrelnk} %{_jvmjardir}/%{jrelnk} @@ -1064,23 +1245,31 @@ exit 0 %{jvmjardir} %dir %{_jvmdir}/%{jredir}/lib/security %{_jvmdir}/%{jredir}/lib/security/cacerts +%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar +%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/local_policy.jar %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security %config(noreplace) %{_jvmdir}/%{jredir}/lib/security/blacklisted.certs -%{_mandir}/man1/java-%{name}.1* -%{_mandir}/man1/jjs-%{name}.1* -%{_mandir}/man1/keytool-%{name}.1* -%{_mandir}/man1/orbd-%{name}.1* -%{_mandir}/man1/pack200-%{name}.1* -%{_mandir}/man1/rmid-%{name}.1* -%{_mandir}/man1/rmiregistry-%{name}.1* -%{_mandir}/man1/servertool-%{name}.1* -%{_mandir}/man1/tnameserv-%{name}.1* -%{_mandir}/man1/unpack200-%{name}.1* -%{_jvmdir}/%{jredir}/lib/security/nss.cfg +%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties +%{_mandir}/man1/java-%{uniquesuffix}.1* +%{_mandir}/man1/jjs-%{uniquesuffix}.1* +%{_mandir}/man1/keytool-%{uniquesuffix}.1* +%{_mandir}/man1/orbd-%{uniquesuffix}.1* +%{_mandir}/man1/pack200-%{uniquesuffix}.1* +%{_mandir}/man1/rmid-%{uniquesuffix}.1* +%{_mandir}/man1/rmiregistry-%{uniquesuffix}.1* +%{_mandir}/man1/servertool-%{uniquesuffix}.1* +%{_mandir}/man1/tnameserv-%{uniquesuffix}.1* +%{_mandir}/man1/unpack200-%{uniquesuffix}.1* +%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg %{_jvmdir}/%{jredir}/lib/audio/ -%{_jvmdir}/%{jredir}/lib/security/US_export_policy.jar -%{_jvmdir}/%{jredir}/lib/security/local_policy.jar +%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/%{archinstall}/server/ +%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/ %files devel %defattr(-,root,root,-) @@ -1099,40 +1288,38 @@ exit 0 %if %{with_systemtap} %{_jvmdir}/%{sdkdir}/tapset/*.stp %endif -%{_jvmdir}/%{sdklnk} -%{_jvmjardir}/%{sdklnk} +%{_jvmjardir}/%{sdkdir} %{_datadir}/applications/*jconsole.desktop -%{_datadir}/applications/*policytool.desktop -%{_mandir}/man1/appletviewer-%{name}.1* -%{_mandir}/man1/extcheck-%{name}.1* -%{_mandir}/man1/idlj-%{name}.1* -%{_mandir}/man1/jar-%{name}.1* -%{_mandir}/man1/jarsigner-%{name}.1* -%{_mandir}/man1/javac-%{name}.1* -%{_mandir}/man1/javadoc-%{name}.1* -%{_mandir}/man1/javah-%{name}.1* -%{_mandir}/man1/javap-%{name}.1* -%{_mandir}/man1/jconsole-%{name}.1* -%{_mandir}/man1/jcmd-%{name}.1* -%{_mandir}/man1/jdb-%{name}.1* -%{_mandir}/man1/jdeps-%{name}.1* -%{_mandir}/man1/jhat-%{name}.1* -%{_mandir}/man1/jinfo-%{name}.1* -%{_mandir}/man1/jmap-%{name}.1* -%{_mandir}/man1/jps-%{name}.1* -%{_mandir}/man1/jrunscript-%{name}.1* -%{_mandir}/man1/jsadebugd-%{name}.1* -%{_mandir}/man1/jstack-%{name}.1* -%{_mandir}/man1/jstat-%{name}.1* -%{_mandir}/man1/jstatd-%{name}.1* -%{_mandir}/man1/native2ascii-%{name}.1* -%{_mandir}/man1/policytool-%{name}.1* -%{_mandir}/man1/rmic-%{name}.1* -%{_mandir}/man1/schemagen-%{name}.1* -%{_mandir}/man1/serialver-%{name}.1* -%{_mandir}/man1/wsgen-%{name}.1* -%{_mandir}/man1/wsimport-%{name}.1* -%{_mandir}/man1/xjc-%{name}.1* +%{_mandir}/man1/appletviewer-%{uniquesuffix}.1* +%{_mandir}/man1/extcheck-%{uniquesuffix}.1* +%{_mandir}/man1/idlj-%{uniquesuffix}.1* +%{_mandir}/man1/jar-%{uniquesuffix}.1* +%{_mandir}/man1/jarsigner-%{uniquesuffix}.1* +%{_mandir}/man1/javac-%{uniquesuffix}.1* +%{_mandir}/man1/javadoc-%{uniquesuffix}.1* +%{_mandir}/man1/javah-%{uniquesuffix}.1* +%{_mandir}/man1/javap-%{uniquesuffix}.1* +%{_mandir}/man1/jconsole-%{uniquesuffix}.1* +%{_mandir}/man1/jcmd-%{uniquesuffix}.1* +%{_mandir}/man1/jdb-%{uniquesuffix}.1* +%{_mandir}/man1/jdeps-%{uniquesuffix}.1* +%{_mandir}/man1/jhat-%{uniquesuffix}.1* +%{_mandir}/man1/jinfo-%{uniquesuffix}.1* +%{_mandir}/man1/jmap-%{uniquesuffix}.1* +%{_mandir}/man1/jps-%{uniquesuffix}.1* +%{_mandir}/man1/jrunscript-%{uniquesuffix}.1* +%{_mandir}/man1/jsadebugd-%{uniquesuffix}.1* +%{_mandir}/man1/jstack-%{uniquesuffix}.1* +%{_mandir}/man1/jstat-%{uniquesuffix}.1* +%{_mandir}/man1/jstatd-%{uniquesuffix}.1* +%{_mandir}/man1/native2ascii-%{uniquesuffix}.1* +%{_mandir}/man1/policytool-%{uniquesuffix}.1* +%{_mandir}/man1/rmic-%{uniquesuffix}.1* +%{_mandir}/man1/schemagen-%{uniquesuffix}.1* +%{_mandir}/man1/serialver-%{uniquesuffix}.1* +%{_mandir}/man1/wsgen-%{uniquesuffix}.1* +%{_mandir}/man1/wsimport-%{uniquesuffix}.1* +%{_mandir}/man1/xjc-%{uniquesuffix}.1* %if %{with_systemtap} %{tapsetroot} %endif @@ -1148,7 +1335,7 @@ exit 0 %files javadoc %defattr(-,root,root,-) -%doc %{_javadocdir}/%{name} +%doc %{_javadocdir}/%{uniquejavadocdir} %doc %{buildoutputdir}/images/j2sdk-image/jre/LICENSE %files accessibility @@ -1157,6 +1344,26 @@ exit 0 %{_jvmdir}/%{jredir}/lib/accessibility.properties %changelog +* Tue Aug 12 2014 Jiri Vanek - 1:1.8.0.11-14.b12 +- forced to build in fully versioned dir + +* Tue Aug 12 2014 Jiri Vanek - 1:1.8.0.11-13.b12 +- fixing tapset to support multipleinstalls +- added more config/norepalce +- policitool moved to jre + +* Tue Aug 12 2014 Jiri Vanek - 1:1.8.0.11-12.b12 +- bumped release to build by previous release. +- forcing rebuild by jdk8 +- uncommenting forgotten comment on tzdb link + +* Tue Aug 12 2014 Jiri Vanek - 1:1.8.0.11-11.b12 +- backporting old fixes: +- get rid of jre-abrt, uniquesuffix, parallel install, jsa files, + config(norepalce) bug, -fstack-protector-strong, OrderWithRequires, + nss config, multilib arches, provides/requires excludes +- some additional cosmetic changes + * Tue Jul 22 2014 Omair Majid - 1:1.8.0.11-8.b12 - Modify aarch64-specific jvm.cfg to list server vm first diff --git a/java-abrt-launcher.in b/java-abrt-launcher.in deleted file mode 100644 index d2a7485..0000000 --- a/java-abrt-launcher.in +++ /dev/null @@ -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 - diff --git a/jconsole.desktop.in b/jconsole.desktop.in index 2a3bbdb..407fd8f 100644 --- a/jconsole.desktop.in +++ b/jconsole.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] -Name=OpenJDK 8 Monitoring & Management Console -Comment=Monitor and manage OpenJDK applications for @VERSION@ -Exec=@JAVA_HOME@/bin/jconsole +Name=OpenJDK 8 Monitoring & Management Console #ARCH# +Comment=Monitor and manage OpenJDK applications for #ARCH# +Exec=#JAVA_HOME#/jconsole Icon=java Terminal=false Type=Application diff --git a/nss.cfg b/nss.cfg index c510dd0..377a39c 100644 --- a/nss.cfg +++ b/nss.cfg @@ -1,4 +1,5 @@ name = NSS -nssLibraryDirectory = +nssLibraryDirectory = @NSS_LIBDIR@ nssDbMode = noDb attributes = compatibility +handleStartupErrors = ignoreMultipleInitialisation diff --git a/policytool.desktop.in b/policytool.desktop.in index 0c2f454..24d7958 100644 --- a/policytool.desktop.in +++ b/policytool.desktop.in @@ -1,7 +1,7 @@ [Desktop Entry] -Name=OpenJDK 8 Policy Tool -Comment=Manage OpenJDK policy files (@VERSION@) -Exec=@JAVA_HOME@/bin/policytool +Name=OpenJDK 8 Policy Tool #ARCH# +Comment=Manage OpenJDK policy files #ARCH# +Exec=#JRE_HOME#/policytool Icon=java Terminal=false Type=Application