Ned Slider wrote:
Farkas Levente wrote:
hi, it'd be nice to write some kind of docs about how to write kmod packages for centos. as i wrote in one of my earlier post there are two problems currently with the weak-updates kmods:
kmodtool shouldn't have to add to all packages rather use the /usr/lib/rpm/redhat/kmodtool from redhat-rpm-config ie:
@@ -1,7 +1,6 @@ -Source10: kmodtool Source11: find-requires Source12: find-requires.ksyms -%define kmodtool bash %{SOURCE10}
+%define kmodtool bash /usr/lib/rpm/redhat/kmodtool
and add: BuildRequires: redhat-rpm-config
Hi Farkas,
There is some information on building kABI tracking kmod packages in the BuildingKernelModules page on the Wiki:
http://wiki.centos.org/HowTos/BuildingKernelModules#head-b86b6eec08d5719cf18...
the only problem it's outdated.
Unless I misunderstand your proposal above, one reason I have found for including a custom kmodtool-foo source script with your kmod is for satisfying Requires. For example, putting:
Requires: foo-bar >= 1.2.3
in the SPEC file for a kmod doesn't work. The Require needs to be added to the kmodtool script:
Requires(post): /sbin/depmod Requires(postun): /sbin/depmod *Requires: foo-bar >= 1.2.3* EOF
no it can be use with both kmodtool (redhat and included), the problem comes from the weak-updates style of kmod and the: %global _use_internal_dependency_generator 0 anyway it's another problem how to solve.
I came across this problem building some kmods that required a later version of lm_sensors. An example can be seen in this kmod package for the coretemp module:
http://www.pperry.f2s.com/linux/coretemp/
I'll admit I'm not an expert kmod packager, but placing the Requires in the kmodtool script was the only solution I found (actually either Johnny or Karanbir suggested it on IRC IIRC). In my case kmodtool-foo was simply a copy of /usr/lib/rpm/redhat/kmodtool with the necessary Requires added. If there's a simpler or more elegant solution then please do enlighten me :)
My next question would be if Requires: doesn't work in a kmod SPEC file, will
BuildRequires: redhat-rpm-config
work?
i hope so.