Bug 1426531 - error: line 19: Unknown rich dependency op 'with': BuildRequires: (crate(rustc-demangle) >= 0.1.2 with crate(rustc-demangle) < 0.2.0)
Summary: error: line 19: Unknown rich dependency op 'with': BuildRequires: (crate(rus...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Copr
Classification: Community
Component: backend
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: clime
QA Contact:
URL:
Whiteboard:
Depends On: 1118719
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-24 08:15 UTC by Igor Gnatenko
Modified: 2017-06-27 07:39 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-06-27 07:39:31 UTC
Embargoed:


Attachments (Terms of Use)

Description Igor Gnatenko 2017-02-24 08:15:08 UTC
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.

Comment 1 Igor Gnatenko 2017-02-24 08:16:27 UTC
This is the project which I'm working on: https://copr.fedorainfracloud.org/coprs/g/rust/playground/

Comment 2 Igor Gnatenko 2017-02-24 08:22:16 UTC
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).

Comment 3 clime 2017-02-25 19:54:20 UTC
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.

Comment 4 Igor Gnatenko 2017-02-26 00:42:12 UTC
(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).

Comment 5 clime 2017-05-15 12:24:22 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.