From e6d61cb1eb81221b4b59a25b48695ae7c83c4391 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 6 Jul 2022 10:13:38 +0300 Subject: [PATCH] Initial build --- .pbuilder.metadata | 1 + SOURCES/not_root_user-AlmaLinux.patch | 24 ++ SOURCES/pbuilder_no-html-docs.patch | 23 ++ SOURCES/pbuilder_pbuilderrc.patch | 36 +++ SPECS/pbuilder.spec | 305 ++++++++++++++++++++++++++ 5 files changed, 389 insertions(+) create mode 100644 .pbuilder.metadata create mode 100644 SOURCES/not_root_user-AlmaLinux.patch create mode 100644 SOURCES/pbuilder_no-html-docs.patch create mode 100644 SOURCES/pbuilder_pbuilderrc.patch create mode 100644 SPECS/pbuilder.spec diff --git a/.pbuilder.metadata b/.pbuilder.metadata new file mode 100644 index 0000000..71dcf7f --- /dev/null +++ b/.pbuilder.metadata @@ -0,0 +1 @@ +115c5a5b8d35c75b13c453076f3810d0e8c7761a SOURCES/pbuilder_0.231.tar.xz diff --git a/SOURCES/not_root_user-AlmaLinux.patch b/SOURCES/not_root_user-AlmaLinux.patch new file mode 100644 index 0000000..0ab3ff5 --- /dev/null +++ b/SOURCES/not_root_user-AlmaLinux.patch @@ -0,0 +1,24 @@ +diff -aruN pbuilder-0.231/pdebuild pbuilder-0.231.alma/pdebuild +--- pbuilder-0.231/pdebuild 2019-11-12 17:50:10.000000000 +0300 ++++ pbuilder-0.231.alma/pdebuild 2022-07-06 10:09:45.000000000 +0300 +@@ -46,8 +46,18 @@ + fi + + +-BUILDRESULTUID=$(id -u) +-BUILDRESULTGID=$(id -g) ++if [ ! -z "$SUDO_UID" ]; then ++ BUILDRESULTUID="$SUDO_UID" ++else ++ BUILDRESULTUID=$(id -u) ++fi ++ ++if [ ! -z "$SUDO_GID" ]; then ++ BUILDRESULTGID="$SUDO_GID" ++else ++ BUILDRESULTGID=$(id -g) ++fi ++ + export BUILDRESULTUID BUILDRESULTGID + + if [ "${USE_PDEBUILD_INTERNAL}" = 'yes' ]; then diff --git a/SOURCES/pbuilder_no-html-docs.patch b/SOURCES/pbuilder_no-html-docs.patch new file mode 100644 index 0000000..1fd3c6c --- /dev/null +++ b/SOURCES/pbuilder_no-html-docs.patch @@ -0,0 +1,23 @@ +diff -rupN --no-dereference pbuilder-0.231/Documentation/Makefile pbuilder-0.231-new/Documentation/Makefile +--- pbuilder-0.231/Documentation/Makefile 2018-11-23 11:51:49.000000000 +0100 ++++ pbuilder-0.231-new/Documentation/Makefile 2021-01-19 12:00:32.078137195 +0100 +@@ -13,7 +13,7 @@ MASTERPOT=pbuilder-doc.po + HTMLDOCS= pbuilder-doc.html pbuilder-doc.ja.html pbuilder-doc.fr.html pbuilder-doc.de.html + PDFDOCS = pbuilder-doc.pdf + +-all: $(MASTERPOT) $(HTMLDOCS) $(PDFDOCS) ++all: $(MASTERPOT) $(PDFDOCS) + + %.html: %.xml pbuilder-doc.xsl + xsltproc pbuilder-doc.xsl $< > $@.tmp +@@ -29,9 +29,8 @@ pbuilder-doc.%.po: $(MASTERXML) + # requires dblatex package. + dblatex --tmpdir=docbuild $< + +-install: $(HTMLDOCS) $(PDFDOCS) ++install: $(PDFDOCS) + install -d -m 755 $(DESTDIR)/usr/share/doc/pbuilder/ +- install -m 644 $(HTMLDOCS) $(DESTDIR)/usr/share/doc/pbuilder/ + install -m 644 pbuilder-doc.pdf $(DESTDIR)/usr/share/doc/pbuilder/ + + $(MASTERPOT): diff --git a/SOURCES/pbuilder_pbuilderrc.patch b/SOURCES/pbuilder_pbuilderrc.patch new file mode 100644 index 0000000..89f430a --- /dev/null +++ b/SOURCES/pbuilder_pbuilderrc.patch @@ -0,0 +1,36 @@ +diff -rupN --no-dereference pbuilder-0.231/pbuilderrc pbuilder-0.231-new/pbuilderrc +--- pbuilder-0.231/pbuilderrc 2020-12-08 15:55:39.000000000 +0100 ++++ pbuilder-0.231-new/pbuilderrc 2021-01-19 12:00:32.057136789 +0100 +@@ -52,9 +52,6 @@ REMOVEPACKAGES="" + #HOOKDIR="/usr/lib/pbuilder/hooks" + HOOKDIR="" + EATMYDATA=no +-# NB: this var is private to pbuilder; ccache uses "CCACHE_DIR" instead +-# CCACHEDIR="/var/cache/pbuilder/ccache" +-CCACHEDIR="" + + # make debconf not interact with user + export DEBIAN_FRONTEND="noninteractive" +@@ -108,8 +105,8 @@ DEBBUILDOPTS="${DEBBUILDOPTS}" + APTCONFDIR="" + + # the username and ID used by pbuilder, inside chroot. Needs fakeroot, really +-BUILDUSERID=1234 + BUILDUSERNAME=pbuilder ++BUILDUSERID=$(grep $BUILDUSERNAME /etc/passwd | cut -d: -f3) + + # BINDMOUNTS is a space separated list of things to mount + # inside the chroot. +@@ -154,3 +151,12 @@ COMPRESSPROG="gzip" + # exists and contains one of the copied files (without the leading /etc) that + # file will be copied from here instead of the system one + CONFDIR="/etc/pbuilder/conf_files" ++ ++# ccache (make sure ccache is installed before uncommenting) ++CCACHEDIR="" ++# Note: CCACHEDIR is private to pbuilder, ccache uses "CCACHE_DIR" ++#CCACHEDIR="/var/cache/pbuilder/ccache" ++#export CCACHE_DIR="${CCACHEDIR}" ++#export PATH="/usr/lib/ccache:${PATH}" ++#EXTRAPACKAGES=ccache ++#BINDMOUNTS="${BINDMOUNTS} ${CCACHE_DIR}" diff --git a/SPECS/pbuilder.spec b/SPECS/pbuilder.spec new file mode 100644 index 0000000..fe685c7 --- /dev/null +++ b/SPECS/pbuilder.spec @@ -0,0 +1,305 @@ +Name: pbuilder +Version: 0.231 +Release: 4%{?dist} +Summary: Personal package builder for Debian packages + +License: GPLv2+ +URL: http://packages.debian.org/unstable/admin/%{name} +Source0: http://ftp.debian.org/debian/pool/main/p/%{name}/%{name}_%{version}.tar.xz +# Don't hardcode pbuilder user id, add a ccache section +Patch0: pbuilder_pbuilderrc.patch +# Don't build HTML docs since it requires TLDP stylesheets which are not packaged for Fedora +Patch1: pbuilder_no-html-docs.patch + +# AlmaLinux patches +Patch1000: not_root_user-AlmaLinux.patch + +BuildArch: noarch + +BuildRequires: dblatex +BuildRequires: dpkg-dev +BuildRequires: make +BuildRequires: man-db +BuildRequires: python3 +BuildRequires: tex(fancybox.sty) + +Requires: debootstrap +Requires: debconf +Requires: debhelper +Requires: devscripts +Requires: dpkg-dev +Requires: gnupg +Requires: wget +Requires: sudo +Requires: gcc +Requires: fakeroot + +%description +pbuilder constructs a chroot system, and builds a package inside the chroot. +It is an ideal system to use to check that a package has correct build- +dependencies. + + +%prep +%autosetup -p1 + +# Adjust ccache path +sed -i 's|/usr/lib/ccache|%{_libdir}/ccache|g' pbuilderrc + + +%build +%make_build + + +%install +%make_install + +# Man pages +install -Dpm 0644 debuild-pbuilder.1 %{buildroot}%{_mandir}/man1/debuild-pbuilder.1 +install -Dpm 0644 pdebuild.1 %{buildroot}%{_mandir}/man1/pdebuild.1 +install -Dpm 0644 pbuilderrc.5 %{buildroot}%{_mandir}/man5/pbuilderrc.5 +install -Dpm 0644 pbuilder.8 %{buildroot}%{_mandir}/man8/pbuilder.8 + +# Install directories +install -d %{buildroot}%{_localstatedir}/cache/%{name} +install -d %{buildroot}%{_localstatedir}/cache/%{name}/build +install -d %{buildroot}%{_localstatedir}/cache/%{name}/ccache + +# Configuration file +install -Dpm 0644 pbuilderrc %{buildroot}%{_sysconfdir}/pbuilderrc + + + +%pre +getent group %{name} > /dev/null || groupadd -r %{name} +getent passwd %{name} > /dev/null || \ + useradd -r -g %{name} -d %{_localstatedir}/run/%{name} -s /sbin/nologin \ + -c "%{name}" %{name} +exit 0 + + +%check +%ifarch %arm +# Some tests fail on arm because ubuntu mirrors are unavailable for that arch +make check || : +%else +make check +%endif + + +%files +%doc README AUTHORS THANKS debian/TODO +%config(noreplace) %{_sysconfdir}/pbuilderrc +%config(noreplace) %{_sysconfdir}/pbuilder/ +%{_bindir}/debuild-pbuilder +%{_bindir}/pdebuild +%{_sbindir}/pbuilder +%{_prefix}/lib/pbuilder/ +%{_datadir}/bash-completion/ +%{_datadir}/pbuilder/ +%{_mandir}/man1/debuild-pbuilder.1* +%{_mandir}/man1/pdebuild.1* +%{_mandir}/man5/pbuilderrc.5* +%{_mandir}/man8/pbuilder.8* +%{_docdir}/pbuilder/ +# The ccache folder needs to be owned by the pbuilder user +%attr(0755,%{name},root) %{_localstatedir}/cache/%{name}/ccache + + +%changelog +* Thu Jan 20 2022 Fedora Release Engineering - 0.231-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 0.231-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 0.231-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 19 2021 Sandro Mani - 0.231-1 +- Update to 0.231 + +* Tue Jul 28 2020 Fedora Release Engineering - 0.230.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Feb 03 2020 Petr Viktorin - 0.230.4-4 +- Switch BuildRequires to python3 + +* Wed Jan 29 2020 Fedora Release Engineering - 0.230.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 0.230.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Apr 02 2019 Sandro Mani - 0.230.4-1 +- Updateto 0.230.4 + +* Tue Mar 26 2019 Sandro Mani - 0.230.3-1 +- Update to 0.230.3 + +* Fri Mar 01 2019 Sandro Mani - 0.230.2-1 +- Update to 0.230.2 + +* Fri Feb 01 2019 Fedora Release Engineering - 0.230.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Nov 14 2018 Sandro Mani - 0.230.1-1 +- Update to 0.230.1 + +* Sat Nov 10 2018 Sandro Mani - 0.230-1 +- Update to 0.230 + +* Fri Jul 13 2018 Fedora Release Engineering - 0.229.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 18 2018 Sandro Mani - 0.229.3-1 +- Update to 0.229.3 + +* Thu Apr 05 2018 Sandro Mani - 0.229.2-1 +- Update to 0.229.2 + +* Fri Feb 09 2018 Igor Gnatenko - 0.229.1-3 +- Escape macros in %%changelog + +* Thu Feb 08 2018 Fedora Release Engineering - 0.229.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 24 2018 Sandro Mani - 0.229.1-1 +- Update to 0.229.1 + +* Mon Oct 30 2017 Sandro Mani - 0.229-1 +- Update to 0.229 + +* Sun Oct 08 2017 Sandro Mani - 0.228.9-1 +- Update to 0.228.9 + +* Sat Aug 26 2017 Sandro Mani - 0.228.8-1 +- Update to 0.228.8 + +* Thu Jul 27 2017 Fedora Release Engineering - 0.228.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Apr 24 2017 Sandro Mani - 0.228.7-1 +- Update to 0.228.7 + +* Mon Mar 13 2017 Sandro Mani - 0.228.6-1 +- Update to 0.228.6 + +* Sat Mar 04 2017 Sandro Mani - 0.228.5-1 +- Update to 0.228.5 + +* Tue Feb 07 2017 Sandro Mani - 0.228.4-1 +- Update to 0.228.4 + +* Tue Feb 07 2017 Sérgio Basto - 0.228.3-2 +- Fix epel7 build + +* Wed Jan 25 2017 Sandro Mani - 0.228.3-1 +- Update to 0.228.3 + +* Tue Jan 24 2017 Sandro Mani - 0.228.2-1 +- Update to 0.228.2 + +* Sun Jan 22 2017 Sandro Mani - 0.228.1-1 +- Update to 0.228.1 + +* Mon Jan 16 2017 Sandro Mani - 0.228-1 +- Update to 0.228 + +* Tue Nov 29 2016 Sandro Mani - 0.227-1 +- Update to 0.227 + +* Thu Sep 15 2016 Sandro Mani - 0.226.1-1 +- Update to 0.226.1 + +* Mon Sep 05 2016 Sandro Mani - 0.226-1 +- Update to 0.226 + +* Thu Jul 21 2016 Sandro Mani - 0.225.2-1 +- Update to 0.225.2 + +* Wed Jul 20 2016 Sandro Mani - 0.225.1-2 +- Backport upstream patch: Don't trash CHROOTEXEC when using eatmydata (#1358337) +- Modernize spec + +* Tue Jun 28 2016 Sandro Mani - 0.225.1-1 +- Update to 0.225.1 + +* Mon Jun 13 2016 Sandro Mani - 0.225-1 +- Update to 0.225 + +* Sat Apr 30 2016 Sandro Mani - 0.224-1 +- Update to 0.224 + +* Thu Feb 04 2016 Fedora Release Engineering - 0.223-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 25 2016 Sandro Mani - 0.223-1 +- Update to 0.223 + +* Thu Jan 14 2016 Sandro Mani - 0.222-1 +- Update to 0.222 + +* Wed Dec 09 2015 Sandro Mani - 0.221.3-1 +- Update to 0.221.3 + +* Wed Dec 09 2015 Sandro Mani - 0.221.2-1 +- Update to 0.221.2 + +* Thu Nov 26 2015 Sandro Mani - 0.221.1-1 +- Update to 0.221.1 + +* Wed Nov 25 2015 Sandro Mani - 0.221-1 +- Update to 0.221 + +* Tue Nov 24 2015 Sandro Mani - 0.220-1 +- Update to 0.220 + +* Thu Jun 18 2015 Fedora Release Engineering - 0.215-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Dec 13 2014 Sandro Mani - 0.215-13 +- Skip mounting /selinux in chroots + +* Sun Dec 07 2014 Sandro Mani - 0.215-12 +- Fix pbuilder_selinux-ro.patch + +* Sun Dec 07 2014 Sandro Mani - 0.215-11 +- Fix pbuilder_selinux-ro.patch + +* Sat Dec 06 2014 Sandro Mani - 0.215-10 +- Add patch to mount /selinux read-only (see debian bug #734193), fixed failure + to create trusty, utopic base images +- README.fedora additions + +* Fri Jun 06 2014 Fedora Release Engineering - 0.215-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Feb 22 2014 Sandro Mani - 0.215-8 +- Improve README.fedora, thanks Till Maas, see rhbz#1068727 + +* Tue Oct 29 2013 Sandro Mani - 0.215-7 +- Drop pbuilder_pdebuild-bindmounts.patch (one should use pdebuild -- --bindmounts instead) +- Fix README.fedora: ubuntu-keyring is called ubu-keyring + +* Fri Oct 18 2013 Sandro Mani - 0.215-6 +- Add patch to make it possible to pass --bindmounts to pdebuild + +* Mon Oct 14 2013 Sandro Mani - 0.215-5 +- Package is noarch +- Co-own %%{_sysconfdir}/bash_completion.d/ + +* Thu Oct 10 2013 Sandro Mani - 0.215-4 +- Improve README.fedora +- Add some missing requires + +* Tue Oct 08 2013 Sandro Mani - 0.215-3 +- Don't test non-existing ubuntu arm mirrors + +* Thu Sep 19 2013 Sandro Mani - 0.215-2 +- Create build and ccache directories in /var/cache/pbuilder +- Don't use hardcoded user id +- Prepare pbuilderrc for ccache usage + +* Thu Sep 19 2013 Sandro Mani - 0.215-1 +- Initial package