DevHeads.net

Problems with the %{?_isa} macro in dependencies

Hi,

I have tried using the %{_isa} macro in a couple of my packages as
instructed in
<http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires>
and I'm having problems with it.

First case:
The arch-specific libvoikko spell checking package requires the Finnish
morphology, which is in the arch-specific malaga-suomi-voikko package. I
did the following change (the versioned dependency was unnecessary):
-Requires: malaga-suomi-voikko >= 1.4
+Requires: malaga-suomi-voikko%{?_isa}

Now AutoQA's depcheck says there is a problem with the i686 dependency
on x86_64:
<http://autoqa.fedoraproject.org/results/198794-autotest/10.5.124.164/depcheck/results/libvoikko-3.3.1-0.2..html>

"SKIPBROKEN: libvoikko-3.3.1-0.2.rc1.fc16.i686 from pending has
depsolving problems
SKIPBROKEN: --> Package: libvoikko-3.3.1-0.2.rc1.fc16.i686 (pending)
--> Requires: malaga-suomi-voikko(x86-32)"

Second case:
I'm renaming the openoffice.org-voikko package to libreoffice-voikko.
Review request: <https://bugzilla.redhat.com/show_bug.cgi?id=739331>,
spec: <http://vpv.fedorapeople.org/packages/libreoffice-voikko.spec>.

The Provides and Obsoletes are as follows:
Provides: openoffice.org-voikko = %{version}-%{release}
Obsoletes: openoffice.org-voikko < 3.1.2-6

This works, but if I change the Obsoletes to
Obsoletes: openoffice.org-voikko%{?_isa} < 3.1.2-6
then the package does not obsolete openoffice.org-voikko any more, which
results in file conflicts.

Could someone please explain what's going on here?

Comments

Re: Problems with the %{?_isa} macro in dependencies

By Jussi Lehtola at 09/25/2011 - 12:49

On Sun, 25 Sep 2011 18:55:42 +0300
Ville-Pekka Vainio < ... at iki dot fi> wrote:
Libraries are multilib'd. malaga-suomi-voikko only contains data
files (in arch specific directories), thus it isn't multilib'd => the
32-bit data package isn't available on x86_64 and you get the
dependency problem.

The obsolete doesn't work, since then you're not obsoleting the
package, instead you're obsoleting what the package provides:
$ rpm -q openoffice.org-voikko
openoffice.org-voikko-3.1.2-3.fc15.x86_64
$ rpm -q --provides openoffice.org-voikko
voikko.so()(64bit)
voikko.so(UDK_3_0_0)(64bit)
openoffice.org-voikko = 3.1.2-3.fc15
openoffice.org-voikko(x86-64) = 3.1.2-3.fc15

Re: Problems with the %{?_isa} macro in dependencies

By Ville-Pekka Vainio at 09/25/2011 - 13:36

Thanks for the advice! I've made a libvoikko build without the %{_isa}
macro in the malaga-suomi-voikko dependency.