# # spec file for package fakeroot # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: fakeroot Version: 1.23 Release: 0 Summary: Gives a fake root environment License: GPL-3.0-or-later Group: Development/Tools/Other Url: http://fakeroot.alioth.debian.org/ Source0: http://ftp.debian.org/debian/pool/main/f/fakeroot/%{name}_%{version}.orig.tar.xz#/%{name}-%{version}.tar.xz Source99: baselibs.conf Patch0: %{name}-1.20-lib32.patch Patch2: %{name}-1.20-eglibc-fts-without-LFS.patch # PATCH-FIX-UPSTREAM fakeroot-1.21-hide-dlsym-error.patch (deb#830912) Patch3: %{name}-1.21-hide-dlsym-error.patch # PATCH-FIX-UPSTREAM fakeroot-1.21-fix-shell-in-fakeroot.patch (deb#828810) Patch4: %{name}-1.21-fix-shell-in-fakeroot BuildRequires: automake BuildRequires: fdupes BuildRequires: libacl-devel BuildRequires: libcap-devel BuildRequires: libcap-progs BuildRequires: libtool BuildRequires: po4a BuildRequires: sharutils # user(daemon)/group(sys) is required for t.tar testsuite BuildRequires: group(sys) BuildRequires: user(daemon) Requires(post): update-alternatives Requires(preun): update-alternatives %description fakeroot runs a command in an environment wherein it appears to have root privileges for file manipulation. fakeroot works by replacing the file manipulation library functions (chmod(2), stat(2) etc.) by ones that simulate the effect the real library functions would have had, had the user really been root. %prep %setup -q %patch0 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %build autoreconf -fi pushd doc po4a -k 0 --rm-backups --variable "srcdir=../doc/" po4a/po4a.cfg popd for file in ./doc/{*.1,*/*.1}; do iconv -f latin1 -t utf8 < $file > $file.new && \ mv -f $file.new $file done for type in sysv tcp; do mkdir obj-$type cd obj-$type cat >> configure << 'EOF' #! /bin/sh exec ../configure "$@" EOF chmod +x configure %configure \ --libdir=%{_libdir}/libfakeroot \ --disable-static \ --with-ipc=$type \ --program-suffix=-$type make %{?_smp_mflags} cd .. done %install for type in sysv tcp; do make -C obj-$type install DESTDIR=%{buildroot} mv %{buildroot}%{_libdir}/libfakeroot/libfakeroot-0.so \ %{buildroot}%{_libdir}/libfakeroot/libfakeroot-$type.so rm -f %{buildroot}%{_libdir}/libfakeroot/libfakeroot.so rm -f %{buildroot}%{_libdir}/libfakeroot/libfakeroot.*a done %fdupes -s %{buildroot} # Create ghost files for "update-alternatives" ln -sf faked-sysv %{buildroot}%{_bindir}/faked ln -sf fakeroot-sysv %{buildroot}%{_bindir}/fakeroot ln -sf faked-sysv.1.gz %{buildroot}%{_mandir}/man1/faked.1.gz ln -sf fakeroot-sysv.1.gz %{buildroot}%{_mandir}/man1/fakeroot.1.gz for i in de es fr nl pt sv; do ln -sf faked-sysv.1.gz %{buildroot}%{_mandir}/$i/man1/faked.1.gz ln -sf fakeroot-sysv.1.gz %{buildroot}%{_mandir}/$i/man1/fakeroot.1.gz done mkdir -p %{buildroot}%{_sysconfdir}/alternatives touch %{buildroot}%{_sysconfdir}/alternatives/{faked,fakeroot}{,.1%{ext_man}} %check for type in sysv tcp; do make -C obj-$type check done %post %{_sbindir}/update-alternatives --install %{_bindir}/fakeroot fakeroot %{_bindir}/fakeroot-sysv 20 \ --slave %{_bindir}/faked faked %{_bindir}/faked-sysv \ --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}/pt/man1/fakeroot.1.gz fakeroot.pt.1.gz %{_mandir}/pt/man1/fakeroot-sysv.1.gz \ --slave %{_mandir}/pt/man1/faked.1.gz faked.pt.1.gz %{_mandir}/pt/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 %{_sbindir}/update-alternatives --install %{_bindir}/fakeroot fakeroot %{_bindir}/fakeroot-tcp 10 \ --slave %{_bindir}/faked faked %{_bindir}/faked-tcp \ --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}/pt/man1/fakeroot.1.gz fakeroot.pt.1.gz %{_mandir}/pt/man1/fakeroot-tcp.1.gz \ --slave %{_mandir}/pt/man1/faked.1.gz faked.pt.1.gz %{_mandir}/pt/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 %preun if [ $1 -eq 0 ]; then %{_sbindir}/update-alternatives --remove fakeroot %{_bindir}/fakeroot-sysv %{_sbindir}/update-alternatives --remove fakeroot %{_bindir}/fakeroot-tcp fi %files %doc AUTHORS BUGS COPYING DEBUG README doc/README.saving %ghost %{_bindir}/faked %ghost %{_sysconfdir}/alternatives/faked %ghost %{_bindir}/fakeroot %ghost %{_sysconfdir}/alternatives/fakeroot %{_bindir}/faked-sysv %{_bindir}/faked-tcp %{_bindir}/fakeroot-sysv %{_bindir}/fakeroot-tcp %{_libdir}/libfakeroot/ %ghost %{_mandir}/man1/faked.1%{ext_man} %ghost %{_sysconfdir}/alternatives/faked.1%{ext_man} %ghost %{_mandir}/man1/fakeroot.1%{ext_man} %ghost %{_sysconfdir}/alternatives/fakeroot.1%{ext_man} %{_mandir}/man1/faked-*.1%{ext_man} %{_mandir}/man1/fakeroot-*.1%{ext_man} %dir %{_mandir}/nl/ %dir %{_mandir}/nl/man1/ %dir %{_mandir}/pt/ %dir %{_mandir}/pt/man1/ %dir %{_mandir}/sv/ %dir %{_mandir}/sv/man1/ %ghost %lang(de) %{_mandir}/de/man1/faked.1%{ext_man} %ghost %lang(de) %{_mandir}/de/man1/fakeroot.1%{ext_man} %lang(de) %{_mandir}/de/man1/faked-*.1%{ext_man} %lang(de) %{_mandir}/de/man1/fakeroot-*.1%{ext_man} %ghost %lang(es) %{_mandir}/es/man1/faked.1%{ext_man} %ghost %lang(es) %{_mandir}/es/man1/fakeroot.1%{ext_man} %lang(es) %{_mandir}/es/man1/faked-*.1%{ext_man} %lang(es) %{_mandir}/es/man1/fakeroot-*.1%{ext_man} %ghost %lang(fr) %{_mandir}/fr/man1/faked.1%{ext_man} %ghost %lang(fr) %{_mandir}/fr/man1/fakeroot.1%{ext_man} %lang(fr) %{_mandir}/fr/man1/faked-*.1%{ext_man} %lang(fr) %{_mandir}/fr/man1/fakeroot-*.1%{ext_man} %ghost %lang(nl) %{_mandir}/nl/man1/faked.1%{ext_man} %ghost %lang(nl) %{_mandir}/nl/man1/fakeroot.1%{ext_man} %lang(nl) %{_mandir}/nl/man1/faked-*.1%{ext_man} %lang(nl) %{_mandir}/nl/man1/fakeroot-*.1%{ext_man} %ghost %lang(pt) %{_mandir}/pt/man1/faked.1%{ext_man} %ghost %lang(pt) %{_mandir}/pt/man1/fakeroot.1%{ext_man} %lang(pt) %{_mandir}/pt/man1/faked-*.1%{ext_man} %lang(pt) %{_mandir}/pt/man1/fakeroot-*.1%{ext_man} %ghost %lang(sv) %{_mandir}/sv/man1/faked.1%{ext_man} %ghost %lang(sv) %{_mandir}/sv/man1/fakeroot.1%{ext_man} %lang(sv) %{_mandir}/sv/man1/faked-*.1%{ext_man} %lang(sv) %{_mandir}/sv/man1/fakeroot-*.1%{ext_man} %changelog