//  
BlueQuartz.US Forum Index HOME
BlueQuartz.US
Open Source Info for Open Source Users
RegisterRegister 
MemberlistMemberlist
UsergroupsUsergroups
FAQFAQ   
SearchSearch
SubscriptionsSubscriptions
ProfileProfile   
Private messagesPrivate messages   
Log inLog in 
Are You Paying More Than Wholesale For Your Names?   Join the Hottest Domain Name Reseller Program Around!

 
Post new topic   Reply to topic    BlueQuartz.US Forum Index -> Yum Development
 how to require a kernel module Previous Topic
Next Topic
Message Author
PostPosted: Mon Mar 08, 2010 7:36 am    
Subject: how to require a kernel module
Reply with quote  
Farkas Levente

hi,
on rhel/centos-5w we've a lot's of kernel module (thanks to the elrepo)
and we can build our own on a nearly standardized way for rhel/centos.
but i now run into a problem how to add a require kmod line into another
package's spec file. it seems to very easy, if i've got package x.spec:
Requires: y-kmod
first question whether y-kmod or kmod-y (tha package name or the virtual
provides)? and if we go a bit further and have a i386 machine with 4gb
ram which install by default kernel-PAE and like to install x into that
machine i wish to pull (yum pull) kmod-x-PAE and not kmod-x since it
can't be used on a PAE kernel. what's more if x pull kmod-y that also
pull the none PAE kernel too which is also not a good think. there are
two plugins in yum-utils yum-kernel-module and yum-fedorakmod, but none
of the seems to working (yum-fedorakmod instal the proper kmod-x-PAE too
if i set installforallkernels=1, but still install the non PAE one and
the none PAE kernel too).

so what's the good and proper solution to require y kernel module into
package x (in a way that works with yum on all kernel variant)?

i even like to modify any of the yum-kernel-module or yum-fedorakmod to
be able to use, but the problem is that i can't write conditional
requires in a package spec file which depend on the runtime kernel
variant:-(

if there would be some tricky yum plugins which do this:
- if yum needs to install a package
- check whether the package provide kabi-module or kernel-module. if yes
it's a kernel module.
- if it's a kernel module than check the currently running kernel (and
optionally all installed kernel) and install the proper kernel module
variant. eg. if the running kernel is:
- kernel-2.6.18-164.11.1.el5 then install kmod-ocfs2
- kernel-PAE-2.6.18-164.11.1.el5 then install kmod-ocfs2-PAE

anybody has any solution to this?
thanks in advance.
regards.

--
Levente "Si vis pacem para bellum!"
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Tue Mar 09, 2010 6:09 pm    
Subject: how to require a kernel module
Reply with quote  
Jack Neely

On Mon, Mar 08, 2010 at 01:30:34PM +0100, Farkas Levente wrote:
Quote:
hi,
on rhel/centos-5w we've a lot's of kernel module (thanks to the elrepo)
and we can build our own on a nearly standardized way for rhel/centos.
but i now run into a problem how to add a require kmod line into another
package's spec file. it seems to very easy, if i've got package x.spec:
Requires: y-kmod
first question whether y-kmod or kmod-y (tha package name or the virtual
provides)? and if we go a bit further and have a i386 machine with 4gb
ram which install by default kernel-PAE and like to install x into that
machine i wish to pull (yum pull) kmod-x-PAE and not kmod-x since it
can't be used on a PAE kernel. what's more if x pull kmod-y that also
pull the none PAE kernel too which is also not a good think. there are
two plugins in yum-utils yum-kernel-module and yum-fedorakmod, but none
of the seems to working (yum-fedorakmod instal the proper kmod-x-PAE too
if i set installforallkernels=1, but still install the non PAE one and
the none PAE kernel too).

so what's the good and proper solution to require y kernel module into
package x (in a way that works with yum on all kernel variant)?

i even like to modify any of the yum-kernel-module or yum-fedorakmod to
be able to use, but the problem is that i can't write conditional
requires in a package spec file which depend on the runtime kernel
variant:-(

if there would be some tricky yum plugins which do this:
- if yum needs to install a package
- check whether the package provide kabi-module or kernel-module. if yes
it's a kernel module.
- if it's a kernel module than check the currently running kernel (and
optionally all installed kernel) and install the proper kernel module
variant. eg. if the running kernel is:
- kernel-2.6.18-164.11.1.el5 then install kmod-ocfs2
- kernel-PAE-2.6.18-164.11.1.el5 then install kmod-ocfs2-PAE

anybody has any solution to this?
thanks in advance.
regards.


For RHEL5-ish systems still using the kmod v1 standard, you need to
require "foo-kmod". That's the virtual provides that all the variants
should provide.

Yum/RPM don't know how to properly dep solve that without the
yum-fedorakmod plugin. Yes, the installforallkernels=1 will make sure
that the other matching variants are installed for each kernel.

However, if kmod-foo gets in the transaction set, the fedorakmod plugin
doesn't know to remove it if the normal kernel package isn't installed.
Which probably means the normal kernel package gets sucked into the
transaction set as well in some cases.

Although, fair warning: There is also the kmod v2 standard used by the
rpmfusion folks and friends for current Fedora releases which handles
this a little better. (I've not yet fixed fedorakmod to work with their
corner cases so currently it doesn't work for kmod v2. However, kmod v2
is much more functional with out yum plugins.)

Jack Neely

--
Jack Neely <jjneely@ncsu.edu>
Linux Czar, OIT Campus Linux Services
Office of Information Technology, NC State University
GPG Fingerprint: 1917 5AC1 E828 9337 7AA4 EA6B 213B 765F 3B6A 5B89
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 6:56 am    
Subject: how to require a kernel module
Reply with quote  
Farkas Levente

On 03/09/2010 11:55 PM, Jack Neely wrote:
Quote:
On Mon, Mar 08, 2010 at 01:30:34PM +0100, Farkas Levente wrote:
Quote:
hi,
on rhel/centos-5w we've a lot's of kernel module (thanks to the elrepo)
and we can build our own on a nearly standardized way for rhel/centos.
but i now run into a problem how to add a require kmod line into another
package's spec file. it seems to very easy, if i've got package x.spec:
Requires: y-kmod
first question whether y-kmod or kmod-y (tha package name or the virtual
provides)? and if we go a bit further and have a i386 machine with 4gb
ram which install by default kernel-PAE and like to install x into that
machine i wish to pull (yum pull) kmod-x-PAE and not kmod-x since it
can't be used on a PAE kernel. what's more if x pull kmod-y that also
pull the none PAE kernel too which is also not a good think. there are
two plugins in yum-utils yum-kernel-module and yum-fedorakmod, but none
of the seems to working (yum-fedorakmod instal the proper kmod-x-PAE too
if i set installforallkernels=1, but still install the non PAE one and
the none PAE kernel too).

so what's the good and proper solution to require y kernel module into
package x (in a way that works with yum on all kernel variant)?

i even like to modify any of the yum-kernel-module or yum-fedorakmod to
be able to use, but the problem is that i can't write conditional
requires in a package spec file which depend on the runtime kernel
variant:-(

if there would be some tricky yum plugins which do this:
- if yum needs to install a package
- check whether the package provide kabi-module or kernel-module. if yes
it's a kernel module.
- if it's a kernel module than check the currently running kernel (and
optionally all installed kernel) and install the proper kernel module
variant. eg. if the running kernel is:
- kernel-2.6.18-164.11.1.el5 then install kmod-ocfs2
- kernel-PAE-2.6.18-164.11.1.el5 then install kmod-ocfs2-PAE

anybody has any solution to this?
thanks in advance.
regards.


For RHEL5-ish systems still using the kmod v1 standard, you need to
require "foo-kmod". That's the virtual provides that all the variants
should provide.

Yum/RPM don't know how to properly dep solve that without the
yum-fedorakmod plugin. Yes, the installforallkernels=1 will make sure
that the other matching variants are installed for each kernel.

However, if kmod-foo gets in the transaction set, the fedorakmod plugin
doesn't know to remove it if the normal kernel package isn't installed.
Which probably means the normal kernel package gets sucked into the
transaction set as well in some cases.

if you wrote the yum-fedorakmod plugin than you can help me:-)
in elrepo:
http://elrepo.org/tiki/tiki-index.php
we use kabi tracking kernel modules since all rhel kernel are kabi
compatible with eachother (which is not true for fedora, but a nice
feature in the enterprise target), so don't have to rebuild for each
kernel. for the same reason it's not provide "kernel-modules" but
provides "kabi-modules".
the problem
- even if i require the virtual provides foo-kmod and
- even if i have installed yum-fedorakmod plugin and
- even if i only have installed kernel-PAE (ie. not the normal kernel)
yum still install the kmod-foo (and not only kmod-foo-PAE) and because
of this it will pull also the normal kernel too.
so i'd like to install one such yum plugin which solve this problem and
somehow install the proper kernel-variant kmod-foo packages.

can you help me in this? if we can have such a yum plugin it can be add
to elrepo so everybody can use it on all rhel/centos where elrepo used.

thanks in advance.

--
Levente "Si vis pacem para bellum!"
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 10:49 am    
Subject: how to require a kernel module
Reply with quote  
Jack Neely

On Thu, Mar 11, 2010 at 12:56:20PM +0100, Farkas Levente wrote:
Quote:
On 03/09/2010 11:55 PM, Jack Neely wrote:
Quote:
On Mon, Mar 08, 2010 at 01:30:34PM +0100, Farkas Levente wrote:
Quote:
hi,
on rhel/centos-5w we've a lot's of kernel module (thanks to the elrepo)
and we can build our own on a nearly standardized way for rhel/centos.
but i now run into a problem how to add a require kmod line into another
package's spec file. it seems to very easy, if i've got package x.spec:
Requires: y-kmod
first question whether y-kmod or kmod-y (tha package name or the virtual
provides)? and if we go a bit further and have a i386 machine with 4gb
ram which install by default kernel-PAE and like to install x into that
machine i wish to pull (yum pull) kmod-x-PAE and not kmod-x since it
can't be used on a PAE kernel. what's more if x pull kmod-y that also
pull the none PAE kernel too which is also not a good think. there are
two plugins in yum-utils yum-kernel-module and yum-fedorakmod, but none
of the seems to working (yum-fedorakmod instal the proper kmod-x-PAE too
if i set installforallkernels=1, but still install the non PAE one and
the none PAE kernel too).

so what's the good and proper solution to require y kernel module into
package x (in a way that works with yum on all kernel variant)?

i even like to modify any of the yum-kernel-module or yum-fedorakmod to
be able to use, but the problem is that i can't write conditional
requires in a package spec file which depend on the runtime kernel
variant:-(

if there would be some tricky yum plugins which do this:
- if yum needs to install a package
- check whether the package provide kabi-module or kernel-module. if yes
it's a kernel module.
- if it's a kernel module than check the currently running kernel (and
optionally all installed kernel) and install the proper kernel module
variant. eg. if the running kernel is:
- kernel-2.6.18-164.11.1.el5 then install kmod-ocfs2
- kernel-PAE-2.6.18-164.11.1.el5 then install kmod-ocfs2-PAE

anybody has any solution to this?
thanks in advance.
regards.


For RHEL5-ish systems still using the kmod v1 standard, you need to
require "foo-kmod". That's the virtual provides that all the variants
should provide.

Yum/RPM don't know how to properly dep solve that without the
yum-fedorakmod plugin. Yes, the installforallkernels=1 will make sure
that the other matching variants are installed for each kernel.

However, if kmod-foo gets in the transaction set, the fedorakmod plugin
doesn't know to remove it if the normal kernel package isn't installed.
Which probably means the normal kernel package gets sucked into the
transaction set as well in some cases.

if you wrote the yum-fedorakmod plugin than you can help me:-)
in elrepo:
http://elrepo.org/tiki/tiki-index.php
we use kabi tracking kernel modules since all rhel kernel are kabi
compatible with eachother (which is not true for fedora, but a nice
feature in the enterprise target), so don't have to rebuild for each
kernel. for the same reason it's not provide "kernel-modules" but
provides "kabi-modules".
the problem
- even if i require the virtual provides foo-kmod and
- even if i have installed yum-fedorakmod plugin and
- even if i only have installed kernel-PAE (ie. not the normal kernel)
yum still install the kmod-foo (and not only kmod-foo-PAE) and because
of this it will pull also the normal kernel too.
so i'd like to install one such yum plugin which solve this problem and
somehow install the proper kernel-variant kmod-foo packages.

can you help me in this? if we can have such a yum plugin it can be add
to elrepo so everybody can use it on all rhel/centos where elrepo used.

thanks in advance.


I'm sorry, but fedorakmod support the kmod v1 standard which is not the
kabi stuff. (Although, Red Hat made the kabi packages look just like
the other kmod packages which I didn't really like.) Jon Masters made
some alterations to the fedorakmod plugin that shipped in RHEL5 in the
yum-kmod package. I don't know how well those work however.

Jack

--
Jack Neely <jjneely@ncsu.edu>
Linux Czar, OIT Campus Linux Services
Office of Information Technology, NC State University
GPG Fingerprint: 1917 5AC1 E828 9337 7AA4 EA6B 213B 765F 3B6A 5B89
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 11:03 am    
Subject: how to require a kernel module
Reply with quote  
James Antill

On Thu, 2010-03-11 at 12:56 +0100, Farkas Levente wrote:

Quote:
- even if i only have installed kernel-PAE (ie. not the normal kernel)
yum still install the kmod-foo (and not only kmod-foo-PAE) and because
of this it will pull also the normal kernel too.

The command "yum install kmod-foo" matches a single package, which can
be installed. It's highly unlikely we'd ever make that actually install
something other than kmod-foo.
The command "yum install foo-kmod" should be a virtual provide, which
is provided by both kmod-foo and kmod-foo-PAE. However, even in this
case, there isn't any information that yum will use to determine that
"kmod-foo-PAE" is better. I think, if you used --skip-broken and added a
local conflict with kmod-foo, you could get yum to do the right thing
(but I doubt setting that up is easier than just telling the user to
install the correct package).

In theory yum will eventually take into account that of the providers
for foo-kmod one requires less other things to be installed ... however
this is almost certainly not going to happen in RHEL-5 (even if the code
gets written).

--
James Antill - james@fedoraproject.org
http://yum.baseurl.org/wiki/releases
http://yum.baseurl.org/wiki/whatsnew/3.2.27
http://yum.baseurl.org/wiki/YumMultipleMachineCaching
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 12:15 pm    
Subject: how to require a kernel module
Reply with quote  
James Antill

On Thu, 2010-03-11 at 18:00 +0100, Farkas Levente wrote:

Quote:
and this means currently it's not possible to install any rhel-5 i386
server with more then 2GB or ram from kickstart when any of the packages
require any kmod package:-(

You probably can't use a single kickstart file for <2GB and >2GB,
requiring the kmod in the kickstart and not have both installed ... no.
But you can change some of the other variables, like having a kickstart
for PAE only or always installing both versions of the kmod.
If you want this "fixed" for RHEL-6 then you'll want to open a bug/RFE
asap. through support.

--
James Antill - james@fedoraproject.org
http://yum.baseurl.org/wiki/releases
http://yum.baseurl.org/wiki/whatsnew/3.2.27
http://yum.baseurl.org/wiki/YumMultipleMachineCaching
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 12:33 pm    
Subject: how to require a kernel module
Reply with quote  
Jon Masters

On Thu, 2010-03-11 at 12:15 -0500, James Antill wrote:
Quote:
On Thu, 2010-03-11 at 18:00 +0100, Farkas Levente wrote:

Quote:
and this means currently it's not possible to install any rhel-5 i386
server with more then 2GB or ram from kickstart when any of the packages
require any kmod package:-(

You probably can't use a single kickstart file for <2GB and >2GB,
requiring the kmod in the kickstart and not have both installed ... no.
But you can change some of the other variables, like having a kickstart
for PAE only or always installing both versions of the kmod.
If you want this "fixed" for RHEL-6 then you'll want to open a bug/RFE
asap. through support.

Indeed. I haven't really had a lot of complaints about this issue. I
know that it's not quite ideal, but it's rare that people want to mix
kernels like this. I know we have various things under the name "kmod"
at this point, and we have discussed some kind of reconciliation. Part
of the problem is that Fedora absolutely does not want to do kmods.

Jon.


_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
PostPosted: Thu Mar 11, 2010 12:33 pm    
Subject: how to require a kernel module
Reply with quote  
Farkas Levente

On 03/11/2010 04:49 PM, Jack Neely wrote:
Quote:
I'm sorry, but fedorakmod support the kmod v1 standard which is not the
kabi stuff. (Although, Red Hat made the kabi packages look just like
the other kmod packages which I didn't really like.) Jon Masters made
some alterations to the fedorakmod plugin that shipped in RHEL5 in the
yum-kmod package. I don't know how well those work however.


On 03/11/2010 05:03 PM, James Antill wrote:
Quote:
On Thu, 2010-03-11 at 12:56 +0100, Farkas Levente wrote:

Quote:
- even if i only have installed kernel-PAE (ie. not the normal kernel)
yum still install the kmod-foo (and not only kmod-foo-PAE) and because
of this it will pull also the normal kernel too.

The command "yum install kmod-foo" matches a single package, which can
be installed. It's highly unlikely we'd ever make that actually install
something other than kmod-foo.
The command "yum install foo-kmod" should be a virtual provide, which
is provided by both kmod-foo and kmod-foo-PAE. However, even in this
case, there isn't any information that yum will use to determine that
"kmod-foo-PAE" is better. I think, if you used --skip-broken and added a
local conflict with kmod-foo, you could get yum to do the right thing
(but I doubt setting that up is easier than just telling the user to
install the correct package).

In theory yum will eventually take into account that of the providers
for foo-kmod one requires less other things to be installed ... however
this is almost certainly not going to happen in RHEL-5 (even if the code
gets written).

and this means currently it's not possible to install any rhel-5 i386
server with more then 2GB or ram from kickstart when any of the packages
require any kmod package:-(
because in this case anaconda will choose kernel-PAE by default (and
this will be the default entry in grub). and if bar requires foo-kmod,
then it will pull _only_ kmod-foo which of course pull normal kernel
(but still the default will be kernel-PAE). and either you'd have to
change grub's default and only use less memory or manually install the
required PAE version kmod packages:-(((


--
Levente "Si vis pacem para bellum!"
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel
Back to top
Display posts from previous:   
Post new topic   Reply to topic    BlueQuartz.US Forum Index -> Yum Development All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group