From 9ddec731242fcbdbb5d6d0311bedbc371c64ad22 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 10 Apr 2025 03:49:41 +0000 Subject: automatic import of mock --- .gitignore | 1 + mock.spec | 253 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 255 insertions(+) create mode 100644 mock.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..c573d5f 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/mock-5.6.tar.gz diff --git a/mock.spec b/mock.spec new file mode 100644 index 0000000..c5fdcd2 --- /dev/null +++ b/mock.spec @@ -0,0 +1,253 @@ + +%bcond_with lint +%bcond_without tests + +%global __python %{__python3} +%global python_sitelib %{python3_sitelib} + +Summary: Builds packages inside chroots +Name: mock +Version: 5.6 +Release: 2 +License: GPL-2.0-or-later +Source: https://github.com/rpm-software-management/mock/releases/download/mock-2.2-1/%{name}-%{version}.tar.gz +URL: https://github.com/rpm-software-management/mock/ +BuildArch: noarch +BuildRequires: bash-completion +Requires: python3-distro +Requires: python3-jinja2 +Requires: python3-six >= 1.4.0 +Requires: python3-requests +Requires: python3-rpm +Requires: python3-pyroute2 +BuildRequires: python3-devel +BuildRequires: python3-backoff +%if %{with lint} +BuildRequires: python3-pylint +%endif +BuildRequires: python3-rpm +BuildRequires: python3-rpmautospec-core + +Requires: tar +Requires: pigz +Requires: usermode +Requires: createrepo_c + +# We know that the current version of mock isn't compatible with older variants, +# and we want to enforce automatic upgrades. + +Requires: mock-core-configs + +Requires: systemd +Requires: systemd-container +Requires: coreutils +Requires: util-linux +Requires: coreutils +Requires: procps-ng +Requires: dnf +Requires: dnf-plugins-core + +Recommends: python3-dnf +Recommends: python3-dnf-plugins-core + +# YUM stack, dnf-utils replace yum-utils +Recommends: yum +Recommends: dnf-utils + +Recommends: btrfs-progs +Suggests: qemu-user-static +Suggests: procenv +Recommends: podman + +%if %{with tests} +BuildRequires: python3-distro +BuildRequires: python3-jinja2 +BuildRequires: python3-pyroute2 +BuildRequires: python3-pytest +BuildRequires: python3-requests +BuildRequires: python3-templated-dictionary +%endif + +%description +Mock takes an SRPM and builds it in a chroot. + +%package scm +Summary: Mock SCM integration module +Requires: %{name} = %{version}-%{release} +Recommends: cvs +Recommends: git +Recommends: subversion +Recommends: tar + +# We could migrate to 'copr-distgit-client' +Recommends: rpkg + +%description scm +Mock SCM integration module. + +%package lvm +Summary: LVM plugin for mock +Requires: %{name} = %{version}-%{release} +Requires: lvm2 + +%description lvm +Mock plugin that enables using LVM as a backend and support creating snapshots +of the buildroot. + +%package rpmautospec +Summary: Rpmautospec plugin for mock +Requires: %{name} = %{version}-%{release} +# This lets mock determine if a spec file needs to be processed with rpmautospec. +Requires: python%{python3_pkgversion}-rpmautospec-core + +%description rpmautospec +Mock plugin that preprocesses spec files using rpmautospec. + +%package filesystem +Summary: Mock filesystem layout +Requires(pre): shadow-utils + +%description filesystem +Filesystem layout and group for Mock. + +%prep +%setup -q +for file in py/mock.py py/mock-parse-buildlog.py; do + sed -i 1"s|#!/usr/bin/python3 |#!%{__python} |" $file +done + +%build +for i in py/mockbuild/constants.py py/mock-parse-buildlog.py; do + perl -p -i -e 's|^VERSION\s*=.*|VERSION="%{version}"|' $i + perl -p -i -e 's|^SYSCONFDIR\s*=.*|SYSCONFDIR="%{_sysconfdir}"|' $i + perl -p -i -e 's|^PYTHONDIR\s*=.*|PYTHONDIR="%{python_sitelib}"|' $i + perl -p -i -e 's|^PKGPYTHONDIR\s*=.*|PKGPYTHONDIR="%{python_sitelib}/mockbuild"|' $i +done +for i in docs/mock.1 docs/mock-parse-buildlog.1; do + perl -p -i -e 's|\@VERSION\@|%{version}"|' $i +done + +%install +mkdir -p %{buildroot}%{_sysconfdir}/mock/eol/templates +mkdir -p %{buildroot}%{_sysconfdir}/mock/templates + +install -d %{buildroot}%{_bindir} +install -d %{buildroot}%{_libexecdir}/mock +install mockchain %{buildroot}%{_bindir}/mockchain +install py/mock-parse-buildlog.py %{buildroot}%{_bindir}/mock-parse-buildlog +install py/mock.py %{buildroot}%{_libexecdir}/mock/mock +ln -s consolehelper %{buildroot}%{_bindir}/mock +install create_default_route_in_container.sh %{buildroot}%{_libexecdir}/mock/ + +install -d %{buildroot}%{_sysconfdir}/pam.d +cp -a etc/pam/* %{buildroot}%{_sysconfdir}/pam.d/ + +install -d %{buildroot}%{_sysconfdir}/mock +cp -a etc/mock/* %{buildroot}%{_sysconfdir}/mock/ + +install -d %{buildroot}%{_sysconfdir}/security/console.apps/ +cp -a etc/consolehelper/mock %{buildroot}%{_sysconfdir}/security/console.apps/%{name} + +install -d %{buildroot}%{_datadir}/bash-completion/completions/ +cp -a etc/bash_completion.d/* %{buildroot}%{_datadir}/bash-completion/completions/ +cp -a etc/bash_completion.d/* %{buildroot}%{_datadir}/bash-completion/completions/ +ln -s mock %{buildroot}%{_datadir}/bash-completion/completions/mock-parse-buildlog + +install -d %{buildroot}%{_sysconfdir}/pki/mock +cp -a etc/pki/* %{buildroot}%{_sysconfdir}/pki/mock/ + +install -d %{buildroot}%{python_sitelib}/ +cp -a py/mockbuild %{buildroot}%{python_sitelib}/ + +install -d %{buildroot}%{_mandir}/man1 +cp -a docs/mock.1 docs/mock-parse-buildlog.1 %{buildroot}%{_mandir}/man1/ +install -d %{buildroot}%{_datadir}/cheat +cp -a docs/mock.cheat %{buildroot}%{_datadir}/cheat/mock + +install -d %{buildroot}/var/lib/mock +install -d %{buildroot}/var/cache/mock + + +mkdir -p %{buildroot}%{_pkgdocdir} +install -p -m 0644 docs/site-defaults.cfg %{buildroot}%{_pkgdocdir} + +sed -i 's/^_MOCK_NVR = None$/_MOCK_NVR = "%name-%version-%release"/' \ + %{buildroot}%{_libexecdir}/mock/mock + +%check +%if %{with lint} +# ignore the errors for now, just print them and hopefully somebody will fix it one day +pylint-3 py/mockbuild/ py/*.py py/mockbuild/plugins/* || : +%endif + +%if %{with tests} +./run-tests.sh --no-cov +%endif + +%files +%defattr(0644, root, mock) +%doc %{_pkgdocdir}/site-defaults.cfg +%{_datadir}/bash-completion/completions/mock +%{_datadir}/bash-completion/completions/mock-parse-buildlog + +%defattr(-, root, root) +%{_bindir}/mockchain +%{_bindir}/mock +%{_bindir}/mock-parse-buildlog +%{_libexecdir}/mock + +%{python_sitelib}/* +%exclude %{python_sitelib}/mockbuild/scm.* +%exclude %{python_sitelib}/mockbuild/__pycache__/scm.* +%exclude %{python_sitelib}/mockbuild/plugins/lvm_root.* +%exclude %{python_sitelib}/mockbuild/plugins/__pycache__/lvm_root.* + +# config files +%config(noreplace) %{_sysconfdir}/%{name}/*.ini +%config(noreplace) %{_sysconfdir}/pam.d/%{name} +%config(noreplace) %{_sysconfdir}/security/console.apps/%{name} + +%dir %{_sysconfdir}/pki/mock +%config(noreplace) %{_sysconfdir}/pki/mock/* + +%{_mandir}/man1/mock.1* +%{_mandir}/man1/mock-parse-buildlog.1* +%{_datadir}/cheat/mock + +%defattr(0775, root, mock, 0775) +%dir %{_localstatedir}/cache/mock +%dir %{_localstatedir}/lib/mock + + +%files scm +%{python_sitelib}/mockbuild/scm.py* +%{python3_sitelib}/mockbuild/__pycache__/scm.*.py* + +%files lvm +%{python_sitelib}/mockbuild/plugins/lvm_root.* +%{python3_sitelib}/mockbuild/plugins/__pycache__/lvm_root.*.py* + +%files rpmautospec +%{python_sitelib}/mockbuild/plugins/rpmautospec.* +%{python3_sitelib}/mockbuild/plugins/__pycache__/rpmautospec.*.py* + +%files filesystem +%license COPYING +%dir %{_sysconfdir}/mock +%dir %{_sysconfdir}/mock/eol +%dir %{_sysconfdir}/mock/eol/templates +%dir %{_sysconfdir}/mock/templates +%dir %{_datadir}/cheat + +%changelog +* Sun Oct 20 2024 shafeipaozi - 5.6-2 +- update check + +* Thu Apr 25 2024 shafeipaozi - 5.6-1 +- update to 5.6 + +* Thu Nov 10 2022 xu_ping 2.2-2 +- fix source url + +* Fri May 15 2020 hexiaowen 2.2-1 +- first build diff --git a/sources b/sources new file mode 100644 index 0000000..e9c5bf2 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +4b4569caad6e170248f80c36acff7f28 mock-5.6.tar.gz -- cgit v1.2.3