[vala] Also clean up dangling symlinks from previous alternatives scriptlet
Michel Alexandre Salim
salimma at fedoraproject.org
Thu Apr 5 18:25:11 UTC 2012
commit f80c6514c3b79dacea58e5cc0553456fd59f5a96
Author: Michel Alexandre Salim <salimma at fedoraproject.org>
Date: Fri Apr 6 01:16:42 2012 +0700
Also clean up dangling symlinks from previous alternatives scriptlet
vala.spec | 37 +++++++++++++++++++++++++++----------
1 files changed, 27 insertions(+), 10 deletions(-)
---
diff --git a/vala.spec b/vala.spec
index fbf69ce..b0d556b 100644
--- a/vala.spec
+++ b/vala.spec
@@ -36,8 +36,8 @@ BuildRequires: emacs emacs-el
%global vala_manpages valac
%global vala_tools_binaries vala-gen-introspect vapicheck vapigen
%global vala_tools_manpages vala-gen-introspect vapigen
-Requires(posttrans): %{_sbindir}/update-alternatives
-Requires(preun): %{_sbindir}/update-alternatives
+Requires(posttrans): %{_sbindir}/alternatives
+Requires(preun): %{_sbindir}/alternatives
%description
@@ -198,24 +198,41 @@ rm -rf $RPM_BUILD_ROOT
/sbin/ldconfig
for f in %{vala_binaries};
do
- %{_sbindir}/update-alternatives --install %{_bindir}/$f \
+ if find -L /etc/alternatives/$f -type l | grep $f;
+ then
+ # older vala packages fail to remove alternatives on upgrade
+ %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+ fi
+ %{_sbindir}/alternatives --install %{_bindir}/$f \
$f %{_bindir}/$f-%{api_ver} 90
done
for f in %{vala_manpages};
do
- %{_sbindir}/update-alternatives --install %{_mandir}/man1/$f.1.gz \
+ if find -L /etc/alternatives/$f -type l | grep $f;
+ then
+ %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+ fi
+ %{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
$f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 90
done
%posttrans tools
for f in %{vala_tools_binaries};
do
- %{_sbindir}/update-alternatives --install %{_bindir}/$f \
+ if find -L /etc/alternatives/$f -type l | grep $f;
+ then
+ %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+ fi
+ %{_sbindir}/alternatives --install %{_bindir}/$f \
$f %{_bindir}/$f-%{api_ver} 90
done
for f in %{vala_tools_manpages};
do
- %{_sbindir}/update-alternatives --install %{_mandir}/man1/$f.1.gz \
+ if find -L /etc/alternatives/$f -type l | grep $f;
+ then
+ %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+ fi
+ %{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
$f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 90
done
@@ -223,24 +240,24 @@ done
/sbin/ldconfig
for f in %{vala_binaries};
do
- %{_sbindir}/update-alternatives --remove $f \
+ %{_sbindir}/alternatives --remove $f \
%{_bindir}/$f-%{api_ver}
done
for f in %{vala_manpages};
do
- %{_sbindir}/update-alternatives --remove $f.1.gz \
+ %{_sbindir}/alternatives --remove $f.1.gz \
%{_mandir}/man1/$f-%{api_ver}.1.gz
done
%preun tools
for f in %{vala_tools_binaries};
do
- %{_sbindir}/update-alternatives --remove $f \
+ %{_sbindir}/alternatives --remove $f \
%{_bindir}/$f-%{api_ver}
done
for f in %{vala_tools_manpages};
do
- %{_sbindir}/update-alternatives --remove $f.1.gz \
+ %{_sbindir}/alternatives --remove $f.1.gz \
%{_mandir}/man1/$f-%{api_ver}.1.gz
done
More information about the scm-commits
mailing list