[PATCH] kernel.spec: let flavors/variants end with "-$flavor" in the uname

Harald Hoyer harald at redhat.com
Wed Jun 12 09:59:07 UTC 2013


On 06/11/2013 08:44 PM, Thorsten Leemhuis wrote:
> Hi!
> 
> Me again with another comment:
> 
> On 11.06.2013 16:44, harald at redhat.com wrote:
>> From: Harald Hoyer <harald at redhat.com>
>> [...]
>> -Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:.%{1}}\
>> +Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:-%{1}}\
> 
> Is it really wise to use a "-" here? You can not have a "-" in either
> %{version} or %{release}, to afaics make sure everything can parse a rpm
> nvr from right to left: %{version} is between second rightmost dash and
> the rightmost dash; %{release} follows the rightmost dash.
> 
> I'm sure you tested it, so I assume rpm doesn't enforce this rule to
> virtual provides. But something tells me this might create more problems
> then is solves. Did anyone ask the rpm and yum guys if this is a good idea?
> 
> Cu
> knurd
> 

Hmm... seems to work here. yum and rpm seem to be able to cope with it. Of
course we could also use another separation char, if wanted.

$ rpm -qp --provides \
  kernel-debug-3.10.0-0.rc4.git0.2.fc20.x86_64.rpm
kernel = 3.10.0-0.rc4.git0.2.fc20
kernel-debug = 3.10.0-0.rc4.git0.2.fc20
kernel-debug(x86-64) = 3.10.0-0.rc4.git0.2.fc20
kernel-drm = 4.3.0
kernel-drm-nouveau = 16
kernel-highbank
kernel-highbank-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug
kernel-modeset = 1
kernel-omap
kernel-omap-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug
kernel-tegra
kernel-tegra-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug
kernel-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug
kernel-x86_64 = 3.10.0-0.rc4.git0.2.fc20-debug
linux-gate.so.1
linux-gate.so.1(LINUX_2.5)
linux-vdso.so.1()(64bit)
linux-vdso.so.1(LINUX_2.6)(64bit)


$ rpm -qp --requires \
  kernel-debug-modules-extra 3.10.0-0.rc4.git0.2.fc20.x86_64.rpm
kernel-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug
/bin/sh
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1


$ sudo rpm -ivh \
  kernel-debug-modules-extra-3.10.0-0.rc4.git0.2.fc20.x86_64.rpm
error: Failed dependencies:
	kernel-uname-r = 3.10.0-0.rc4.git0.2.fc20.x86_64-debug is needed by
kernel-debug-modules-extra-3.10.0-0.rc4.git0.2.fc20.x86_64

$ sudo rpm -ivh \
  kernel-debug-modules-extra-3.10.0-0.rc4.git0.2.fc20.x86_64.rpm \
  kernel-debug-3.10.0-0.rc4.git0.2.fc20.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:kernel-debug-3.10.0-0.rc4.git0.2.################################# [ 50%]
   2:kernel-debug-modules-extra-3.10.0################################# [100%]


On a side node :), why is kernel-debug.x86_64 providing kernel-tegra and
kernel-omap ??? :)


More information about the kernel mailing list