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@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 -
--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging