[java-1.7.0-openjdk] sync with f19
jiri vanek
jvanek at fedoraproject.org
Fri Jul 19 13:29:48 UTC 2013
commit 0cfdf60a4a315c2e0618478c69f887638eaaf93b
Author: Jiri Vanek <jvanek at jvanek.redhat>
Date: Fri Jul 19 15:29:17 2013 +0200
sync with f19
java-1.7.0-openjdk.spec | 232 +++++++++++++++++++++++++++++++++++------------
1 files changed, 175 insertions(+), 57 deletions(-)
---
diff --git a/java-1.7.0-openjdk.spec b/java-1.7.0-openjdk.spec
index 20ca9f7..17215a8 100644
--- a/java-1.7.0-openjdk.spec
+++ b/java-1.7.0-openjdk.spec
@@ -93,7 +93,6 @@
%else
%global syslibdir %{_libdir}
%endif
-%global archname %{name}.%{_arch}
# Standard JPackage naming and versioning defines.
%global origin openjdk
@@ -102,22 +101,22 @@
%global priority 1700%{buildver}
%global javaver 1.7.0
-# Standard JPackage directories and symbolic links.
-# Make 64-bit JDKs just another alternative on 64-bit architectures.
-%global sdklnk java-%{javaver}-%{origin}.%{_arch}
-%global jrelnk jre-%{javaver}-%{origin}.%{_arch}
-%global sdkdir %{name}-%{version}.%{_arch}
+%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
+%global sdkbindir %{_jvmdir}/%{sdkdir}/bin
+%global jrebindir %{_jvmdir}/%{jredir}/bin
+%global jvmjardir %{_jvmjardir}/%{uniquesuffix}
-%global jvmjardir %{_jvmjardir}/%{name}-%{version}.%{_arch}
+%global fullversion %{name}-%{version}-%{release}
-# The suffix for file names when we have to make them unique (from
-# other Java packages).
-%global uniquesuffix %{name}
-%global uniquejavadocdir %{name}
+%global uniquesuffix %{fullversion}.%{_arch}
+#we can copy the javadoc to not arched dir, or made it not noarch
+%global uniquejavadocdir %{fullversion}
+
+%global statuscheck status is auto
+%global linkcheck link currently points to
%ifarch %{jit_arches}
# Where to install systemtap tapset (links)
@@ -137,7 +136,7 @@
Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{buildver}
-Release: %{icedtea_version}.7%{?dist}
+Release: %{icedtea_version}.8%{?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
@@ -732,17 +731,15 @@ mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir}/lib/%{archinstall}/client/
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
@@ -856,11 +853,32 @@ find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir}/demo \
%{jrebindir}/java -Xshare:dump >/dev/null 2>/dev/null
%endif
+# Note current status of alternatives
+MAKE_THIS_DEFAULT=0
+ID=%{_jvmdir}/\(\(jre\)\|\(java\)\)-%{javaver}-%{origin}.*bin/java
+COMMAND=java
+alternatives --display $COMMAND | head -n 1 | grep -q "%{statuscheck}"
+if [ $? -ne 0 ]; then
+ alternatives --display $COMMAND | grep -q "%{linkcheck}"".*""$ID"
+ if [ $? -eq 0 ]; then
+ MAKE_THIS_DEFAULT=1
+ fi
+fi
+
+# Remove old alternatives
+for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do
+ # Only grab what %{origin} installed
+ echo $alt | grep -q "$ID"
+ if [ $? -eq 0 ]; then
+ alternatives --remove $COMMAND $alt >& /dev/null || :
+ fi
+done
+
ext=.gz
alternatives \
--install %{_bindir}/java java %{jrebindir}/java %{priority} \
- --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jrelnk} \
- --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jrelnk} \
+ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir} \
+ --slave %{_jvmjardir}/jre jre_exports %{_jvmjardir}/%{jredir} \
--slave %{_bindir}/keytool keytool %{jrebindir}/keytool \
--slave %{_bindir}/orbd orbd %{jrebindir}/orbd \
--slave %{_bindir}/pack200 pack200 %{jrebindir}/pack200 \
@@ -888,17 +906,44 @@ alternatives \
--slave %{_mandir}/man1/unpack200.1$ext unpack200.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}
+# Gracefully update to this one if needed
+if [ $MAKE_THIS_DEFAULT -eq 1 ]; then
+ alternatives --set $COMMAND %{jrebindir}/java
+fi
-alternatives \
- --install %{_jvmdir}/jre-%{javaver} \
- jre_%{javaver} %{_jvmdir}/%{jrelnk} %{priority} \
- --slave %{_jvmjardir}/jre-%{javaver} \
- jre_%{javaver}_exports %{_jvmjardir}/%{jrelnk}
+for X in %{origin} %{javaver} ; do
+ # Note current status of alternatives
+ MAKE_THIS_DEFAULT=0
+ ID=%{_jvmdir}/\(\(jre\)\|\(java\)\)-%{javaver}-%{origin}
+ COMMAND=jre_$X
+ alternatives --display $COMMAND | head -n 1 | grep -q "%{statuscheck}"
+ if [ $? -ne 0 ]; then
+ alternatives --display $COMMAND | grep -q "%{linkcheck}"".*""$ID"
+ if [ $? -eq 0 ]; then
+ MAKE_THIS_DEFAULT=1
+ fi
+ fi
+
+ # Remove old alternatives
+ for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do
+ # Only grab what %{origin} installed
+ echo $alt | grep -q "$ID"
+ if [ $? -eq 0 ]; then
+ alternatives --remove $COMMAND $alt >& /dev/null || :
+ fi
+ done
+
+ alternatives \
+ --install %{_jvmdir}/jre-"$X" \
+ jre_"$X" %{_jvmdir}/%{jredir} %{priority} \
+ --slave %{_jvmjardir}/jre-"$X" \
+ jre_"$X"_exports %{_jvmjardir}/%{jredir}
+
+ # Gracefully update to this one if needed
+ if [ $MAKE_THIS_DEFAULT -eq 1 ]; then
+ alternatives --set $COMMAND %{_jvmdir}/%{jredir}
+ fi
+done
update-desktop-database %{_datadir}/applications &> /dev/null || :
@@ -907,12 +952,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
exit 0
%postun
-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}
update-desktop-database %{_datadir}/applications &> /dev/null || :
@@ -927,11 +969,32 @@ exit 0
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%post devel
+# Note current status of alternatives
+MAKE_THIS_DEFAULT=0
+ID=%{_jvmdir}/java-%{javaver}-%{origin}.*bin/javac
+COMMAND=javac
+alternatives --display $COMMAND | head -n 1 | grep -q "%{statuscheck}"
+if [ $? -ne 0 ]; then
+ alternatives --display $COMMAND | grep -q "%{linkcheck}"".*""$ID"
+ if [ $? -eq 0 ]; then
+ MAKE_THIS_DEFAULT=1
+ fi
+fi
+
+# Remove old alternatives
+for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do
+ # Only grab what %{origin} installed
+ echo $alt | grep -q "$ID"
+ if [ $? -eq 0 ]; then
+ alternatives --remove $COMMAND $alt >& /dev/null || :
+ fi
+done
+
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}/apt apt %{sdkbindir}/apt \
--slave %{_bindir}/extcheck extcheck %{sdkbindir}/extcheck \
@@ -1018,42 +1081,89 @@ alternatives \
--slave %{_mandir}/man1/xjc.1$ext xjc.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}
+# Gracefully update to this one if needed
+if [ $MAKE_THIS_DEFAULT -eq 1 ]; then
+ alternatives --set $COMMAND %{sdkbindir}/javac
+fi
+
+for X in %{origin} %{javaver} ; do
+ # Note current status of alternatives
+ MAKE_THIS_DEFAULT=0
+ ID=%{_jvmdir}/java-%{javaver}-%{origin}
+ COMMAND=java_sdk_$X
+ alternatives --display $COMMAND | head -n 1 | grep -q "%{statuscheck}"
+ if [ $? -ne 0 ]; then
+ alternatives --display $COMMAND | grep -q "%{linkcheck}"".*""$ID"
+ if [ $? -eq 0 ]; then
+ MAKE_THIS_DEFAULT=1
+ fi
+ fi
+
+ # Remove old alternatives
+ for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do
+ # Only grab what %{origin} installed
+ echo $alt | grep -q "$ID"
+ if [ $? -eq 0 ]; then
+ alternatives --remove $COMMAND $alt >& /dev/null || :
+ fi
+ done
+
+ alternatives \
+ --install %{_jvmdir}/java-"$X" \
+ java_sdk_"$X" %{_jvmdir}/%{sdkdir} %{priority} \
+ --slave %{_jvmjardir}/java-"$X" \
+ java_sdk_"$X"_exports %{_jvmjardir}/%{sdkdir}
+
+ # Gracefully update to this one if needed
+ if [ $MAKE_THIS_DEFAULT -eq 1 ]; then
+ alternatives --set $COMMAND %{_jvmdir}/%{sdkdir}
+ fi
+done
-alternatives \
- --install %{_jvmdir}/java-%{javaver} \
- java_sdk_%{javaver} %{_jvmdir}/%{sdklnk} %{priority} \
- --slave %{_jvmjardir}/java-%{javaver} \
- java_sdk_%{javaver}_exports %{_jvmjardir}/%{sdklnk}
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}
exit 0
%post javadoc
+MAKE_THIS_DEFAULT=0
+ID=%{_javadocdir}/java-%{javaver}-%{origin}.*/api
+COMMAND=javadocdir
+alternatives --display $COMMAND | head -n 1 | grep -q "%{statuscheck}"
+if [ $? -ne 0 ]; then
+ alternatives --display $COMMAND | grep -q "%{linkcheck}"".*""$ID"
+ if [ $? -eq 0 ]; then
+ MAKE_THIS_DEFAULT=1
+ fi
+fi
+
+# Remove old alternatives
+for alt in $(alternatives --display $COMMAND | grep priority | awk '{print $1}'); do
+ # Only grab what %{origin} installed
+ echo $alt | grep -q "$ID"
+ if [ $? -eq 0 ]; then
+ alternatives --remove $COMMAND $alt >& /dev/null || :
+ fi
+done
+
alternatives \
--install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir}/api \
%{priority}
+# Gracefully update to this one if needed
+if [ $MAKE_THIS_DEFAULT -eq 1 ]; then
+ alternatives --set $COMMAND %{_javadocdir}/%{uniquejavadocdir}/api
+fi
+
exit 0
%postun javadoc
-if [ $1 -eq 0 ]
-then
alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir}/api
-fi
exit 0
@@ -1112,8 +1222,8 @@ exit 0
%ifarch %{jit_arches}
%{_jvmdir}/%{sdkdir}/tapset/*.stp
%endif
-%{_jvmdir}/%{sdklnk}
-%{_jvmjardir}/%{sdklnk}
+%{_jvmdir}/%{sdkdir}
+%{_jvmjardir}/%{sdkdir}
%{_datadir}/applications/*jconsole.desktop
%{_datadir}/applications/*policytool.desktop
%{_mandir}/man1/appletviewer-%{uniquesuffix}.1*
@@ -1172,6 +1282,14 @@ exit 0
%{_jvmdir}/%{jredir}/lib/accessibility.properties
%changelog
+* Fri Jul 19 2013 Jiri Vanek <jvanek at redhat.com> - 1.7.0.25-2.3.10.8.f20
+- jrelnk is now just lnk, everything is pointing through jredir
+- all alternatives are celaned before new one is added
+- alternatives are removed after uninstall
+- moved to full-version directory
+- moved to add/remove alternatives process
+- sdklnk removed, and substitued by sdkdir
+
* Wed Jul 03 2013 Jiri Vanek <jvanek at redhat.com> - 1.7.0.25-2.3.10.7.f20
- moved to xz compression of sources
- updated 2.1 tarball
More information about the scm-commits
mailing list