:orphan: .. _rpkg_util_v3: 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 The utility in ``v3`` version also stopped automatically loading the ``rpkg.macros`` file stored in git repository. Newly, one must tell the utility `where the rpkg.macros file resides`_. That's done using the git-root ``rpkg.conf`` file:: [rpkg] user_macros = "${git_props:root}/rpkg.macros" How am I supposed to fix the ``auto_pack`` issue ------------------------------------------------ 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 :ref:`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 :ref:`other source methods` Copr supports. .. _`rpkg-util documentation`: https://pagure.io/rpkg-util .. _`example commit`: https://pagure.io/copr/copr-hello/c/739ff9910ee8a9c76d7e97de2f6176106dc19a09?branch=rpkg-util .. _`DistGit`: https://github.com/release-engineering/dist-git .. _`where the rpkg.macros file resides`: https://docs.pagure.org/rpkg-util/v3/macro_reference.html#user-defined-macros