34aaa96
%global deb_ver 1.9.0+git20200626+067950b-2
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
Name:            pseudo
714598a
Version:         1.9.0
53aafe8
Release:         18.20210205gitf332f56%{?dist}
Dominik 'Rathann' Mierzejewski 330b7a3
Summary:         Advanced tool for simulating superuser privileges
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
License:         GPLv3+ and LGPLv2+
10fe3bc
URL:             https://www.yoctoproject.org/software-item/pseudo/
Dominik 'Rathann' Mierzejewski 330b7a3
Source0:         https://downloads.yoctoproject.org/releases/pseudo/pseudo-%{version}.tar.bz2
Dominik 'Rathann' Mierzejewski 330b7a3
Source1:         http://http.debian.net/debian/pool/main/p/pseudo/pseudo_%{deb_ver}.debian.tar.xz
Dominik 'Rathann' Mierzejewski 330b7a3
34aaa96
# update to current master HEAD (060058b)
34aaa96
Patch0:          pseudo-1.9.0-060058b.patch
34aaa96
# update to current oe-core HEAD (f332f56)
34aaa96
Patch1:          pseudo-060058b-f332f56.patch
0b59475
# Fix build with latest libattr
34aaa96
Patch10:         pseudo-1.9.0-attr.patch
34aaa96
# Fix some GCC warnings
34aaa96
Patch11:         pseudo-1.9.0-warnings.patch
0b59475
53aafe8
Patch12:         pseudo-configure-c99.patch
53aafe8
53aafe8
34aaa96
BuildRequires:   acl
Dominik 'Rathann' Mierzejewski 330b7a3
BuildRequires:   attr
eac1964
BuildRequires:   gcc
Dominik 'Rathann' Mierzejewski 330b7a3
BuildRequires:   libattr-devel
0fd4e64
BuildRequires:   make
0b59475
BuildRequires:   python3
580ae4f
BuildRequires:   python3-rpm-macros
Dominik 'Rathann' Mierzejewski 330b7a3
BuildRequires:   sqlite-devel
Dominik 'Rathann' Mierzejewski 330b7a3
Requires(post):  %{_sbindir}/update-alternatives
Dominik 'Rathann' Mierzejewski 330b7a3
Requires(preun): %{_sbindir}/update-alternatives
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%global __provides_exclude_from ^(%{_libdir}/pseudo/.*\\.so)$
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%description
Dominik 'Rathann' Mierzejewski 330b7a3
The pseudo utility offers a way to run commands in a virtualized "root"
Dominik 'Rathann' Mierzejewski 330b7a3
environment, allowing ordinary users to run commands which give the illusion of
Dominik 'Rathann' Mierzejewski 330b7a3
creating device nodes, changing file ownership, and otherwise doing things
Dominik 'Rathann' Mierzejewski 330b7a3
necessary for creating distribution packages or filesystems.
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
Pseudo has a lot of similarities to fakeroot but is a new implementation that
Dominik 'Rathann' Mierzejewski 330b7a3
improves on the problems seen using fakeroot. Pseudo is now extensively used by
Dominik 'Rathann' Mierzejewski 330b7a3
Poky as a replacement to fakeroot but can also be used standalone in many other
Dominik 'Rathann' Mierzejewski 330b7a3
use cases.
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%prep
0b59475
%autosetup -p1 -a1
Dominik 'Rathann' Mierzejewski 330b7a3
sed -e 's,@LIBDIR@,%{_libdir}/pseudo,g' debian/fakeroot-pseudo.in > debian/fakeroot-pseudo
7dc8ebd
# tclsh is not available in Fedora
7dc8ebd
rm test/test-tclsh-fork.sh
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%build
Dominik 'Rathann' Mierzejewski 330b7a3
# custom configure script
250e800
%set_build_flags
Dominik 'Rathann' Mierzejewski 330b7a3
./configure                  \
Dominik 'Rathann' Mierzejewski 330b7a3
  --bits=%{__isa_bits}       \
250e800
  --cflags="$CFLAGS"         \
Dominik 'Rathann' Mierzejewski 330b7a3
  --enable-memory-db         \
Dominik 'Rathann' Mierzejewski 330b7a3
  --enable-xattr             \
Dominik 'Rathann' Mierzejewski 330b7a3
  --enable-xattrdb           \
Dominik 'Rathann' Mierzejewski 330b7a3
  --libdir=%{_libdir}/pseudo \
Dominik 'Rathann' Mierzejewski 330b7a3
  --prefix=%{_prefix}        \
Dominik 'Rathann' Mierzejewski 330b7a3
  --without-rpath
Igor Gnatenko a5fb7fc
%make_build
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%install
Dominik 'Rathann' Mierzejewski 330b7a3
%make_install
Igor Gnatenko a5fb7fc
install -Dpm0755 debian/fakeroot-pseudo %{buildroot}%{_bindir}
Dominik 'Rathann' Mierzejewski 330b7a3
install -Dpm0644 debian/fakeroot-pseudo.1 %{buildroot}%{_mandir}/man1/fakeroot-pseudo.1
Igor Gnatenko a5fb7fc
install -Dpm0644 pseudo.1 %{buildroot}%{_mandir}/man1/pseudo.1
Igor Gnatenko a5fb7fc
install -Dpm0644 pseudolog.1 %{buildroot}%{_mandir}/man1/pseudolog.1
Dominik 'Rathann' Mierzejewski 330b7a3
# For alternatives support
Dominik 'Rathann' Mierzejewski 330b7a3
touch %{buildroot}%{_bindir}/fakeroot %{buildroot}%{_mandir}/man1/fakeroot.1
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%check
34aaa96
%make_build test
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%post
Dominik 'Rathann' Mierzejewski 330b7a3
%{_sbindir}/update-alternatives --install %{_bindir}/fakeroot fakeroot \
Dominik 'Rathann' Mierzejewski 330b7a3
  %{_bindir}/fakeroot-pseudo 5 \
Dominik 'Rathann' Mierzejewski 330b7a3
  --slave %{_mandir}/man1/fakeroot.1.gz fakeroot.1.gz %{_mandir}/man1/fakeroot-pseudo.1.gz
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%preun
Dominik 'Rathann' Mierzejewski 330b7a3
if [ $1 = 0 ]; then
Dominik 'Rathann' Mierzejewski 330b7a3
  %{_sbindir}/alternatives --remove fakeroot %{_bindir}/fakeroot-pseudo
Dominik 'Rathann' Mierzejewski 330b7a3
fi
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%files
Dominik 'Rathann' Mierzejewski 330b7a3
%license COPYING
Dominik 'Rathann' Mierzejewski 330b7a3
%doc ChangeLog.txt Futures.txt README
Dominik 'Rathann' Mierzejewski 330b7a3
%ghost %{_bindir}/fakeroot
Dominik 'Rathann' Mierzejewski 330b7a3
%{_bindir}/fakeroot-pseudo
Dominik 'Rathann' Mierzejewski 330b7a3
%{_bindir}/pseudo
Dominik 'Rathann' Mierzejewski 330b7a3
%{_bindir}/pseudodb
Dominik 'Rathann' Mierzejewski 330b7a3
%{_bindir}/pseudolog
Dominik 'Rathann' Mierzejewski 330b7a3
%{_libdir}/pseudo
Dominik 'Rathann' Mierzejewski 330b7a3
%ghost %{_mandir}/man1/fakeroot.1*
Dominik 'Rathann' Mierzejewski 330b7a3
%{_mandir}/man1/fakeroot-pseudo.1*
Igor Gnatenko a5fb7fc
%{_mandir}/man1/pseudo.1*
Dominik 'Rathann' Mierzejewski 330b7a3
%{_mandir}/man1/pseudolog.1*
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
%changelog
53aafe8
* Fri Mar 17 2023 Florian Weimer <fweimer@redhat.com> - 1.9.0-18.20210205gitf332f56
53aafe8
- Port non-autoconf feature probing to C99
53aafe8
ead155a
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-17.20210205gitf332f56
ead155a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
ead155a
b8a707d
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-16.20210205gitf332f56
b8a707d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
b8a707d
e0d937b
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-15.20210205gitf332f56
e0d937b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
e0d937b
53a1646
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-14.20210205gitf332f56
53a1646
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
53a1646
34aaa96
* Tue Feb 09 2021 Dominik Mierzejewski <dominik@greysector.net> 1.9.0-13.20210205gitf332f56
34aaa96
- update to upstream git f332f56
34aaa96
- drop obsolete patch
34aaa96
4be8003
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-12
4be8003
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
4be8003
23df47d
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-11
23df47d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
23df47d
aeb25f8
* Sun Mar 22 2020 Dominik Mierzejewski <dominik@greysector.net> 1.9.0-10
aeb25f8
- fix build with GCC-10
aeb25f8
fde70b8
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-9
fde70b8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
fde70b8
53fa16e
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-8
53fa16e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
53fa16e
b9a045c
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-7
b9a045c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
b9a045c
5df997d
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 1.9.0-6
5df997d
- Rebuild with fixed binutils
5df997d
10fe3bc
* Sat Jul 28 2018 Dominik Mierzejewski <dominik@greysector.net> 1.9.0-5
10fe3bc
- update upstream URL
250e800
- set build flags using set_build_flags macro
1d88297
- use python3 explicitly during build (ignatenko)
1d88297
- add BR: gcc for https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot (ignatenko)
1d88297
- add patch to fix compilation with libattr 2.4.48 (ignatenko)
1d88297
- improve libattr patch
10fe3bc
0580613
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-4
0580613
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
0580613
2db2d51
* Mon Mar 19 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.9.0-3
2db2d51
- Update Python 2 dependency declarations to new packaging standards
2db2d51
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
2db2d51
e82ee9d
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
e82ee9d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
e82ee9d
714598a
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.0-1
714598a
- Update to 1.9.0
714598a
69e85f0
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-4
69e85f0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
69e85f0
b6835ae
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-3
b6835ae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
b6835ae
7dc8ebd
* Wed Mar 29 2017 Dominik Mierzejewski <dominik@greysector.net> 1.8.2-2
7dc8ebd
- drop tclsh test, tclsh is not shipped in Fedora
7dc8ebd
- drop obsolete patch
7dc8ebd
Igor Gnatenko a5fb7fc
* Tue Mar 28 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.8.2-1
Igor Gnatenko a5fb7fc
- Update to 1.8.2
Igor Gnatenko a5fb7fc
7dde28d
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-4
7dde28d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
7dde28d
Dominik 'Rathann' Mierzejewski 0774899
* Tue Oct 11 2016 Dominik Mierzejewski <dominik@greysector.net> 1.8.1-3
Dominik 'Rathann' Mierzejewski 0774899
- fix condition on Fedora
Dominik 'Rathann' Mierzejewski 0774899
Dominik 'Rathann' Mierzejewski 330b7a3
* Mon Oct 10 2016 Dominik Mierzejewski <dominik@greysector.net> 1.8.1-2
Dominik 'Rathann' Mierzejewski 330b7a3
- make sure _libdir/pseudo is owned
Dominik 'Rathann' Mierzejewski 330b7a3
- fakeroot without alternatives support exists on RHEL < 7 only
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
* Sun Oct 09 2016 Dominik Mierzejewski <dominik@greysector.net> 1.8.1-1
Dominik 'Rathann' Mierzejewski 330b7a3
- update to 1.8.1
Dominik 'Rathann' Mierzejewski 330b7a3
- use upstream release tarball
Dominik 'Rathann' Mierzejewski 330b7a3
- add missing NAME section to manpage (patch from Debian)
Dominik 'Rathann' Mierzejewski 330b7a3
- fix passing CFLAGS containing commas via --cflags
Dominik 'Rathann' Mierzejewski 330b7a3
- install missing pseudolog(1) manpage
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
* Thu Apr 07 2016 Dominik Mierzejewski <dominik@greysector.net> 1.7.5-1
Dominik 'Rathann' Mierzejewski 330b7a3
- update to 1.7.5
Dominik 'Rathann' Mierzejewski 330b7a3
Dominik 'Rathann' Mierzejewski 330b7a3
* Mon Nov 30 2015 Dominik Mierzejewski <dominik@greysector.net> 1.7.4-1
Dominik 'Rathann' Mierzejewski 330b7a3
- initial build
Dominik 'Rathann' Mierzejewski 330b7a3
- filter private library from Provides:
Dominik 'Rathann' Mierzejewski 330b7a3
- filter -m32/-m64 option from compiler flags on arm and s390