On 5 May 2012 21:53, Paul Howarth <paul(a)city-fan.org> wrote:
On Sat, 5 May 2012 21:32:49 +0100
Jonathan Underwood <jonathan.underwood(a)gmail.com> wrote:
> I am trying to build djview4 for el6. The spec file has a
> BuildRequires: qt-devel >= 4.2. However, for some reason during
> package building qt3.3-devel is pulled in (both on the builders and in
> mock). I notice that:
> $ rpm -q --provides qt3-devel
> qt-devel = 1:3.3.8b-30.el6
> qt3-devel = 3.3.8b-30.el6
> which seems slightly weird, but I'd still not expect that to satisfy
> the BuildRequires for qt-devel, since I'm requiring >= 4.2.
1:3.3.8b > 0:4.2, so the requirement is satisfied.
Aha, mystery solved, thanks. So, it was the epoch.
> Looking at qt4-devel I see it provides (amongst other things):
> qt4-devel = 4.6.2-20.el6
> qt-devel = 1:4.6.2-20.el6
> So, why isn't this being pulled in? Is it because of the epoch?
Given that both packages satisfy the requirement, I'd bet yum is
picking qt-devel rather than qt4-devel by virtue of its shorter name.
> why isn't the build simply failing at satisfying the BuildRequires?
> (It fails later on during %build for related reasons). Is this a bug
> with the qt3.3 package?
BuildRequire: qt4-devel >= 4.2
should do what you want.
Yep, that's what I did, thanks.
I tend to think that qt3-devel providing qt-devel is a bit of a
packaging bug. But, I suppose requiring qt4-devel is safer and the
correct thing to do in any case.