The rpkg-util v2 vs v3 differences

The major difference is that the auto_pack = configuration option was dropped in the rpkg utility, and namely that even the default behavior (auto_pack = True) was changed entirely (after a long period of feature deprecation).

So, while for quite some time you’ve probably seen builds succeeding, and output similar to the following one (in source RPM builder-live.log files):

...
Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-p7s1qop1/copr-hello
...
stdout: Wrote: /var/lib/copr-rpmbuild/results/example.spec
Wrote: /var/lib/copr-rpmbuild/results/example-1.0.13.tar.gz
setting SOURCE_DATE_EPOCH=1518912000
Wrote: /var/lib/copr-rpmbuild/results/example-1.0.13-1.fc34.src.rpm
stderr: auto-packing: This function is deprecated and will be removed in a future release.

Note the deprecation error output! But newly you see build failures, and output like:

...
Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-49_sbnvg/copr-hello
...
rc: 0
stdout: Wrote: /var/lib/copr-rpmbuild/results/example.spec
stderr: error: Bad source: /var/lib/copr-rpmbuild/results/example-1.0.13.tar.gz: No such file or directory
Failed to execute command.

Output: ['example.spec']

Or even something like:

Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-ffz7kky4/copr-hello
...
rc: 1
stdout: Wrote: /var/lib/copr-rpmbuild/results/example.spec
stderr: error: Bad source: /var/lib/copr-rpmbuild/results/example-1.0.13.tar.gz: No such file or directory

Copr build error: error: Bad source: /var/lib/copr-rpmbuild/results/example-1.0.13.tar.gz: No such file or directory

How am I supposed to fix this

First, if you build your package from a DistGit instance (e.g. from src.fedoraproject.org, git.centos.org, etc.), you are encouraged to use the Copr DistGit build method.

If you build from a git forge (GitHub, GitLab, …) and you see build failures like those above, the problem is most likely that your spec file is not using the {{{ ... }}} templates, and you rely on the already removed auto_pack = True feature.

Please take a look at the rpkg-util documentation, and perhaps get an inspiration from the example commit which makes the package compatible with both rpkg-util v2 and v3.

If for any reason you can not use the new rpkg-util syntax, take a look at the other source methods Copr supports.