From f80c6514c3b79dacea58e5cc0553456fd59f5a96 Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Apr 05 2012 18:16:42 +0000 Subject: Also clean up dangling symlinks from previous alternatives scriptlet --- 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