diff options
author | CoprDistGit <infra@openeuler.org> | 2025-02-17 08:48:56 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-02-17 08:48:56 +0000 |
commit | de0aad55fbd5bbea9c62953e0d3dba16d1ec8eb3 (patch) | |
tree | 71f060797360672dc5993160a536d1abb5d0c206 | |
parent | aea5b6e4cf297986cc2b09be17a8a2c52577db95 (diff) |
automatic import of mockopeneuler24.03_LTS_SP1
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | mock.spec | 238 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 240 insertions, 0 deletions
@@ -0,0 +1 @@ +/mock-3.5.tar.gz diff --git a/mock.spec b/mock.spec new file mode 100644 index 0000000..51adf01 --- /dev/null +++ b/mock.spec @@ -0,0 +1,238 @@ +%bcond_with lint +%bcond_without tests + +# keep the mock group id with upstream +%global mockgid 135 + +%global __python %{__python3} +%global python_sitelib %{python3_sitelib} + +Summary: Builds packages inside chroots +Name: mock +Version: 3.5 +Release: 1 +License: GPL-2.0-or-later +# Source is created by +# git clone https://github.com/rpm-software-management/mock.git +# cd mock/mock +# git reset --hard %%{name}-%%{version}-%%{release} +# tito build --tgz -o . +Source: %{name}-%{version}.tar.gz +URL: https://github.com/rpm-software-management/mock/ +BuildArch: noarch +Requires: tar +Requires: pigz +Requires: usermode +Requires: createrepo_c +Requires: mock-core-configs + +Requires: systemd +Requires: systemd-container +Requires: coreutils +Requires: iproute +BuildRequires: bash-completion +Requires: python%{python3_pkgversion}-distro +Requires: python%{python3_pkgversion}-jinja2 +Requires: python%{python3_pkgversion}-requests +Requires: python%{python3_pkgversion}-rpm +Requires: python%{python3_pkgversion}-pyroute2 +Requires: python%{python3_pkgversion}-templated-dictionary +BuildRequires: python%{python3_pkgversion}-devel +%if %{with lint} +BuildRequires: python%{python3_pkgversion}-pylint +%endif +Requires: dnf +Requires: dnf-plugins-core +Requires: btrfs-progs +Requires: dnf-utils +Requires: procenv + +%if %{with tests} +BuildRequires: python%{python3_pkgversion}-distro +BuildRequires: python%{python3_pkgversion}-jinja2 +BuildRequires: python%{python3_pkgversion}-pyroute2 +BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-templated-dictionary +%endif + +BuildRequires: perl +Requires: util-linux +Requires: coreutils +Requires: procps-ng + + +%description +Mock takes an SRPM and builds it in a chroot. + +%package scm +Summary: Mock SCM integration module +Requires: %{name} = %{version}-%{release} +Requires: cvs +Requires: git +Requires: subversion +Requires: tar + +# We could migrate to 'copr-distgit-client' +Requires: 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 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 +#base filesystem +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/ +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 + +%pre filesystem +# check for existence of mock group, create it if not found +getent group mock > /dev/null || groupadd -f -g %mockgid -r mock +exit 0 + +%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) + +# executables +%{_bindir}/mock +%{_bindir}/mockchain +%{_bindir}/mock-parse-buildlog +%{_libexecdir}/mock + +# python stuff +%{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} + +# directory for personal gpg keys +%dir %{_sysconfdir}/pki/mock +%config(noreplace) %{_sysconfdir}/pki/mock/* + +# docs +%{_mandir}/man1/mock.1* +%{_mandir}/man1/mock-parse-buildlog.1* +%{_datadir}/cheat/mock + +# cache & build dirs +%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 filesystem +%license COPYING +%dir %{_sysconfdir}/mock +%dir %{_sysconfdir}/mock/eol +%dir %{_sysconfdir}/mock/eol/templates +%dir %{_sysconfdir}/mock/templates +%dir %{_datadir}/cheat + +%changelog +* Fri May 19 2023 lichaoran <pkwarcraft@hotmail.com> - 3.5-1 +- Update to 3.5 + +* Fri May 15 2020 hexiaowen <hexiaowen@huawei.com> 2.2-1 +- first build @@ -0,0 +1 @@ +2f1a00e5aebd48ef66924b93a0391726 mock-3.5.tar.gz |