_kernver=`uname -r`
for r in /lib/modules/*; do
s=${r:13}
if [[ ${s:0:3} = "ext" ]]; then
if [[ `cat ${r}/version | grep -c ${_kernver}` != 0 ]]; then
_destidir=${s}
fi
elif [[ ${s} = ${_kernver} ]] && [[ ! -e ${r}/extramodules ]]; then
_destidir=${_kernver}/video
fi
done
install -m755 -d "${pkgdir}/lib/modules/${_destidir}/" || return 1
install -m644 fglrx.ko "${pkgdir}/lib/modules/${_destidir}/" || return 1
It should to work with new extramodules dir (module lands directly into this dir) and also with older kernel's style. The 's' variable is not actually needed here (it can be removed but then it has to be changed with modified 'r'), but i used it in generator (it is needed only there) from which i started update (i knew generator will be the hardest one so i begin with it) and then just copied it into other packages... If you think it's fine feel free to use it
]]>@.:B:.: Agree. rebuild of the modules is what I want, and I get that with the new virtualbox-source package.
]]>You are only about to cause yourself a lot of trouble. Your question is not related to the new policy concerning out-of-tree modules; in fact, you needed to build different modules with the old kernels as well.
]]>Pacman already gave you this information when you upgraded virtualbox.
]]>[40763.450573] vboxdrv: version magic '3.1.0-3-ARCH SMP preempt mod_unload modversions ' should be '3.1.0-4-64bit SMP preempt mod_unload '
Is there any way around this?
]]>Vi0L0 wrote:Am i missing something here or now all "extra modules" must to be recompiled with every little kernel update?
you are missing the point of extramodules. see my explanation
Ahhh, i see now... But then how can i put extra module directly into extramodules directory with some automatic script? How can i get the exact name of extramodules directory if even linux's PKGBUILD is using "extramodules-${_basekernel}${_kernelname:--ARCH}" which is useless for me? Even virtualbox-source is using old way of placing vbox modules
Guess that i need to get some chars from `uname -r` to get such exact name of extramodules directory, like first 3 chars (3.1) and the last chars that came with and after last "-" char (-ARCH) - that will gave me 3.1-ARCH, and before this string i would have to put "extramodules-" to get full dir name.
But then all AUR's maintainers have to use such naming convention of extramodules directory - now ie. linux-mainline is imho using extramodules dir in a bad way because it is creating /lib/modules/extramodules-3.2-rc1-mainline
Or maybe you have got some better idea?
EDIT: ok, let's just forget about this questions :>
]]>Am i missing something here or now all "extra modules" must to be recompiled with every little kernel update?
you are missing the point of extramodules. see my explanation
]]>to avoid recompiling external modules, those are installed in that directory, directory which has a symlink in /lib/modules/<kernel>/extramodules
]]>The title said it all.
What's the need for "extramodules-<kernel>" directory under /lib/modules?
Vlad
]]>