Add alternatives (Mimic Debian's behavior).

i9ce
Ralf Corsépius 11 years ago
parent 6210d93dae
commit 8ecadfbfdd

@ -1,7 +1,7 @@
Summary: Gives a fake root environment
Name: fakeroot
Version: 1.18.4
Release: 1%{?dist}
Release: 2%{?dist}
License: GPL+
Group: Development/Tools
URL: http://fakeroot.alioth.debian.org/
@ -15,6 +15,10 @@ BuildRequires: /usr/bin/getopt
BuildRequires: sharutils
Requires: /usr/bin/getopt
Requires: fakeroot-libs = %{version}-%{release}
Requires(post): /usr/sbin/alternatives
Requires(post): /usr/bin/readlink
Requires(preun): /usr/sbin/alternatives
%description
fakeroot runs a command in an environment wherein it appears to have
@ -69,8 +73,8 @@ for type in sysv tcp; do
rm -f %{buildroot}%{_libdir}/libfakeroot/libfakeroot.*la
done
# FIXME: Likely should be handled through alternatives
ln -s faked-tcp %{buildroot}%{_bindir}/faked
ln -s fakeroot-tcp %{buildroot}%{_bindir}/fakeroot
ln -s libfakeroot-tcp.so %{buildroot}%{_libdir}/libfakeroot/libfakeroot-0.so
%check
@ -78,25 +82,85 @@ for type in sysv tcp; do
make -C obj-$type check
done
%post
link=$(readlink -e "/usr/bin/fakeroot")
if [ "$link" = "/usr/bin/fakeroot" ]; then
rm -f /usr/bin/fakeroot
fi
/usr/sbin/alternatives --install "%{_bindir}/fakeroot" fakeroot \
"%{_bindir}/fakeroot-tcp" 50 \
--slave %{_mandir}/man1/fakeroot.1.gz fakeroot.1.gz %{_mandir}/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/man1/faked.1.gz faked.1.gz %{_mandir}/man1/faked-tcp.1.gz \
--slave %{_mandir}/de/man1/fakeroot.1.gz fakeroot.de.1.gz %{_mandir}/de/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/de/man1/faked.1.gz faked.de.1.gz %{_mandir}/de/man1/faked-tcp.1.gz \
--slave %{_mandir}/es/man1/fakeroot.1.gz fakeroot.es.1.gz %{_mandir}/es/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/es/man1/faked.1.gz faked.es.1.gz %{_mandir}/es/man1/faked-tcp.1.gz \
--slave %{_mandir}/fr/man1/fakeroot.1.gz fakeroot.fr.1.gz %{_mandir}/fr/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/fr/man1/faked.1.gz faked.fr.1.gz %{_mandir}/fr/man1/faked-tcp.1.gz \
--slave %{_mandir}/nl/man1/fakeroot.1.gz fakeroot.nl.1.gz %{_mandir}/nl/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/nl/man1/faked.1.gz faked.nl.1.gz %{_mandir}/nl/man1/faked-tcp.1.gz \
--slave %{_mandir}/sv/man1/fakeroot.1.gz fakeroot.sv.1.gz %{_mandir}/sv/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/sv/man1/faked.1.gz faked.sv.1.gz %{_mandir}/sv/man1/faked-tcp.1.gz
/usr/sbin/alternatives --install "%{_bindir}/fakeroot" fakeroot \
"%{_bindir}/fakeroot-sysv" 40 \
--slave %{_mandir}/man1/fakeroot.1.gz fakeroot.1.gz %{_mandir}/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/man1/faked.1.gz faked.1.gz %{_mandir}/man1/faked-sysv.1.gz \
--slave %{_mandir}/de/man1/fakeroot.1.gz fakeroot.de.1.gz %{_mandir}/de/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/de/man1/faked.1.gz faked.de.1.gz %{_mandir}/de/man1/faked-sysv.1.gz \
--slave %{_mandir}/es/man1/fakeroot.1.gz fakeroot.es.1.gz %{_mandir}/es/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/es/man1/faked.1.gz faked.es.1.gz %{_mandir}/es/man1/faked-sysv.1.gz \
--slave %{_mandir}/fr/man1/fakeroot.1.gz fakeroot.fr.1.gz %{_mandir}/fr/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/fr/man1/faked.1.gz faked.fr.1.gz %{_mandir}/fr/man1/faked-sysv.1.gz \
--slave %{_mandir}/nl/man1/fakeroot.1.gz fakeroot.nl.1.gz %{_mandir}/nl/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/nl/man1/faked.1.gz faked.nl.1.gz %{_mandir}/nl/man1/faked-sysv.1.gz \
--slave %{_mandir}/sv/man1/fakeroot.1.gz fakeroot.sv.1.gz %{_mandir}/sv/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/sv/man1/faked.1.gz faked.sv.1.gz %{_mandir}/sv/man1/faked-sysv.1.gz
%preun
if [ $1 = 0 ]; then
/usr/sbin/alternatives --remove fakeroot "%{_bindir}/fakeroot-tcp"
/usr/sbin/alternatives --remove fakeroot "%{_bindir}/fakeroot-sysv"
fi
%files
%defattr(-,root,root,-)
%doc COPYING AUTHORS BUGS DEBUG doc/README.saving
%{_bindir}/faked-*
%{_bindir}/faked
%{_bindir}/fakeroot-*
%{_bindir}/fakeroot
%{_mandir}/man1/faked-*.1*
%{_mandir}/man1/fakeroot-*.1*
%lang(de) %{_mandir}/de/man1/faked-*.1*
%lang(de) %{_mandir}/de/man1/fakeroot-*.1*
%lang(es) %{_mandir}/es/man1/faked-*.1*
%lang(es) %{_mandir}/es/man1/fakeroot-*.1*
%lang(fr) %{_mandir}/fr/man1/faked-*.1*
%lang(fr) %{_mandir}/fr/man1/fakeroot-*.1*
%lang(sv) %{_mandir}/sv/man1/faked-*.1*
%lang(sv) %{_mandir}/sv/man1/fakeroot-*.1*
%lang(nl) %{_mandir}/nl/man1/faked-*.1*
%lang(nl) %{_mandir}/nl/man1/fakeroot-*.1*
%ghost %{_bindir}/fakeroot
%{_mandir}/man1/faked-sysv.1*
%{_mandir}/man1/faked-tcp.1*
%{_mandir}/man1/fakeroot-sysv.1*
%{_mandir}/man1/fakeroot-tcp.1*
%ghost %{_mandir}/man1/fakeroot.1.gz
%lang(de) %{_mandir}/de/man1/faked-sysv.1*
%lang(de) %{_mandir}/de/man1/faked-tcp.1*
%lang(de) %{_mandir}/de/man1/fakeroot-sysv.1*
%lang(de) %{_mandir}/de/man1/fakeroot-tcp.1*
%ghost %lang(de) %{_mandir}/de/man1/fakeroot.1.gz
%lang(es) %{_mandir}/es/man1/faked-sysv.1*
%lang(es) %{_mandir}/es/man1/faked-tcp.1*
%lang(es) %{_mandir}/es/man1/fakeroot-sysv.1*
%lang(es) %{_mandir}/es/man1/fakeroot-tcp.1*
%ghost %lang(es) %{_mandir}/es/man1/fakeroot.1.gz
%lang(fr) %{_mandir}/fr/man1/faked-sysv.1*
%lang(fr) %{_mandir}/fr/man1/faked-tcp.1*
%lang(fr) %{_mandir}/fr/man1/fakeroot-sysv.1*
%lang(fr) %{_mandir}/fr/man1/fakeroot-tcp.1*
%ghost %lang(fr) %{_mandir}/fr/man1/fakeroot.1.gz
%lang(sv) %{_mandir}/sv/man1/faked-sysv.1*
%lang(sv) %{_mandir}/sv/man1/faked-tcp.1*
%lang(sv) %{_mandir}/sv/man1/fakeroot-sysv.1*
%lang(sv) %{_mandir}/sv/man1/fakeroot-tcp.1*
%ghost %lang(sv) %{_mandir}/sv/man1/fakeroot.1.gz
%lang(nl) %{_mandir}/nl/man1/faked-sysv.1*
%lang(nl) %{_mandir}/nl/man1/faked-tcp.1*
%lang(nl) %{_mandir}/nl/man1/fakeroot-sysv.1*
%lang(nl) %{_mandir}/nl/man1/fakeroot-tcp.1*
%ghost %lang(nl) %{_mandir}/nl/man1/fakeroot.1.gz
%files libs
%dir %{_libdir}/libfakeroot
@ -105,6 +169,9 @@ done
%{_libdir}/libfakeroot/libfakeroot-0.so
%changelog
* Mon Aug 26 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 1.18.4-2
- Add alternatives (Mimic Debian's behavior).
* Fri Jul 26 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 1.18.4-1
- Upstream update.
- Spec cleanup.

Loading…
Cancel
Save