Split alternatives into 4 sets

mandoc has file conflicts with man-db, groff-base, groff and man-pages
packages, but all of those can be installed simultaneously and they
provide different functionality. Using a single alternative would
effectively render 3 of those packages unusable (at least partially).
This commit is contained in:
Nikola Forró 2020-02-25 16:30:47 +01:00
parent a11aeace27
commit 237bc66336

View File

@ -127,30 +127,49 @@ env LD_LIBRARY_PATH="$PWD" make regress
%postun
if [ $1 -ge 1 ]; then
if [ "$(readlink %{_sysconfdir}/alternatives/mandoc)" = "%{_bindir}/man.mandoc" ]; then
%{_sbindir}/alternatives --set mandoc %{_bindir}/man.mandoc
if [ "$(readlink %{_sysconfdir}/alternatives/man)" = "%{_bindir}/man.mandoc" ]; then
%{_sbindir}/alternatives --set man %{_bindir}/man.mandoc
fi
if [ "$(readlink %{_sysconfdir}/alternatives/soelim)" = "%{_bindir}/soelim.mandoc" ]; then
%{_sbindir}/alternatives --set soelim %{_bindir}/soelim.mandoc
fi
if [ "$(readlink %{_sysconfdir}/alternatives/roff.7.gz)" = "%{_mandir}/man7/roff.mandoc.7.gz" ]; then
%{_sbindir}/alternatives --set roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz
fi
if [ "$(readlink %{_sysconfdir}/alternatives/man.7.gz)" = "%{_mandir}/man7/man.mandoc.7.gz" ]; then
%{_sbindir}/alternatives --set man.7.gz %{_mandir}/man7/man.mandoc.7.gz
fi
fi
%post
%{_sbindir}/update-alternatives --install %{_bindir}/man mandoc %{_bindir}/man.mandoc 200 \
--slave %{_bindir}/soelim mandoc-soelim %{_bindir}/soelim.mandoc \
--slave %{_bindir}/whatis mandoc-whatis %{_bindir}/whatis.mandoc \
--slave %{_sbindir}/makewhatis mandoc-makewhatis %{_sbindir}/makewhatis.mandoc \
--slave %{_mandir}/man1/apropos.1.gz mandoc-aproposman %{_mandir}/man1/apropos.mandoc.1.gz \
--slave %{_mandir}/man1/man.1.gz mandoc-man1man %{_mandir}/man1/man.mandoc.1.gz \
--slave %{_mandir}/man1/soelim.1.gz mandoc-soelimman %{_mandir}/man1/soelim.mandoc.1.gz \
--slave %{_mandir}/man1/whatis.1.gz mandoc-whatisman %{_mandir}/man1/whatis.mandoc.1.gz \
--slave %{_mandir}/man7/man.7.gz mandoc-man7man %{_mandir}/man7/man.mandoc.7.gz \
--slave %{_mandir}/man7/mdoc.7.gz mandoc-mdocman %{_mandir}/man7/mdoc.mandoc.7.gz \
--slave %{_mandir}/man7/roff.7.gz mandoc-roffman %{_mandir}/man7/roff.mandoc.7.gz \
--slave %{_mandir}/man7/eqn.7.gz mandoc-eqnman %{_mandir}/man7/eqn.mandoc.7.gz \
--slave %{_mandir}/man7/tbl.7.gz mandoc-tblman %{_mandir}/man7/tbl.mandoc.7.gz
--slave %{_mandir}/man8/makewhatis.8.gz mandoc-makewhatisman %{_mandir}/man8/makewhatis.mandoc.8.gz
%{_sbindir}/update-alternatives --install %{_bindir}/man man %{_bindir}/man.mandoc 200 \
--slave %{_bindir}/apropos apropos %{_bindir}/apropos.mandoc \
--slave %{_bindir}/whatis whatis %{_bindir}/whatis.mandoc \
--slave %{_sbindir}/makewhatis makewhatis %{_sbindir}/makewhatis.mandoc \
--slave %{_mandir}/man1/apropos.1.gz apropos.1.gz %{_mandir}/man1/apropos.mandoc.1.gz \
--slave %{_mandir}/man1/man.1.gz man.1.gz %{_mandir}/man1/man.mandoc.1.gz \
--slave %{_mandir}/man1/whatis.1.gz whatis.1.gz %{_mandir}/man1/whatis.mandoc.1.gz \
--slave %{_mandir}/man8/makewhatis.8.gz makewhatis.8.gz %{_mandir}/man8/makewhatis.mandoc.8.gz
%{_sbindir}/update-alternatives --install %{_bindir}/soelim soelim %{_bindir}/soelim.mandoc 200 \
--slave %{_mandir}/man1/soelim.1.gz soelim.1.gz %{_mandir}/man1/soelim.mandoc.1.gz
%{_sbindir}/update-alternatives --install %{_mandir}/man7/roff.7.gz roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz 200 \
--slave %{_mandir}/man7/eqn.7.gz eqn.7.gz %{_mandir}/man7/eqn.mandoc.7.gz \
--slave %{_mandir}/man7/tbl.7.gz tbl.7.gz %{_mandir}/man7/tbl.mandoc.7.gz
%{_sbindir}/update-alternatives --install %{_mandir}/man7/man.7.gz man.7.gz %{_mandir}/man7/man.mandoc.7.gz 200 \
--slave %{_mandir}/man7/mdoc.7.gz mdoc.7.gz %{_mandir}/man7/mdoc.mandoc.7.gz
%preun
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove mandoc %{_bindir}/man.mandoc
%{_sbindir}/update-alternatives --remove man %{_bindir}/man.mandoc
%{_sbindir}/update-alternatives --remove soelim %{_bindir}/soelim.mandoc
%{_sbindir}/update-alternatives --remove roff.7.gz %{_mandir}/man7/roff.mandoc.7.gz
%{_sbindir}/update-alternatives --remove man.7.gz %{_mandir}/man7/man.mandoc.7.gz
fi
%files