Parcourir la source

fcc: fix %%postun, remove alternatives only if broken

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@3771 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke il y a 14 ans
Parent
commit
772d8902da
1 fichiers modifiés avec 27 ajouts et 13 suppressions
  1. 27 13
      g/gcc/gcc-vl.spec

+ 27 - 13
g/gcc/gcc-vl.spec

@@ -4,7 +4,7 @@
 %global stock_tarball 1
 
 %global gcc_version 4.4.5
-%global gcc_release 5%{?_dist_release}
+%global gcc_release 6%{?_dist_release}
 %global _unpackaged_files_terminate_build 0
 %global multilib_64_archs sparc64 ppc64 s390x x86_64
 ##VINE## I only have ppc32 arch machines at the moment...
@@ -1632,8 +1632,9 @@ fi
 
 %postun -n libgcj
 /sbin/ldconfig
-/sbin/update-alternatives --remove gij %{_bindir}/gij-%{gcc_version}
-
+if ! ( readlink -e %{_bindir}/gij-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove gij %{_bindir}/gij-%{gcc_version}
+fi
 
 %post
 SLAVE=""
@@ -1671,8 +1672,9 @@ if [ ! -f %{_bindir}/gcc ] ; then
 fi
 
 %postun
-/sbin/update-alternatives --remove gcc %{_bindir}/gcc-%{gcc_version}
-
+if ! ( readlink -e %{_bindir}/gcc-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove gcc %{_bindir}/gcc-%{gcc_version}
+fi
 
 %post c++
 /sbin/update-alternatives \
@@ -1692,8 +1694,9 @@ if [ ! -f %{_bindir}/g++ ] ; then
 fi
 
 %postun c++
-/sbin/update-alternatives --remove g++ %{_bindir}/g++-%{gcc_version}
-
+if ! ( readlink -e %{_bindir}/g++-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove g++ %{_bindir}/g++-%{gcc_version}
+fi
 
 %post cpp
 /sbin/update-alternatives \
@@ -1707,8 +1710,9 @@ if [ ! -f %{_bindir}/cpp ] ; then
 fi
 
 %postun cpp
-/sbin/update-alternatives --remove cpp    %{_bindir}/cpp-%{gcc_version}
-
+if ! ( readlink -e %{_bindir}/cpp-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove cpp    %{_bindir}/cpp-%{gcc_version}
+fi
 
 %post gfortran
 /sbin/update-alternatives \
@@ -1725,7 +1729,9 @@ if [ ! -f %{_bindir}/gfortran ] ; then
 fi
 
 %postun gfortran
-/sbin/update-alternatives --remove gfortran %{_bindir}/gfortran-%{gcc_version}
+if ! ( readlink -e %{_bindir}/gfortran-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove gfortran %{_bindir}/gfortran-%{gcc_version}
+fi
 
 %post gnat
 /sbin/update-alternatives \
@@ -1750,7 +1756,9 @@ if [ ! -f %{_bindir}/gnat ] ; then
 fi
 
 %postun gnat
-/sbin/update-alternatives --remove gnat %{_bindir}/gnat-%{gcc_version}
+if ! ( readlink -e %{_bindir}/gnat-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove gnat %{_bindir}/gnat-%{gcc_version}
+fi
 
 %post java
 /sbin/update-alternatives \
@@ -1769,7 +1777,9 @@ if [ ! -f %{_bindir}/gcj ] ; then
 fi
 
 %postun java
-/sbin/update-alternatives --remove gcj %{_bindir}/gcj-%{gcc_version}
+if ! ( readlink -e %{_bindir}/gcj-%{gcc_version} > /dev/null ); then
+  /sbin/update-alternatives --remove gcj %{_bindir}/gcj-%{gcc_version}
+fi
 
 %post -n libgfortran -p /sbin/ldconfig
 
@@ -2445,7 +2455,11 @@ fi
 
 
 %changelog
-* Mon May 02 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.4.5-4
+* Mon May 02 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.4.5-6
+- fix %%postun
+  - remove alternatives only if broken
+
+* Mon May 02 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.4.5-5
 - update %%postun to fix alternatives bug
 - add %%triggerpostun to fix broken alternatives