Bug 1170524 - cannot parse dependency (rpm-build-perl if perl-base) from rpm-build
cannot parse dependency (rpm-build-perl if perl-base) from rpm-build
Status: VERIFIED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Development
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: Michael Schröder
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-04-26 20:09 UTC by Bernhard Wiedemann
Modified: 2020-06-03 09:58 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Wiedemann 2020-04-26 20:09:20 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
Comment 1 Thorsten Kukuk 2020-04-27 11:18:18 UTC
(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.
Comment 2 Fabian Vogt 2020-04-27 11:24:48 UTC
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.
Comment 3 Fabian Vogt 2020-04-27 11:27:31 UTC
(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).
Comment 4 Bernhard Wiedemann 2020-04-27 11:52:44 UTC
(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
Comment 5 Fabian Vogt 2020-04-27 12:44:25 UTC
(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.
Comment 6 Michael Schröder 2020-04-27 15:11:22 UTC
Reassigning to Marco ;-)
Comment 7 Michael Schröder 2020-04-30 10:23:30 UTC
Fixed in https://github.com/openSUSE/open-build-service/pull/9474
Comment 8 Bernhard Wiedemann 2020-06-03 09:58:21 UTC
It works now