rpm-ostree/ci
Colin Walters b85ae9e1d6 jigdo: V4: Use archful provides for jigdoRPM Requires
When I tried to use my WIP client patches to do:
`rpm-ostree rebase rojig://fahc:fedora-atomic-host`,
I got a missing file object which turned out to
be the client importing the i686 RPMs.

This was passing in the test suite because we don't mirror i686 of course, but
on the client side right now we end up using all enabled repos, and since Fedora
is multiarch, the behavior is going to be...not predictable.

Thinking a bit about on this problem I actually happened to recall
the RPM `%{_isa}` macro which is used in Fedora in various places;
for example to "arch bind" `-devel` packages to their base.  See
for example [this case](33c7dc02bc/f/ostree.spec (_79)) in libostree.

As I noted at first, the core problem here is that the "final"
RPM architecture field is not symmetric in any way with the definition
of that `%{_isa}` macro.  See:

d9d47e0114/installplatform (L25)

The *third* solution I ended up on here is to iterate over the
`Provides` on the server side and we take the first thing
that matches `Provides: %{name}(whatever)`.

I briefly thought about trying to somehow drive into libsolv the
logic to prefer the jigdoRPM's native architecture...IIRC yum did
something like that in the past but it was never done in libsolv?
Anyways the dependencies here are now more correct, so other tools
will also handle it.

Closes: #1213
Approved by: jlebon
2018-01-19 14:18:19 +00:00
..
build-check.sh jigdo: V4: Use archful provides for jigdoRPM Requires 2018-01-19 14:18:19 +00:00
build.sh jigdo: V4: Use archful provides for jigdoRPM Requires 2018-01-19 14:18:19 +00:00
ci-commitmessage-submodules.sh ci: workaround broken fedora:26 image 2017-09-07 12:27:54 +00:00
codestyle.sh Remove all tabs ⭾ in *.[ch] and add a CI check for them 2017-06-22 01:20:55 +00:00
libbuild.sh ci: explicitly pass --sysconfdir=/etc to configure 2018-01-18 20:44:07 +00:00