clime 2778a93
%if 0%{?fedora} || 0%{?rhel} > 7
clime 5b05ce9
%global __python        %__python3
clime 2778a93
%global python          python3
clime 2778a93
%global python_pfx      python3
clime 2778a93
%global rpm_python      python3-rpm
26b5fcf
%global sitelib         %python3_sitelib
clime 2778a93
%else
clime 5b05ce9
%global __python        %__python2
clime 2778a93
%global python          python2
clime 2778a93
%global python_pfx      python
clime 2778a93
%global rpm_python      rpm-python
26b5fcf
%global sitelib         %python_sitelib
clime 2778a93
%endif
clime 2778a93
8ad1fd9
# do not build debuginfo sub-packages
8ad1fd9
%define debug_package %nil
8ad1fd9
7e4e611
%define latest_requires() \
7e4e611
Requires: %1 \
7e4e611
%{expand: %%global latest_requires_packages %1 %%{?latest_requires_packages}}
7e4e611
8c37e85
Name:    copr-rpmbuild
26b5fcf
Version: 0.42
Your Name 9134f83
Summary: Run COPR build tasks
7dadd63
Release: 1%{?dist}
Your Name 9134f83
URL: https://pagure.io/copr/copr
8c37e85
License: GPLv2+
Your Name 9134f83
Your Name 9134f83
# Source is created by:
c5cb731
# git clone %%url && cd copr
c5cb731
# tito build --tgz --tag %%name-%%version-%%release
c5cb731
Source0:    %name-%version.tar.gz
clime a4d257f
26b5fcf
BuildRequires: %{python}-copr-common
Dominik Turecek 8f96812
BuildRequires: %{python}-devel
7e4e611
BuildRequires: %{python}-distro
7e4e611
%if 0%{?rhel} == 0 || 0%{?rhel} != 6
7e4e611
BuildRequires: %{python}-httmock
7e4e611
%endif
Dominik Turecek 8f96812
BuildRequires: %{rpm_python}
Your Name 9134f83
BuildRequires: asciidoc
26b5fcf
BuildRequires: git
Dominik Turecek 8f96812
BuildRequires: %{python}-setuptools
Dominik Turecek 8f96812
BuildRequires: %{python}-pytest
Dominik Turecek 8f96812
BuildRequires: %{python_pfx}-munch
Dominik Turecek 8f96812
BuildRequires: %{python}-requests
Dominik Turecek 8f96812
BuildRequires: %{python_pfx}-jinja2
clime 2778a93
26b5fcf
%if 0%{?fedora} || 0%{?rhel} > 7
26b5fcf
BuildRequires: argparse-manpage
26b5fcf
%endif
clime ad13aa8
BuildRequires: python-rpm-macros
clime ad13aa8
4c11db9
%if "%{?python}" == "python2"
c12ee38
BuildRequires: python2-configparser
clime 2778a93
BuildRequires: python2-mock
c12ee38
Requires: python2-configparser
clime 2778a93
%endif
clime 2778a93
clime 2778a93
Requires: %python
26b5fcf
Requires: %{python}-copr-common
Dominik Turecek 8f96812
Requires: %{python_pfx}-jinja2
Dominik Turecek 8f96812
Requires: %{python_pfx}-munch
Dominik Turecek 8f96812
Requires: %{python}-requests
Dominik Turecek 8f96812
Requires: %{python_pfx}-simplejson
Your Name 9134f83
cae2335
Requires: mock >= 2.0
Your Name 9134f83
Requires: git
clime b51954f
Requires: git-svn
7e4e611
# for the /bin/unbuffer binary
clime ad13aa8
Requires: expect
ec10b40
Requires: qemu-user-static
Your Name 9134f83
clime ad13aa8
%if 0%{?fedora} || 0%{?rhel} > 7
Dominik Turecek 8f96812
Recommends: rpkg
Dominik Turecek 8f96812
Recommends: python-srpm-macros
Dominik Turecek 8f96812
Suggests: tito
clime ad13aa8
Suggests: rubygem-gem2rpm
clime ad13aa8
Suggests: pyp2rpm
clime ad13aa8
%endif
clime ad13aa8
Your Name 9134f83
%description
Your Name 9134f83
Provides command capable of running COPR build-tasks.
Your Name 9134f83
Example: copr-rpmbuild 12345-epel-7-x86_64 will locally
Your Name 9134f83
build build-id 12345 for chroot epel-7-x86_64.
Your Name 9134f83
7e4e611
Dominik Turecek 8f96812
%package -n copr-builder
Dominik Turecek 8f96812
Summary: copr-rpmbuild with all weak dependencies
Dominik Turecek 8f96812
Requires: %{name} = %{version}-%{release}
26b5fcf
Requires: copr-distgit-client = %{version}-%{release}
7e4e611
7e4e611
%if 0%{?fedora}
7e4e611
# replacement for yum/yum-utils, to be able to work with el* chroots
7e4e611
# bootstrap_container.
7e4e611
Requires: dnf-yum
7e4e611
Requires: dnf-utils
7e4e611
%endif
7e4e611
# selinux toolset to allow running ansible against the builder
7e4e611
%if 0%{?fedora}
7e4e611
Requires: python3-libselinux
7e4e611
Requires: python3-libsemanage
7e4e611
%else
7e4e611
Requires: libselinux-python
7e4e611
Requires: libsemanage-python
7e4e611
%endif
8ad1fd9
# for mock to allow: config_opts['nosync'] = True
7e4e611
Requires: nosync
8ad1fd9
%ifarch x86_64
8ad1fd9
# multilib counterpart to avoid: config_opts['nosync_force'] = True
8ad1fd9
Requires: nosync(x86-32)
8ad1fd9
%endif
7e4e611
Requires: openssh-clients
26b5fcf
Requires: podman
7e4e611
Requires: pyp2rpm
7e4e611
# We need %%pypi_source defined, which is in 3-29+
7e4e611
Requires: python-srpm-macros >= 3-29
Dominik Turecek 8f96812
Requires: rpkg
7e4e611
Requires: rsync
Dominik Turecek 8f96812
Requires: rubygem-gem2rpm
7e4e611
Requires: scl-utils-build
7e4e611
Requires: tito
7e4e611
# yum* to allow mock to build against el* chroots without bootstrap_container
7e4e611
%if 0%{?rhel}
7e4e611
Requires: yum
7e4e611
Requires: yum-utils
7e4e611
%endif
7e4e611
7e4e611
# We want those to be always up-2-date
7e4e611
%latest_requires ca-certificates
7e4e611
%latest_requires distribution-gpg-keys
7e4e611
%if 0%{?fedora}
7e4e611
%latest_requires dnf
7e4e611
%latest_requires dnf-plugins-core
ce0de00
%latest_requires libdnf
ce0de00
%latest_requires librepo
cae2335
%latest_requires libsolv
7e4e611
%endif
7e4e611
%latest_requires mock
7e4e611
%latest_requires mock-core-configs
7e4e611
%latest_requires rpm
7e4e611
Dominik Turecek 8f96812
Dominik Turecek 8f96812
%description -n copr-builder
Dominik Turecek 8f96812
Provides command capable of running COPR build-tasks.
Dominik Turecek 8f96812
Example: copr-rpmbuild 12345-epel-7-x86_64 will locally
Dominik Turecek 8f96812
build build-id 12345 for chroot epel-7-x86_64.
Dominik Turecek 8f96812
Dominik Turecek 8f96812
This package contains all optional modules for building SRPM.
Dominik Turecek 8f96812
7e4e611
26b5fcf
%package -n copr-distgit-client
26b5fcf
Summary: Utility to download sources from dist-git
26b5fcf
26b5fcf
Requires: %{_bindir}/git
26b5fcf
Requires: curl
26b5fcf
26b5fcf
26b5fcf
%description -n copr-distgit-client
26b5fcf
A simple, configurable python utility that is able to download sources from
26b5fcf
various dist-git instances, and generate source RPMs.
26b5fcf
26b5fcf
The utility is able to automatically map the .git/config clone URL into
26b5fcf
the corresponding dist-git instance configuration.
26b5fcf
26b5fcf
Your Name 9134f83
%prep
ec10b40
%setup -q
26b5fcf
for script in bin/copr-rpmbuild* \
26b5fcf
              bin/copr-distgit*
26b5fcf
do
26b5fcf
    sed -i '1 s|#.*|#! /usr/bin/%python|' "$script"
26b5fcf
done
Your Name 9134f83
7e4e611
clime 2778a93
%check
26b5fcf
PYTHON=%{python} ./run_tests.sh -vv --no-coverage
clime 2778a93
7e4e611
Your Name 9134f83
%build
clime 5b05ce9
name="%{name}" version="%{version}" summary="%{summary}" %py_build
Your Name 9134f83
a2x -d manpage -f manpage man/copr-rpmbuild.1.asciidoc
Your Name 9134f83
b75859b
%global mock_config_overrides %_sysconfdir/copr-rpmbuild/mock-config-overrides
b75859b
b75859b
cat > copr-update-builder <<'EOF'
7e4e611
#! /bin/sh
7e4e611
7e4e611
# Update the Copr builder machine, can be called anytime Copr build system
90b0c42
# decides to do so (please keep the script idempotent).
b75859b
7e4e611
# install the latest versions of those packages
7e4e611
dnf update -y %latest_requires_packages
b75859b
b75859b
# The mock-core-configs package was potentially updated above, and it provides
b75859b
# "noreplace" %%config files.  It means that - if the builder cloud image had
b75859b
# baked-in locally _changed_ configuration files - the updated official
b75859b
# configuration files from mock-core-configs package wouldn't be used.  So now
b75859b
# make sure that they _are_ used (those, if any, would reside in .rpmnew files).
b75859b
find /etc/mock -name '*.rpmnew' | while read -r rpmnew_file; do
b75859b
    config=${rpmnew_file%%.rpmnew}
b75859b
    mv -f "$config" "$config.copr-builder-backup" && \
b75859b
    mv "$rpmnew_file" "$config"
b75859b
done
b75859b
90b0c42
# And now use the overrides from %%mock_config_overrides directory
b75859b
(
b75859b
  cd %mock_config_overrides
b75859b
  find . -name '*.tpl' -o -name '*.cfg' | while read -r file; do
b75859b
    base=$(basename "$file")
b75859b
    dir=%_sysconfdir/mock/$(dirname "$file")
b75859b
    mkdir -p "$dir"
b75859b
    cp "$file" "$dir"
b75859b
  done
b75859b
)
7e4e611
EOF
7e4e611
7e4e611
Your Name 9134f83
%install
b75859b
install -d %{buildroot}%mock_config_overrides
Your Name 9134f83
install -d %{buildroot}%{_sharedstatedir}/copr-rpmbuild
Your Name 9134f83
install -d %{buildroot}%{_sharedstatedir}/copr-rpmbuild/results
Your Name 9134f83
Your Name 9134f83
install -d %{buildroot}%{_bindir}
clime b51954f
install -m 755 main.py %{buildroot}%{_bindir}/copr-rpmbuild
Your Name 9134f83
install -m 644 main.ini %{buildroot}%{_sysconfdir}/copr-rpmbuild/main.ini
clime b51954f
install -m 644 mock.cfg.j2 %{buildroot}%{_sysconfdir}/copr-rpmbuild/mock.cfg.j2
clime b51954f
install -m 644 rpkg.conf.j2 %{buildroot}%{_sysconfdir}/copr-rpmbuild/rpkg.conf.j2
26b5fcf
install -m 644 mock-source-build.cfg %{buildroot}%{_sysconfdir}/copr-rpmbuild/
Your Name 9134f83
b75859b
cat <<EOF > %buildroot%mock_config_overrides/README
b75859b
Contents of this directory is used by %_bindir/copr-update-builder script.
b75859b
When the script is executed, all files and directories (recursively) from here
b75859b
are automatically copied to /etc/mock directory.  The files in /etc/mock are
b75859b
overwritten if they already exist.
b75859b
EOF
b75859b
Your Name 9134f83
install -d %{buildroot}%{_mandir}/man1
Your Name 9134f83
install -p -m 644 man/copr-rpmbuild.1 %{buildroot}/%{_mandir}/man1/
90b0c42
install -p -m 755 bin/copr-builder-cleanup %buildroot%_bindir
clime a93ab5b
install -p -m 755 bin/copr-sources-custom %buildroot%_bindir
90b0c42
install -p -m 755 bin/copr-rpmbuild-cancel %buildroot%_bindir
90b0c42
install -p -m 755 bin/copr-rpmbuild-log %buildroot%_bindir
90b0c42
clime 5b05ce9
name="%{name}" version="%{version}" summary="%{summary}" %py_install
clime b51954f
7e4e611
install -p -m 755 copr-update-builder %buildroot%_bindir
7e4e611
90b0c42
(
90b0c42
  cd builder-hooks
90b0c42
  find -name README | while read line; do
90b0c42
    dir=%buildroot%_sysconfdir"/copr-builder/hooks/$(dirname "$line")"
90b0c42
    mkdir -p "$dir"
90b0c42
    install -p -m 644 "$line" "$dir"
90b0c42
  done
90b0c42
)
90b0c42
26b5fcf
install -p -m 755 bin/copr-distgit-client %buildroot%_bindir
26b5fcf
%if 0%{?fedora} || 0%{?rhel} > 7
26b5fcf
argparse-manpage --pyfile copr_distgit_client.py \
26b5fcf
    --function _get_argparser \
26b5fcf
    --author "Copr Team" \
26b5fcf
    --author-email "copr-team@redhat.com" \
26b5fcf
    --url %url --project-name Copr \
26b5fcf
> %{buildroot}%{_mandir}/man1/copr-distgit-client.1
26b5fcf
%endif
26b5fcf
mkdir -p %{buildroot}%{_sysconfdir}/copr-distgit-client
26b5fcf
install -p -m 644 etc/copr-distgit-client/default.ini \
26b5fcf
    %{buildroot}%{_sysconfdir}/copr-distgit-client
26b5fcf
mkdir -p %{buildroot}%{sitelib}
26b5fcf
install -p -m 644 copr_distgit_client.py %{buildroot}%{expand:%%%{python}_sitelib}
26b5fcf
7e4e611
Your Name 9134f83
%files
clime ad13aa8
%{!?_licensedir:%global license %doc}
Your Name 9134f83
%license LICENSE
Your Name 9134f83
26b5fcf
%sitelib/copr_rpmbuild*
clime b51954f
90b0c42
%{_bindir}/copr-rpmbuild*
clime a93ab5b
%{_bindir}/copr-sources-custom
Your Name 9134f83
%{_mandir}/man1/copr-rpmbuild.1*
Your Name 9134f83
Your Name 9134f83
%dir %attr(0775, root, mock) %{_sharedstatedir}/copr-rpmbuild
Your Name 9134f83
%dir %attr(0775, root, mock) %{_sharedstatedir}/copr-rpmbuild/results
Your Name 9134f83
Your Name 9134f83
%dir %{_sysconfdir}/copr-rpmbuild
Your Name 9134f83
%config(noreplace) %{_sysconfdir}/copr-rpmbuild/main.ini
clime b51954f
%config(noreplace) %{_sysconfdir}/copr-rpmbuild/mock.cfg.j2
clime b51954f
%config(noreplace) %{_sysconfdir}/copr-rpmbuild/rpkg.conf.j2
26b5fcf
%config(noreplace) %{_sysconfdir}/copr-rpmbuild/mock-source-build.cfg
Your Name 9134f83
Dominik Turecek 8f96812
%files -n copr-builder
Dominik Turecek 8f96812
%license LICENSE
7e4e611
%_bindir/copr-update-builder
90b0c42
%_bindir/copr-builder-cleanup
90b0c42
%_sysconfdir/copr-builder
b75859b
%dir %mock_config_overrides
b75859b
%doc %mock_config_overrides/README
7e4e611
clime 3645ba3
26b5fcf
%files -n copr-distgit-client
26b5fcf
%license LICENSE
26b5fcf
%_bindir/copr-distgit-client
26b5fcf
%if 0%{?fedora} || 0%{?rhel} > 7
26b5fcf
%_mandir/man1/copr-distgit-client.1*
26b5fcf
%endif
26b5fcf
%dir %_sysconfdir/copr-distgit-client
26b5fcf
%config %_sysconfdir/copr-distgit-client/default.ini
26b5fcf
%sitelib/copr_distgit_client.*
26b5fcf
%if "%{?python}" != "python2"
26b5fcf
%sitelib/__pycache__/copr_distgit_client*
26b5fcf
%endif
26b5fcf
26b5fcf
Dominik Turecek 8f96812
%changelog
26b5fcf
* Thu Nov 12 2020 Pavel Raiskup <praiskup@redhat.com> 0.42-1
26b5fcf
- require podman on all builders
26b5fcf
- move the whole copr-distgit-client below copr-builder
26b5fcf
- git module name to define the lookaside download url
26b5fcf
26b5fcf
* Wed Nov 11 2020 Pavel Raiskup <praiskup@redhat.com> 0.41-1
26b5fcf
- non-dev version and release
26b5fcf
26b5fcf
* Mon Nov 09 2020 Jakub Kadlcik <frostyx@email.cz> 0.40.2.dev-1
26b5fcf
- rpmbuild: fix chroot_scan copying
26b5fcf
- rpmbuild: fix mock --buildsrpm option
26b5fcf
- rpmbuild: set Vendor metadata for builds
26b5fcf
- rpmbuild: use mock --srpmbuild for spec file uploads
26b5fcf
- frontend, cli, python, rpmbuild: better bootstrap config
26b5fcf
- beaker-tests, cli, frontend, python, rpmbuild: add option to config bootstrap
26b5fcf
- all: run pytest with -vv in package build
26b5fcf
- rpmbuild: disable source fetch for the dist-git method
26b5fcf
- rpmbuild: catch FileNotFound on el6 correctly
26b5fcf
- rpmbuild: drop SourceType and rely on BuildSourceEnum
26b5fcf
- common, cli, python, rpmbuild, frontend, backend: DistGit source method
26b5fcf
- rpmbuild: fix Provider class design
26b5fcf
- rpmbuild: inform about testsuite coverage
26b5fcf
7dadd63
* Mon Aug 10 2020 Pavel Raiskup <praiskup@redhat.com> 0.40-1
7dadd63
- provide the "dynamic" %%buildtag
7dadd63
- define config_opts['root'] mock config for make srpm method
f3dfb39
90b0c42
* Tue Jun 09 2020 Pavel Raiskup <praiskup@redhat.com> 0.39-1
90b0c42
- more work delegate to builder scripts from backend
90b0c42
- don't delete the "old" .rpmnew files
90b0c42
- fix macro in comment (rpmlint)
1806b6c
b75859b
* Fri Apr 03 2020 Pavel Raiskup <praiskup@redhat.com> 0.38-1
b75859b
- do not scrub mock caches, to re-use dnf/yum caches
b75859b
- scrub chroot and bootstrap chroot when build is done
b75859b
- invent /etc/copr-rpmbuild/mock-config-overrides config dir
b75859b
- print human friendly error for nonexisting subdirectory
b75859b
- less verbose error output
fc83986
cae2335
* Wed Feb 19 2020 Pavel Raiskup <praiskup@redhat.com> 0.37-1
cae2335
- add tests that we properly cleanup tmp directories
cae2335
- mock 2.0: config s/use_bootstrap_container/use_bootstrap/
cae2335
- mock 2.0: disable bootstrap chroot for make_srpm method
cae2335
- put complete set of mock configs to resultdir, in tarball
cae2335
- mock 2.0: use dnf.conf/yum.conf automatically
cae2335
- make sure builders have the latest libsolv
cae2335
84c5021
* Thu Feb 06 2020 Pavel Raiskup <praiskup@redhat.com> 0.36-1
84c5021
- do not fail if we can not remove temporary we created
84c5021
82fb508
* Wed Feb 05 2020 Pavel Raiskup <praiskup@redhat.com> 0.35-1
82fb508
- mock config - module_enable needs to be an array
82fb508
- catch FileExistsError in python2 compatible manner
82fb508
82fb508
* Wed Feb 05 2020 Pavel Raiskup <praiskup@redhat.com> 0.34-1
82fb508
- don't create unnecessary tmp directory
82fb508
- prefix the name of all copr-rpmbuild temporary directory
82fb508
- properly cleanup after obtaining sources, and build failure
82fb508
- add support for mock's module_enable
34f1583
7731fb3
* Fri Dec 06 2019 Pavel Raiskup <praiskup@redhat.com> 0.33-1
7731fb3
- rpmbuild: skip_if_unavailable=1 for non-ACR projects
7731fb3
ec10b40
* Wed Dec 04 2019 Pavel Raiskup <praiskup@redhat.com> 0.32-1
ec10b40
- fix custom method for F31's nspawn (--console=pipe is not default)
ec10b40
- buildrequires: add qemu-user-static for building armhfp
ec10b40
- module_hotfixes support
ec10b40
- define %%copr_username again on copr builders
ec10b40
- skip_if_unavailable=False for copr_base
5c62372
ce0de00
* Wed Jul 31 2019 Pavel Raiskup <praiskup@redhat.com> 0.31-1
ce0de00
- rpmbuild: make sure librepo/libdnf is always up2date
ce0de00
c5cb731
* Mon Jul 29 2019 Pavel Raiskup <praiskup@redhat.com> 0.30-1
c5cb731
- drop SCM parameters from copr-rpmbuild
c5cb731
- implement --task-file and --task-url parameters (issue#517)
aca13c9
5fe4821
* Fri Jun 07 2019 Pavel Raiskup <praiskup@redhat.com> 0.29-1
5fe4821
- clean /var/cache/mock automatically
5fe4821
e54f274
* Mon May 27 2019 Pavel Raiskup <praiskup@redhat.com> 0.28-1
e54f274
- don't use --private-users=pick
e54f274
8ad1fd9
* Mon May 20 2019 Pavel Raiskup <praiskup@redhat.com> 0.27-1
8ad1fd9
- enforce use_host_resolv
8ad1fd9
- require even nosync.i686
8ad1fd9
7e4e611
* Tue May 14 2019 Pavel Raiskup <praiskup@redhat.com> 0.26-1
7e4e611
- [rpmbuild] ansible_python_interpreter: /usr/bin/python3
7e4e611
- [rpmbuild] install dnf-utils instead of yum-utils on Fedora
7e4e611
- [rpmbuild] builder: document some of the requires
7e4e611
- [rpmbuild] builder: merge dependencies from playbooks
7e4e611
- [rpmbuild] don't define %%_disable_source_fetch
7e4e611
- [rpmbuild] use six.moves.urllib.parse
7e4e611
- [rpmbuild] download srpm/spec if url contains query string
7e4e611
c12ee38
* Wed Apr 24 2019 Jakub Kadlčík <frostyx@email.cz> 0.25-1
c12ee38
- remove dependency on python3-configparser
clime a4d257f
Dominik Turecek 8f96812
* Thu Jan 10 2019 Miroslav Suchý <msuchy@redhat.com> 0.24-1
Dominik Turecek 8f96812
- create copr-rpmbuild-all subpackage
Dominik Turecek 8f96812
- Fix `copr-cli mock-config` after switching to APIv3 by preprocessing repos on
Dominik Turecek 8f96812
frontend
Dominik Turecek 8f96812
- add python-srpm-macros
Dominik Turecek 8f96812
- print nice error when suggested package is not installed
Dominik Turecek 8f96812
- tito and rpkg should be required only by copr-builder
Dominik Turecek 8f96812
- create copr-builder
Dominik Turecek 8f96812
- let mock rootdir generation on clients
Dominik Turecek 8f96812
- rename repos 'url' attribute to 'baseurl'
Dominik Turecek 8f96812
- provide repo_id in project chroot build config
Dominik Turecek 8f96812
- Allow per-package chroot-blacklisting by wildcard patterns
Dominik Turecek 8f96812
- preprocess repo URLs on frontend
Dominik Turecek 8f96812
- revert back Suggests
Dominik Turecek 8f96812
- drop "downloading" state
Dominik Turecek 8f96812
- allow blacklisting packages from chroots
Dominik Turecek 8f96812
Dominik Turecek 8f96812
* Fri Oct 19 2018 Miroslav Suchý <msuchy@redhat.com> 0.23-1
Dominik Turecek 8f96812
- /usr/bin/env python3 -> /usr/bin/python3
Dominik Turecek 8f96812
- nicer live logs
clime fb7f6cc
clime ad13aa8
* Tue Sep 18 2018 clime <clime@redhat.com> 0.22-1
clime ad13aa8
- make spec_template for pypi in build config optional
clime ad13aa8
- EPEL6 fixes
clime ad13aa8
- EPEL7 fixes
clime ad13aa8
- Merge #393 `use git_dir_archive instead of git_dir_pack`
clime ad13aa8
- handle non-existent chroot for given build-id
clime ad13aa8
- fix requests exception
clime ad13aa8
- add support for copr://
clime ad13aa8
- generate some sane mock root param when --copr arg is used
clime ad13aa8
- add --copr arg to build/dump-configs against copr+chroot build defs
clime ad13aa8
- pg#251 Make it possible for user to select pyp2rpm template
clime ad13aa8
- --dump-configs option
clime ad13aa8
clime 5b05ce9
* Wed Aug 29 2018 clime <clime@redhat.com> 0.21-1
clime 5b05ce9
- [rpmbuild] add possibility to supply rpkg.conf in top-level scm dir
clime 5b05ce9
- packaging: Python 2/3, RHEL/Fedora fixes
clime 5b05ce9
clime 2778a93
* Mon Aug 06 2018 clime <clime@redhat.com> 0.20-1
clime 2778a93
- for py3 use unittest.mock, otherwise mock from python2-mock
clime 2778a93
- avoid subprocess.communicate(timeout=..)
clime 2778a93
- BlockingIOError, IOError -> OSError
clime 2778a93
- hack for optional argparse subparser
clime 2778a93
- fix shebang for epel7
clime 2778a93
- use fcntl.lockf (works with python 2.7, too)
clime 2778a93
- make copr-rpmbuild installable/buildable on el7
2131d66
clime 223197c
* Fri May 18 2018 clime <clime@redhat.com> 0.19-1
clime 223197c
- add --with/--without rpmbuild options for build chroot
clime 223197c
8c37e85
* Thu Apr 26 2018 Dominik Turecek <dturecek@redhat.com> 0.18-1
8c37e85
- rpkg deployment into COPR - containers + releng continuation
8c37e85
- updates for latest upstream rpkg
8c37e85
- update rpkg.conf.j2 to the latest rpkg version
8c37e85
- s|/bin/env|/usr/bin/env| in shebang
8c37e85
clime e3627e8
* Fri Feb 23 2018 clime <clime@redhat.com> 0.17-1
clime e3627e8
- remove unused requires and rename rpm-python3 to python3-rpm
clime e3627e8
- switch copr-sources-custom to python3 shebang
clime e3627e8
- keep tmpfs data mounted acros mock invocations for custom method
clime e3627e8
clime a93ab5b
* Mon Feb 19 2018 clime <clime@redhat.com> 0.16-1
clime a93ab5b
- new custom source method
clime a93ab5b
clime bcb17d1
* Sun Feb 18 2018 clime <clime@redhat.com> 0.15-1
clime bcb17d1
- add support for fetch_sources_only in task defition
clime bcb17d1
- allow building rpms from srpms fetched by providers, 
clime bcb17d1
- extend cmdline with scm submode
clime bcb17d1
- optionally set a priority for a repo
clime bcb17d1
- add test for create_rpmmacros + refactoring
clime bcb17d1
- allow only https and ftps protocols for source fetch
clime bcb17d1
clime bcb17d1
* Thu Jan 11 2018 clime <clime@redhat.com> 0.14-1
clime bcb17d1
- copy out dnf and yum logs when using mock
clime bcb17d1
- introspection and --version argument
3dfee6d
clime 33c5080
* Mon Dec 11 2017 clime <clime@redhat.com> 0.13-1
clime 33c5080
- update man pages
clime 33c5080
- update help
clime 33c5080
- exclude 'tests' in package auto-discovery
clime 33c5080
- don't install additional stuff into bootstrap of custom buildroot
clime 33c5080
- Bug 1514221 - Copr fails to clone the repository. Build fails.
clime 33c5080
clime 4348000
* Thu Nov 09 2017 clime <clime@redhat.com> 0.12-1
clime 4348000
- fix get_mock_uniqueext call
clime 4348000
- fortify make_srpm
clime 4348000
- add '--private-users=pick' to make_srpm container to improve
clime 4348000
  security
clime 4348000
- compatibility with rpkg-client-0.11
clime 4348000
- add config for src.stg.fedoraproject.org into default rpmbuild
clime 4348000
  config
clime 4348000
- fix download url for new rpkg-client version
clime 4348000
clime 875da55
* Wed Oct 18 2017 clime <clime@redhat.com> 0.11-1
clime 875da55
- provide option to root spec file path in SCM with '/'
clime 875da55
- fix exception raising in scm provider
clime 875da55
- make command debug info nicer
clime 875da55
- print task structure in the beginning even without -v
clime 875da55
- add listdir after srpm production
clime 875da55
- some Git backends do not support --depth
clime 875da55
- remove unused run method
clime 875da55
- checkout master by default
clime 875da55
- with limited depth, we need to clone with --no-single-branch
clime 875da55
- remove original perl script and mock config for it
clime 875da55
- remove no longer needed options from rpkg.conf.j2
clime 875da55
- SCM source types unification
clime 875da55
- apply continuing line filtering from f4561c149893
clime 875da55
- increase clone depth to address pag#129 SCM source type error
clime 875da55
clime c29b61e
* Tue Sep 26 2017 clime <clime@redhat.com> 0.10-1
clime c29b61e
- use https for copr frontend in default config
clime c29b61e
- Make error message when the build task does not exist more user-
clime c29b61e
  friendly
clime c29b61e
- add --build-id switch instead of positional argument
clime c29b61e
- do not fail when lockfile does not exist
clime c29b61e
- change arguments to build_id and chroot
clime c29b61e
- remove lockfile import
clime c29b61e
- remove unused requires:
clime c29b61e
- remove unused variables in try-excepts
clime c29b61e
- #138 FileExistsError: [Errno 17] File exists: '/var/lib/copr-
clime c29b61e
  rpmbuild/lockfile.lock'
clime c29b61e
clime a294e46
* Fri Sep 15 2017 clime <clime@redhat.com> 0.9-1
clime a294e46
- copy spec file to the result dir to have a quick overview on the
clime a294e46
  package
clime a294e46
clime 1774dc8
* Thu Sep 14 2017 clime <clime@redhat.com> 0.8-1
clime 1774dc8
- provide more verbose exception logging
clime 1774dc8
- take timeout into account
clime 1774dc8
- fix downstream/upstream condition
clime 1774dc8
- set also use_host_resolv to False if enable_net is False
clime 1774dc8
- when building rpms, prebuild srpm in mock chroot
clime 1774dc8
clime b51954f
* Thu Sep 07 2017 clime <clime@redhat.com> 0.7-1
clime b51954f
- rewrite to python
clime b51954f
- build-srpm from upstream ability added
Your Name 9134f83
* Fri Jul 07 2017 clime <clime@redhat.com> 0.6-1
Your Name 9134f83
- support for source downloading
Your Name 9134f83
Your Name 9134f83
* Tue Jun 27 2017 clime <clime@redhat.com> 0.5-1
Your Name 9134f83
- use Perl Virtual naming for Requires
Your Name 9134f83
Your Name 9134f83
* Fri Jun 23 2017 clime <clime@redhat.com> 0.4-1
Your Name 9134f83
- use dnf.conf for custom-1 chroots
Your Name 9134f83
- also copy .spec to the build result directory
Your Name 9134f83
- raise curl timeout for downloading sources to be built
Your Name 9134f83
- changes according to review bz#1460630
Your Name 9134f83
- rpmbuild_networking option is now used to enable/disable net
Your Name 9134f83
Your Name 9134f83
* Wed Jun 14 2017 clime <clime@redhat.com> 0.3-1
Your Name 9134f83
- support for mock's bootstrap container
Your Name 9134f83
- check each line of sources file separately
Your Name 9134f83
- allow multiple sources and use current dir for mock as source dir
Your Name 9134f83
- also check for value of repos first before array referencing in mockcfg.tmpl
Your Name 9134f83
- handle null for buildroot_pkgs in mockcfg.tmpl
Your Name 9134f83
Your Name 9134f83
* Fri Jun 09 2017 clime <clime@redhat.com> 0.2-1
Your Name 9134f83
- new package built with tito
Your Name 9134f83
Your Name 9134f83
* Fri Jun 02 2017 clime <clime@redhat.com> 0.1-1
Your Name 9134f83
- Initial version