forked from pool/fakeroot
Marcus Meissner
8a9596368b
with GCC 14. If the request is OK, please forward it to Factory so that the package is ready when we switch the default compiler. Thanks! OBS-URL: https://build.opensuse.org/package/show/devel:tools/fakeroot?expand=0&rev=45
210 lines
9.1 KiB
RPMSpec
210 lines
9.1 KiB
RPMSpec
#
|
|
# spec file for package fakeroot
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# 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.35.1
|
|
Release: 0
|
|
Summary: Wrapper that gives a fake root environment
|
|
License: GPL-3.0-or-later
|
|
Group: Development/Tools/Other
|
|
URL: https://tracker.debian.org/pkg/fakeroot
|
|
Source0: http://ftp.debian.org/debian/pool/main/f/fakeroot/%{name}_%{version}.orig.tar.gz#/%{name}_%{version}.orig.tar.gz
|
|
Source99: baselibs.conf
|
|
# PATCH-FIX-UPSTREAM fakeroot-1.21-fix-shell-in-fakeroot.patch (deb#828810)
|
|
Patch0: fakeroot-1.21-fix-shell-in-fakeroot
|
|
# PATCH-FIX-UPSTREAM fakeroot-C99.patch - fix C99 issues preventing building with gcc 14
|
|
Patch1: fakeroot-C99.patch
|
|
BuildRequires: autoconf >= 2.71
|
|
BuildRequires: automake
|
|
BuildRequires: fdupes
|
|
BuildRequires: group(sys)
|
|
# user(daemon)/group(sys) is required for t.tar testsuite
|
|
BuildRequires: intltool
|
|
BuildRequires: libacl-devel
|
|
BuildRequires: libcap-devel
|
|
BuildRequires: libcap-progs
|
|
BuildRequires: libtool
|
|
BuildRequires: po4a
|
|
BuildRequires: sharutils
|
|
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
|
|
%autosetup -p1
|
|
|
|
%build
|
|
./bootstrap
|
|
pushd doc
|
|
po4a -k 0 --rm-backups --variable "srcdir=../doc/" po4a/po4a.cfg
|
|
popd
|
|
|
|
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_build
|
|
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 ro 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_build -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}/ro/man1/fakeroot.1.gz fakeroot.ro.1.gz %{_mandir}/ro/man1/fakeroot-sysv.1.gz \
|
|
--slave %{_mandir}/ro/man1/faked.1.gz faked.ro.1.gz %{_mandir}/ro/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}/ro/man1/fakeroot.1.gz fakeroot.ro.1.gz %{_mandir}/ro/man1/fakeroot-tcp.1.gz \
|
|
--slave %{_mandir}/ro/man1/faked.1.gz faked.ro.1.gz %{_mandir}/ro/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
|
|
%license COPYING
|
|
%doc AUTHORS BUGS 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}/ro/
|
|
%dir %{_mandir}/ro/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(ro) %{_mandir}/ro/man1/faked.1%{ext_man}
|
|
%ghost %lang(ro) %{_mandir}/ro/man1/fakeroot.1%{ext_man}
|
|
%lang(ro) %{_mandir}/ro/man1/faked-*.1%{ext_man}
|
|
%lang(ro) %{_mandir}/ro/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
|