Dne 25. 02. 21 v 18:19 Miro Hrončok napsal(a):
What I do is use "rpmspec -q --srpm" to do queries on packages for dependencies.
For example, you can do something like:
rpmspec --target x86_64 -q --srpm --buildrequires package.spec
That gets you a list of BRs for x86_64.
I suppose this doesn't support %generate_buildrequires, so it's not always possible. (But I have not verified this
assumption.)
Neal is correct that you only need to **query** on different architecture.
> However, I agree that keeping 6 SRPM files with identical *content*
> and only different *metadata* is incredibly wasteful.
The SPEC file is always the same. On all arches. [*] So the different metadata you mentioned are result of **query** of
that SRPM on that architecture. Even dynamic buildrequires.
Therefore I propose to:
* still generate only one SRPM like we do now.
* only generate list of builddeps on that architecture.
I.e., even in your case with "Qt5WebEngine on ppc64le and s390x" if you generate SRPM on s390x and then run
mock --installdeps foo.src.rpm
on x86_64, then Mock should install Qt5WebEngine. Because it evaluates the SPEC file on x86_64 architecture.
Browsing through code of Koji - I see no use of `--installdeps`. Therefore I think the Builrequires used are **always**
correct and relevant on that architecture. There is only one issue - it is hardly visible. It can be seen only in
root.log, which is pretty verbose.
And the "(info)" page on Koji, e.g.:
https://koji.fedoraproject.org/koji/buildinfo?buildID=1715542
-> src - > info ->
https://koji.fedoraproject.org/koji/rpminfo?rpmID=25390046
lies, because its Requires section (which is in case of SRC.RPM actually BuildRequires of RPM) contains the
BuildRequires from just one architecture.
There what we actually needs:
* move the src.rpm on info page to each architecture (but still keep only one src.rpm)
* query for install deps on each architecture
* have separate (info) page for each architecture
Query the deps can be tricky as Mock does not support it. There is only --installdeps, but not --querydeps. But I can
add it.
[*] the exception is
%ifarch FOO
SourceX: bar
but as you mentioned **that** is forbidden in Fedora.
--
Miroslav Suchy, RHCA
Red Hat, Associate Manager, Community Packaging Tools, #brno, #fedora-buildsys
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure