Bugzilla – Bug 1170524
cannot parse dependency (rpm-build-perl if perl-base) from rpm-build
Last modified: 2020-06-03 09:58:21 UTC
When I want to verify OBS builds, I use `osc build -p deps` using the old binary rpms that were used for the original build. https://github.com/bmwiedemann/reproducibleopensuse/blob/devel/nachbau#L45 This worked fine until some weeks ago. Now it fails with Getting buildinfo from server and store to /tmp/tealdeer/.osc/_buildinfo-standard-x86_64.xml buildinfo is broken... it says: unresolvable: cannot parse dependency (rpm-build-perl if perl-base) from rpm-build cannot parse dependency (rpm-build-python if python3-base) from rpm-build It starts to work again when I omit rpm-build.rpm from deps dir. It that a bug in OBS or osc or would I need a newer rpm on the build host? https://github.com/bmwiedemann/openSUSE/blame/master/packages/r/rpm/rpm.changes shows that Wed Feb 26 09:08:19 UTC 2020 - Fabian Vogt <fvogt@suse.com> - Split out perl and python dep generators from rpm-build to avoid pulling in perl and python in all RPM builds entered Factory 18 days ago as part of https://build.opensuse.org/request/show/791720
(In reply to Bernhard Wiedemann from comment #0) > When I want to verify OBS builds, I use `osc build -p deps` > using the old binary rpms that were used for the original build. If you would use the old binary RPMs, you wouldn't use the new rpm-build. So you are using a mix of old and new RPMs. Either you use the old ones, or you use the new ones. A mix of the old and new RPMs will never work. > It that a bug in OBS or osc or would I need a newer rpm on the build host? Sounds to me you need the old rpm-build, but you are using the new one.
That looks like the used libsolv does not implement boolean deps. Can you use a newer version? I know that it's supported starting from Leap 15.0.
(In reply to Fabian Vogt from comment #2) > That looks like the used libsolv does not implement boolean deps. > Can you use a newer version? I know that it's supported starting from Leap > 15.0. No, the error message actually happens earlier, in obs-build. You need at least https://github.com/openSUSE/obs-build/commit/50031a65495b8132d9df1f1e80ba3f3845108205 (and some newer fixes).
(In reply to Thorsten Kukuk from comment #1) > If you would use the old binary RPMs, you wouldn't use the new rpm-build. So > you are using a mix of old and new RPMs. > Either you use the old ones, or you use the new ones. A mix of the old and > new RPMs will never work. I am not mixing versions - in the case of verifying the tealdeer package, I am using all the "old" packages, including rpm-build that was used in the last 2020-04-22 build. rpm-build in that collection has Build Date : 2020-04-19T19:57:15 The build host is 15.1 with openSUSE:Tools repo, so I got build-20200313-lp151.353.1.noarch osc-0.168.2-lp151.300.1.noarch libsolv-tools-0.7.10-lp151.2.10.1.x86_64 python-solv-0.7.10-lp151.2.10.1.x86_64 Here is a simple reproducer: osc co openSUSE:Factory/tealdeer && cd $_ mkdir deps ( cd deps ; wget https://ftp.gwdg.de/pub/opensuse/tumbleweed/repo/oss/x86_64/rpm-build-4.15.1-5.1.x86_64.rpm) osc build -p deps
(In reply to Bernhard Wiedemann from comment #4) > Here is a simple reproducer: > > osc co openSUSE:Factory/tealdeer && cd $_ > mkdir deps > ( cd deps ; wget > https://ftp.gwdg.de/pub/opensuse/tumbleweed/repo/oss/x86_64/rpm-build-4.15.1- > 5.1.x86_64.rpm) > osc build -p deps Which seems to POST the tags of the rpm-build.rpm to OBS, which then raises the error. Reassigning.
Reassigning to Marco ;-)
Fixed in https://github.com/openSUSE/open-build-service/pull/9474
It works now