Le dimanche 31 octobre 2004 à 09:22 +0100, Arjan van de Ven a écrit :
> What happens when you remove it from the spec? The Provides:
kernel = %{version}
> occurs twice (once for up and once for %package smp) Do you want to have
> the = %{version} taken off or just the whole Provides?
the smp kernel has to provide a "kernel" with version as well; there's
several packages that do "Requires: kernel > <someversion>" and smp
has
to satisfy that requirement.
Right. But why to provide "kernel = %{version}" and not
"kernel = %{version}-%{release}" for the kernel-smp package ?
$ rpm -q --provides kernel
kernel-drm = 4.3.0
kernel = 2.6.9-1.649.mat.1
kernel-drm = 4.3.0
kernel = 2.6.9-1.643.mat.1
$ rpm -q --requires -p kernel-module-unicorn-eth-0.8.7-
mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686.rpm
/bin/sh
/sbin/depmod
kernel > 2.6.9
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm -ivh --fileconflicts
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686.rpm
error: Failed dependencies:
kernel > 2.6.9 is needed by
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686
Add the Red Hat :
$ rpm -q --provides kernel
kernel-drm = 4.3.0
kernel = 2.6.9-1.649.mat.1
kernel-drm = 4.3.0
kernel = 2.6.9-1.643.mat.1
kernel = 2.6.9 <===
kernel-drm = 4.3.0
kernel = 2.6.9-1.649
$ rpm -ivh --fileconflicts
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686.rpm
error: Failed dependencies:
kernel > 2.6.9 is needed by
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686
Build a new kernel-module-unicorn-eth with "Requires: kernel > 2.6.8"
Remove the Red Hat kernel.
$ rpm -q --provides kernel
kernel-drm = 4.3.0
kernel = 2.6.9-1.649.mat.1
kernel-drm = 4.3.0
kernel = 2.6.9-1.643.mat.1
$ rpm -q --requires -p
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686.rpm
/bin/sh
/sbin/depmod
kernel > 2.6.8
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm -i --fileconflicts
kernel-module-unicorn-eth-0.8.7-mat.1_2.6.9_1.649.mat.1_2.6.9_1.649.mat.1.i686.rpm
$
Fine.
Do the same but with "Requires: kernel = 2.6.9" in kernel-module-module-eth.
Works as expected.
So, I don't understand your point.
kernel-2.6.spec should have :
%package smp
Provides: kernel = %{version}-%{release}
and not :
Provides: kernel = %{version}
I don't test with kernel-smp, but I can to do it if you want. I would to
rebuild a kernel.