fakeroot/fakeroot.spec

148 lines
4.8 KiB
RPMSpec
Raw Normal View History

2021-05-25 17:54:43 +08:00
%bcond_without autoconf
Summary: Gives a fake root environment
Name: fakeroot
Version: 1.25.2
Release: 3
2021-05-25 17:54:43 +08:00
License: GPLv3+ and LGPLv2.1 and MIT and GPL+
URL: https://tracker.debian.org/pkg/fakeroot
Source0: http://salsa.debian.org/clint/fakeroot/-/archive/upstream/1.25.2/%{name}-upstream-%{version}.tar.gz
Patch0: debian_eglibc-fts-without-LFS.patch
Patch2: debian_fix-shell-in-fakeroot.patch
Patch4: fakeroot-inttypes.patch
Patch5: fakeroot-multilib.patch
Patch6: fakeroot-drop-tartest.patch
2019-11-30 16:41:20 +08:00
%if %{with autoconf}
2021-05-25 17:54:43 +08:00
BuildRequires: autoconf automake libtool po4a
2019-11-30 16:41:20 +08:00
%endif
2021-05-25 17:54:43 +08:00
BuildRequires: /usr/bin/getopt libacl-devel libcap-devel sharutils
Requires: /usr/bin/getopt
2021-05-25 17:54:43 +08:00
Requires(post): /usr/sbin/alternatives
Requires(post): /usr/bin/readlink
Requires(preun): /usr/sbin/alternatives
Provides: fakeroot-libs = %{version}-%{release}
Obsoletes: fakeroot-libs < %{version}-%{release}
2019-11-30 16:41:20 +08:00
%description
2021-05-25 17:54:43 +08:00
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.
2019-11-30 16:41:20 +08:00
%package help
Summary: Documentation for fakeroot
%description help
Documentation for fakeroot
2019-11-30 16:41:20 +08:00
%prep
2021-05-25 17:54:43 +08:00
%autosetup -p1 -n %{name}-upstream-%{version}
2019-11-30 16:41:20 +08:00
%build
%if %{with autoconf}
2021-05-25 17:54:43 +08:00
./bootstrap
pushd doc
2019-11-30 16:41:20 +08:00
po4a -k 0 --rm-backups --variable "srcdir=../doc/" po4a/po4a.cfg
2021-05-25 17:54:43 +08:00
popd
2019-11-30 16:41:20 +08:00
%endif
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'
exec ../configure "$@"
EOF
chmod +x configure
2021-05-25 17:54:43 +08:00
%configure \
--disable-dependency-tracking \
--disable-static \
--libdir=%{_libdir}/libfakeroot \
--with-ipc=$type \
--program-suffix=-$type
2019-11-30 16:41:20 +08:00
make
cd ..
done
%install
for type in sysv tcp; do
2021-05-25 17:54:43 +08:00
make -C obj-$type install libdir=%{_libdir}/libfakeroot 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.*la
%find_lang faked-$type --without-mo --with-man
%find_lang fakeroot-$type --without-mo --with-man
2019-11-30 16:41:20 +08:00
done
2021-05-25 17:54:43 +08:00
rm %{buildroot}%{_mandir}{,/*}/man1/fake{d,root}-sysv.1
rename -- -tcp '' %{buildroot}%{_mandir}{,/*}/man1/fake{d,root}-tcp.1
sed -e 's/-tcp//g' fake{d,root}-tcp.lang > fakeroot.lang
2019-11-30 16:41:20 +08:00
%check
2021-05-25 17:54:43 +08:00
for type in sysv tcp; do
make -C obj-$type check VERBOSE=1
2019-11-30 16:41:20 +08:00
done
2021-05-25 17:54:43 +08:00
%post
link=$(readlink -e "/usr/bin/fakeroot")
if [ "$link" = "/usr/bin/fakeroot" ]; then
rm -f /usr/bin/fakeroot
fi
link=$(readlink -e "%{_bindir}/faked")
if [ "$link" = "%{_bindir}/faked" ]; then
rm -f "%{_bindir}/faked"
fi
2019-11-30 16:41:20 +08:00
link=$(readlink -e "%{_libdir}/libfakeroot/libfakeroot-0.so")
if [ "$link" = "%{_libdir}/libfakeroot/libfakeroot-0.so" ]; then
rm -f "%{_libdir}/libfakeroot/libfakeroot-0.so"
fi
2021-05-25 17:54:43 +08:00
/usr/sbin/alternatives --install "%{_bindir}/fakeroot" fakeroot \
"%{_bindir}/fakeroot-tcp" 50 \
--slave %{_bindir}/faked faked %{_bindir}/faked-tcp \
--slave %{_libdir}/libfakeroot/libfakeroot-0.so libfakeroot.so %{_libdir}/libfakeroot/libfakeroot-tcp.so
/usr/sbin/alternatives --install "%{_bindir}/fakeroot" fakeroot \
"%{_bindir}/fakeroot-sysv" 40 \
--slave %{_bindir}/faked faked %{_bindir}/faked-sysv \
--slave %{_libdir}/libfakeroot/libfakeroot-0.so libfakeroot.so %{_libdir}/libfakeroot/libfakeroot-sysv.so \
2019-11-30 16:41:20 +08:00
%preun
if [ $1 = 0 ]; then
/usr/sbin/alternatives --remove fakeroot "%{_bindir}/fakeroot-tcp"
/usr/sbin/alternatives --remove fakeroot "%{_bindir}/fakeroot-sysv"
fi
%files
2019-11-30 16:41:20 +08:00
%defattr(-,root,root,-)
%doc COPYING AUTHORS BUGS DEBUG
2019-11-30 16:41:20 +08:00
%{_bindir}/faked-*
%ghost %{_bindir}/faked
%{_bindir}/fakeroot-*
%ghost %{_bindir}/fakeroot
%dir %{_libdir}/libfakeroot
2021-05-25 17:54:43 +08:00
%{_libdir}/libfakeroot/libfakeroot-sysv.so
%{_libdir}/libfakeroot/libfakeroot-tcp.so
2019-11-30 16:41:20 +08:00
%ghost %{_libdir}/libfakeroot/libfakeroot-0.so
%files help -f %{name}.lang
%doc doc/README.saving
%{_mandir}/man1/faked.1*
%{_mandir}/man1/fakeroot.1*
2019-11-30 16:41:20 +08:00
%changelog
* Mon Jun 7 2021 lingsheng <lingsheng@huawei.com> - 1.25.2-3
- Fix file confilct with old version
* Mon 31 May 2021 sunguoshuai <sunguoshuai@huawei.com> - 1.25.2-2
- Skip tar test: the test is unstable and keeps on randomly failing
2021-05-25 17:54:43 +08:00
* Fri Nov 20 2020 zhangjiapeng <zhangjiapeng9@huawei.com> - 1.25.2-1
- Update to 1.25.2
* Wed Aug 12 2020 zhangjiapeng <zhangjiapeng9@huawei.com> - 1.23-3
- remove four test cases to solve the compilation failure
2019-11-30 16:41:20 +08:00
* Fri Nov 29 2019 lihao <lihao129@huawei.com> - 1.23-2
- Package Init