CMD:rm -rf /tmp/build_package_repo && mkdir /tmp/build_package_repo && cd /tmp/build_package_repo && git clone http://copr-dist-git.fedorainfracloud.org/git/@rust/playground/rustfilt.git && cd rustfilt && git checkout 595170036fa8ad98dc5c7d6f2f7e290504ff7639 && fedpkg-copr --dist f25 srpm RC:1 AS_ROOT:False STDERR:Cloning into 'rustfilt'... Note: checking out '595170036fa8ad98dc5c7d6f2f7e290504ff7639'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b <new-branch-name> HEAD is now at 5951700... import_srpm /usr/lib/python2.7/site-packages/pyrpkg/cli.py:37: DeprecationWarning: --dist is deprecated and will be removed in future version. Use --release instead. 'Use --release instead.', DeprecationWarning) error: line 19: Unknown rich dependency op 'with': BuildRequires: (crate(rustc-demangle) >= 0.1.2 with crate(rustc-demangle) < 0.2.0) error: query of specfile /tmp/build_package_repo/rustfilt/rustfilt.spec failed, can't parse Could not execute srpm: Could not get n-v-r-e from '\n\n' but I have setting to use another COPR repo where I have RPM which supports this rich dependency operator.
This is the project which I'm working on: https://copr.fedorainfracloud.org/coprs/g/rust/playground/
Even I would use legit rich dependencies, it still would not help because dnf-builddep in repos doesn't support rich dependencies at all yet (and I have patched package in external repo).
You see, the package in the external repo is not used because this is error while parsing rustfilt.spec by pyrpkg outside of any chroot. For this to work, we would need to: 1) get https://github.com/rpm-software-management/mock/pull/41 accepted 2) use the mock-scm dist-git method in copr-backend instead of fedpkg-copr 3) you would need to actually add the package into the minimal buildroot (possible in the chroot settings and maybe you have done it) With all that, it should be possible to do what you want. Actually, it would be interesting to try that on our dev machines if it works.
(In reply to clime from comment #3) > You see, the package in the external repo is not used because this is error > while parsing rustfilt.spec by pyrpkg outside of any chroot. For this to > work, we would need to: > > 1) get https://github.com/rpm-software-management/mock/pull/41 accepted > 2) use the mock-scm dist-git method in copr-backend instead of fedpkg-copr > 3) you would need to actually add the package into the minimal buildroot > (possible in the chroot settings and maybe you have done it) > > With all that, it should be possible to do what you want. Actually, it would > be interesting to try that on our dev machines if it works. This is still not enough, because after that dnf-builddep will be used from host system (this one doesn't understand rich deps).
Fixed by https://pagure.io/copr/copr/pull-request/50 together with introduction of copr-builder package. Instead of mock-scm approach, currently `mock --buildsrpm` is used to build a srpm inside a chroot. Anyway, it works.