Bug 1221340

Summary: qemu: fails to build with osc
Product: [openSUSE] openSUSE Tumbleweed Reporter: Bernhard Wiedemann <bwiedemann>
Component: OtherAssignee: Daniel Mach <daniel.mach>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: adrian.schroeter, daniel.mach, dfaggioli
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Bernhard Wiedemann 2024-03-13 09:24:04 UTC
Steps to reproduce:
osc co openSUSE:Factory/qemu && cd $_
osc build --noservice --clean standard


Actual results:
using SOURCE_DATE_EPOCH with value 1709510400 as build time
error: Failed build dependencies:
       canokey-qemu-devel is needed by qemu-8.2.1-0.x86_64
       libxdp-devel is needed by qemu-8.2.1-0.x86_64
       pkgconfig(spice-protocol) >= 0.12.3 is needed by qemu-8.2.1-0.x86_64
       pkgconfig(spice-server) >= 0.12.5 is needed by qemu-8.2.1-0.x86_64
       xen-devel >= 4.2 is needed by qemu-8.2.1-0.x86_64
Powering off.
[   94.494179][ T3445] reboot: Power down


This likely has to do with these macros
%if 0%{with canokey}
BuildRequires:  canokey-qemu-devel
%endif

that are not properly parsed to provide the BuildRequires


# rpm -q osc build
osc-1.6.1-150500.403.1.noarch
build-20240221-150500.444.1.noarch
(both from openSUSE:Tools / 15.5)
Comment 1 Adrian Schröter 2024-03-13 12:11:56 UTC
you need the latest build script from openSUSE:Tools installed (version 20240313) for support for these.

A submission is on the way to factory.
Comment 2 Bernhard Wiedemann 2024-03-14 05:23:07 UTC
Unfortunately, I still get the same error with
build-20240313-150500.445.2.noarch
with the same reproducer
Comment 3 Adrian Schröter 2024-03-15 09:40:50 UTC
not here ... same package and same command. Just osc from OBS:Server:Unstable.

Is it reproducible with "osc buildinfo" for you?
Comment 4 Adrian Schröter 2024-03-15 09:45:12 UTC
forget about the "osc buildinfo", package is not there on purpose ...
Comment 5 Adrian Schröter 2024-03-15 10:02:09 UTC
okay, using the osc from today it happens to me as well....

however, the spooky part is the common.inc in that package. 

That is included in spec file via %include, but that is not supported by osc.

osc would need to detect these additional files and send it also to OBS server.
However server would also need to take these into account.
Comment 6 Bernhard Wiedemann 2024-03-26 09:46:28 UTC
Could it be inlined on the client side?
Similar to how C #includes & #defines work with ccache + distcc...
Then the server would not need to change.
Comment 7 Daniel Mach 2024-04-29 07:12:03 UTC
(In reply to Bernhard Wiedemann from comment #6)
> Could it be inlined on the client side?
> Similar to how C #includes & #defines work with ccache + distcc...
> Then the server would not need to change.

That's what I did in https://github.com/openSUSE/osc/pull/1552
Comment 8 Daniel Mach 2024-06-03 14:40:52 UTC
Fixed upstream. The *.inc files get uploaded to the server and taken into an account.