Highlights from 2022-07-27 release¶
%dist for SRPM builds¶
The Dist Tag (e.g.
.fc35) for built SRPM packages,
was a frequent point of confusion for Copr users as it was
reported on multiple occasions.
For more info about the Copr build workflow see https://docs.pagure.org/copr.copr/_images/srpm-build.jpeg
Basically, the build dist tag was inherited from the
initial source RPM. Either uploaded by user, or built from remote sources on
Copr builder in an isolated environment (e.g. Fedora 35 producing
.fc35). But the initial source
RPM dist tag had no informational value (a build may be submitted for many chroots, not just F35), and it eventually gets replaced by the target chroot dist-tag (e.g.
el8 for EPEL 8 builds).
We decided to set
%nil for the source builds to avoid this
confusion. The reported NVR in UI and API will look like
foo-1.1-2 instead of
while the final RPMs in chroot builds will still have appropriate dist tags.
Building from PyPI with
For a long time, it was possible to submit builds directly from
PyPI. In such a case,
pyp2rpm was used to generate a spec file
from the python package definition. It is now possible to use
pyp2spec instead (see #2203).
$ copr-cli buildpypi myproject \ --packagename argparse-manpage \ --spec-generator pyp2spec
Or you can create a package:
$ copr-cli add-package-pypi myproject \ --name python-argparse-manpage \ --packagename argparse-manpage \ --spec-generator pyp2spec $ copr-cli build-package myproject --name python-argparse-manpage -r $CHROOT
Submitting multiple builds at once via
Previously, when multiple packages were passed to
submitted the first build and waited, then submitted the second build
and waited, and so on. Now it submits all the builds right from the
start to maximally parallelize them. Then we wait for all of them.
During this change, also the progress-bar logic in
copr-dist-gitdoesn’t hold the downloaded files in the memory anymore to prevent SWAP issues when multiple large SRPMs are being imported concurrently.
When creating a project via
copr-cli, its URL is printed
#2243 - It is now possible to set runtime dependencies when using
#2228 - We don’t try to submit builds for Pagure pull requests into deleted projects
#1431 - Copr searches for the
coms.xmlin the chroot directory (instead of the repodata directory)
#2246 - The
copr-cliworks properly with Kerberos ticket and no
#2235 - Correct “Login invalid/expired” messages are now displayed when all attempts to send a request from
#2253 - The GSSAPI dependency for Copr client packages is now optional, which simplifies their installation from PyPI
RHBZ 2108401 - It is now possible to build DistGit packages that do not use the
Copr-specific macros such as
%copr_projectnameare defined also for custom builds and SCM builds using the
Runtime dependencies (extenal repositories) may be specified as a white-space separated set of URLs (including newlines, previously only a space separator worked)