Problems with the %{?_isa} macro in dependencies

Jussi Lehtola jussilehtola at fedoraproject.org
Sun Sep 25 16:49:27 UTC 2011


On Sun, 25 Sep 2011 18:55:42 +0300
Ville-Pekka Vainio <vpvainio at iki.fi> wrote:
> 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}

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.

> 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.

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
-- 
Jussi Lehtola
Fedora Project Contributor
jussilehtola at fedoraproject.org


More information about the devel mailing list