On Fri, Dec 14, 2018 at 2:50 PM Igor Gnatenko
<ignatenkobrain(a)fedoraproject.org> wrote:
On Fri, Dec 14, 2018 at 8:45 PM Neal Gompa <ngompa13(a)gmail.com> wrote:
>
> On Fri, Dec 14, 2018 at 2:34 PM Igor Gnatenko
> <ignatenkobrain(a)fedoraproject.org> wrote:
> >
> > Hello folks,
> >
> > for long time we have problem if you have some arch-specific
> > BuildRequires, you still get one src.rpm from one of arches (not sure
> > how koji chooses that one) which might not work for your architecture.
> >
> > For example if you have following in spec:
> > %ifarch %{ldc_arches}
> > BuildRequires: ldc
> > %endif
> >
> > And the src.rpm is taken by koji from x86_64 (included in
> > %{ldc_arches}), then you won't be able to run `dnf builddep foo`,
> > because it will complain that ldc package is missing.
> >
> > PROPOSAL:
> > 1. make fedora-release archful
> > 2. add Provides: system-architecture($arch) to fedora-release, where
> > $arch is architecture name
> > 3. use Requires: (foo if (system-architecture(x86_64) or
> > system-architecture(i686))) in packages
> >
> > What do you think? Any suggestions are welcome!
>
> In Mageia, we just had the package manager generate virtual Provides
> for those things, so that packages can use that. Why wouldn't we just
> make RPM/DNF do the same thing?
What exactly does it generate & where?
urpmi makes a virtual "arch($ARCH)" provide exist that packages can
reference. Mageia kernel packages use that to ensure 32-bit kernels
aren't installed on 64-bit environments and vice versa, among other
things. It's basically the equivalent of a solvable in libsolv.
--
真実はいつも一つ!/ Always, there's only one truth!