已开启
Fix alternatives cleanup on same version reinstall #251
Fix alternatives cleanup on same version reinstall #251
已开启
gaoxiang90创建于 8月9日
共 1 个文件变更+13-1
@@ -350,10 +350,13 @@ exit 0
350 350 
351 351 
352%define postun_headless() %{expand:352%define postun_headless() %{expand:
353+if [ "$1" -eq 0 ] || [ ! -e "%{jrebindir -- %{?1}}/java" ]; then
353 alternatives --remove java %{jrebindir -- %{?1}}/java354 alternatives --remove java %{jrebindir -- %{?1}}/java
354 alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}355 alternatives --remove jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
355 alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}356 alternatives --remove jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
356 alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}357 alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
358+fi
359+exit 0
357}360}
358 361 
359%define posttrans_script() %{expand:362%define posttrans_script() %{expand:
@@ -450,10 +453,12 @@ exit 0
450}453}
451 454 
452%define postun_devel() %{expand:455%define postun_devel() %{expand:
456+if [ "$1" -eq 0 ] || [ ! -e "%{sdkbindir -- %{?1}}/javac" ]; then
453 alternatives --remove javac %{sdkbindir -- %{?1}}/javac457 alternatives --remove javac %{sdkbindir -- %{?1}}/javac
454 alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}458 alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
455 alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}459 alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
456 alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}460 alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
461+fi
457 462 
458update-desktop-database %{_datadir}/applications &> /dev/null || :463update-desktop-database %{_datadir}/applications &> /dev/null || :
459 464 
@@ -482,7 +487,9 @@ exit 0
482}487}
483 488 
484%define postun_javadoc() %{expand:489%define postun_javadoc() %{expand:
490+if [ "$1" -eq 0 ] || [ ! -e "%{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api" ]; then
485 alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api491 alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
492+fi
486exit 0493exit 0
487}494}
488 495 
@@ -500,7 +507,9 @@ exit 0
500}507}
501 508 
502%define postun_javadoc_zip() %{expand:509%define postun_javadoc_zip() %{expand:
510+if [ "$1" -eq 0 ] || [ ! -e "%{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip" ]; then
503 alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip511 alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
512+fi
504exit 0513exit 0
505}514}
506 515 
@@ -922,7 +931,7 @@ Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
922 931 
923Name: java-%{javaver}-%{origin}932Name: java-%{javaver}-%{origin}
924Version: %{newjavaver}.%{buildver}933Version: %{newjavaver}.%{buildver}
925-Release: 2934+Release: 3
926 935 
927# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons936# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
928# and this change was brought into RHEL-4. java-1.5.0-ibm packages937# and this change was brought into RHEL-4. java-1.5.0-ibm packages
@@ -2097,6 +2106,9 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect
2097 2106 
2098 2107 
2099%changelog2108%changelog
2109+* Fri Aug 7 2026 gaoxiang <gaoxiang@kylinos.cn> -1:17.0.20.8-3
2110+- Fix alternatives entries being incorrectly removed by %postun during same version package reinstallation.
2111+ 
2100* Tue Aug 4 2026 wulongyao <wulongyao1@huawei.com> -1:17.0.20.8-22112* Tue Aug 4 2026 wulongyao <wulongyao1@huawei.com> -1:17.0.20.8-2
2101- fix no patch number error when rpmbuild2113- fix no patch number error when rpmbuild
2102 2114