[fakeroot] Add alternatives (Mimic Debian's behavior).
corsepiu
corsepiu at fedoraproject.org
Mon Aug 26 16:13:11 UTC 2013
commit 8ecadfbfdddbc3a5fd48e45d03f6e95136f3a1d0
Author: Ralf Corsépius <corsepiu at fedoraproject.org>
Date: Mon Aug 26 18:12:55 2013 +0200
Add alternatives (Mimic Debian's behavior).
fakeroot.spec | 97 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 82 insertions(+), 15 deletions(-)
---
diff --git a/fakeroot.spec b/fakeroot.spec
index e933d0e..ea4221c 100644
--- a/fakeroot.spec
+++ b/fakeroot.spec
@@ -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 at fedoraproject.org> - 1.18.4-2
+- Add alternatives (Mimic Debian's behavior).
+
* Fri Jul 26 2013 Ralf Corsépius <corsepiu at fedoraproject.org> - 1.18.4-1
- Upstream update.
- Spec cleanup.
More information about the scm-commits
mailing list