[Fedora-packaging] Re: -devel arch dependencies

Panu Matilainen pmatilai at laiskiainen.org
Thu Apr 12 12:29:09 UTC 2007

On Thu, 12 Apr 2007, Axel Thimm wrote:

> On Wed, Apr 11, 2007 at 03:04:54PM -0600, Orion Poplawski wrote:
>> Here's a question.  Should -devel package requirements be of the form:
>> Requires: package-devel.%{arch}
> Maybe it makes more sense to disallow rpm from satisfying cross-arch
> dependencies at all. noarch belongs to all archs in this
> sense. E.g. in the noarch, i386, x86_64 world, don't allow i386
> packages to satisfy depednencies of x86_64 and vice-versa.

That doesn't quite fly either, it's perfectly valid for a package to 
require eg "webclient" for viewing html content and the app doesn't care 
if the client is 32bit or 64bit, just as long as it does the job.

>> I ask because of the following:
>> # yum list libX11-devel
>> Loading "installonlyn" plugin
>> Setting up repositories
>> Reading repository metadata in from local files
>> Excluding Packages from Fedora Core 6 - x86_64 - Updates
>> Finished
>> Installed Packages
>> libX11-devel.i386                        1.0.3-6.fc6            installed
>> Available Packages
>> libX11-devel.x86_64                      1.0.3-7.fc6            updates
>> libX11-devel.i386                        1.0.3-7.fc6            updates
>> [root at apollo ~]# rpm -e libX11-devel
>> error: Failed dependencies:
>>         libX11-devel is needed by (installed) libXpm-devel-3.5.5-3.x86_64
>>         libX11-devel is needed by (installed)
>> libXt-devel-1.0.2-3.1.fc6.x86_64
>>         libX11-devel is needed by (installed) libXmu-devel-1.0.2-5.x86_64
>>         libX11-devel is needed by (installed)
>> libXext-devel-1.0.1-2.1.x86_64
>>         libX11-devel is needed by (installed)
>> mesa-libGL-devel-6.5.1-9.fc6.x86_64
>>         libX11-devel is needed by (installed) libXpm-devel-3.5.5-3.i386
>>         libX11-devel is needed by (installed)
>> libXt-devel-1.0.2-3.1.fc6.i386
>>         libX11-devel is needed by (installed) libXext-devel-1.0.1-2.1.i386
>> Should the libXpm-devel-3.5.5-3.x86_64 requirement for "libX11-devel" be
>> satisfied by libX11-devel.i386?  The needed libraries won't be there for
>> linking.
>> Can this be done in packaging, or does this need to be done in rpm?

I don't see why it couldn't be done in packaging with something like
"Provides: %{name}.%{_arch} = %{version}-%{release}" in the main package 
and "Requires: %{name}.%{_arch} = %{version}-%{release}" in the -devel 
package.. or some similar manual construct.

Whether requiring yet more manual cruft to be added to almost each and 
every package is desirable or feasible is a whole another question :)

 	- Panu -

More information about the packaging mailing list