This is an old revision of the document!
update-alternatives - maintain symbolic links determining default commands
By default alternatives
uses auto
mode picking the “best” alternative.
TODO: how to enforce sysadmin preference
from phar-php example:
Requires: alternatives ... %install ... # touch for ghost %{__rm} $RPM_BUILD_ROOT%{_bindir}/phar touch $RPM_BUILD_ROOT%{_bindir}/phar %post phar update-alternatives \ --install %{_bindir}/phar phar %{_bindir}/phar%{ver_suffix}.phar %{ver_suffix} \ --slave %{_mandir}/man1/phar.1 phar.1 %{_mandir}/man1/phar%{ver_suffix}.1* || : %postun phar if [ $1 -eq 0 ]; then update-alternatives --remove phar %{_bindir}/phar || : fi ... %files ... %ghost %{_bindir}/phar %ghost %{_mandir}/man1/phar.1
Requires: alternatives
to runtime deps--install
to setup the symlinks in package %post
scriptlet.--slave
option is optional and may be repeated, use if you wish to “group” alternatives%postun
to remove alternative on package uninstall