Patchwork [meta-oe,meta-efl,meta-gpe,7/7] kernel.bbclass: Use kmod-native instead of module-init-tools-cross

login
register
mail settings
Submitter Martin Jansa
Date May 7, 2012, 7:17 p.m.
Message ID <5c22d88fe27592f4ef279e562cba063676f8d1fe.1336418115.git.Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/27235/
State Accepted
Commit 5c22d88fe27592f4ef279e562cba063676f8d1fe
Headers show

Comments

Martin Jansa - May 7, 2012, 7:17 p.m.
From: Khem Raj <raj.khem@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta-oe/classes/kernel.bbclass |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
Martin Jansa - May 7, 2012, 7:41 p.m.
On Mon, May 07, 2012 at 09:17:02PM +0200, Martin Jansa wrote:
> From: Khem Raj <raj.khem@gmail.com>

This is needed in meta-oe because without module-init-tools in oe-core
we get failures like this:

ERROR: Nothing PROVIDES 'virtual/arm-oe-linux-gnueabi-depmod' (but
/OE/shr-core/meta-smartphone/meta-openmoko/recipes-kernel/linux/linux-openmoko_3.2.bb,
/OE/shr-core/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-crespo_git.bb,
/OE/shr-core/meta-handheld/recipes-kernel/linux/linux_3.0.1.bb DEPENDS
on or otherwise requires it)
NOTE: Runtime target 'kernel' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['kernel',
'virtual/arm-oe-linux-gnueabi-depmod']

kmod recipes should be droped from meta-oe too to get rid of this
warning:
ERROR: Multiple .bb files are due to be built which each provide kmod
(/OE/shr-core/openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb
/OE/shr-core/meta-openembedded/meta-oe/recipes-kernel/kmod/kmod_git.bb).

I have patch for it in jansa/pull2 too, but
ERROR: Package version for package kmod went backwards which would break
package feeds from (0:git-r3 to
0:7+git02629fa02e96763db7460a930239cc93649a52f8-r0.0)
so we need PE bump preferably in oe-core.

And also libkmod*so.* is now packaged in kmod package not libkmod but that's
probably bug in oe-core recipe... because
FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS}"
and they are installed in ${libdir}.
probably that's from where this comment in kmod recipe comes from
# libdir = "${base_libdir}"

Cheers,

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta-oe/classes/kernel.bbclass |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass
> index 66398ef..b431f8e 100644
> --- a/meta-oe/classes/kernel.bbclass
> +++ b/meta-oe/classes/kernel.bbclass
> @@ -1,7 +1,7 @@
>  inherit linux-kernel-base module_strip
>  
>  PROVIDES += "virtual/kernel"
> -DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
> +DEPENDS += "virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
>  
>  # we include gcc above, we dont need virtual/libc
>  INHIBIT_DEFAULT_DEPS = "1"
> @@ -274,7 +274,7 @@ if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
>  	mkdir -p $D/lib/modules/${KERNEL_VERSION}
>  fi
>  if [ -n "$D" ]; then
> -	${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
> +	depmod -a -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
>  else
>  	depmod -a
>  fi
> @@ -352,9 +352,8 @@ python populate_packages_prepend () {
>  		if m:
>  			kernelver_stripped = m.group(1)
>  		path = d.getVar("PATH", True)
> -		host_prefix = d.getVar("HOST_PREFIX", True) or ""
>  
> -		cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped)
> +		cmd = "PATH=\"%s\" depmod -n -a -b %s -F %s/boot/System.map-%s %s" % (path, dvar, dvar, kernelver, kernelver_stripped)
>  		f = os.popen(cmd, 'r')
>  
>  		deps = {}
> -- 
> 1.7.8.6
>
Martin Jansa - May 7, 2012, 8:17 p.m.
On Mon, May 07, 2012 at 09:41:38PM +0200, Martin Jansa wrote:
> On Mon, May 07, 2012 at 09:17:02PM +0200, Martin Jansa wrote:
> > From: Khem Raj <raj.khem@gmail.com>
> 
> This is needed in meta-oe because without module-init-tools in oe-core
> we get failures like this:
> 
> ERROR: Nothing PROVIDES 'virtual/arm-oe-linux-gnueabi-depmod' (but
> /OE/shr-core/meta-smartphone/meta-openmoko/recipes-kernel/linux/linux-openmoko_3.2.bb,
> /OE/shr-core/meta-smartphone/meta-samsung/recipes-kernel/linux/linux-samsung-crespo_git.bb,
> /OE/shr-core/meta-handheld/recipes-kernel/linux/linux_3.0.1.bb DEPENDS
> on or otherwise requires it)
> NOTE: Runtime target 'kernel' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['kernel',
> 'virtual/arm-oe-linux-gnueabi-depmod']
> 
> kmod recipes should be droped from meta-oe too to get rid of this
> warning:
> ERROR: Multiple .bb files are due to be built which each provide kmod
> (/OE/shr-core/openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb
> /OE/shr-core/meta-openembedded/meta-oe/recipes-kernel/kmod/kmod_git.bb).
> 
> I have patch for it in jansa/pull2 too, but
> ERROR: Package version for package kmod went backwards which would break
> package feeds from (0:git-r3 to
> 0:7+git02629fa02e96763db7460a930239cc93649a52f8-r0.0)
> so we need PE bump preferably in oe-core.

This seems to be fine for opkg.. only buildhistory doesn't play nice
with gitpkgv.bbclass, because actual version was 7-r3 and opkg upgrades
it on target (this is after "fixing" libkmod packaging by including
libdir as well as base_libdir pattern..)
Upgrading libkmod2 on root from 7-r3 to
7+git02629fa02e96763db7460a930239cc93649a52f8-r0.0...

And
CONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
should be probably
RCONFLICTS_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"
RREPLACES_${PN} += "module-init-tools-insmod-static module-init-tools-depmod module-init-tools"

Cheers,

> 
> And also libkmod*so.* is now packaged in kmod package not libkmod but that's
> probably bug in oe-core recipe... because
> FILES_libkmod = "${base_libdir}/libkmod*${SOLIBS}"
> and they are installed in ${libdir}.
> probably that's from where this comment in kmod recipe comes from
> # libdir = "${base_libdir}"
> 
> Cheers,
> 
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >  meta-oe/classes/kernel.bbclass |    7 +++----
> >  1 files changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass
> > index 66398ef..b431f8e 100644
> > --- a/meta-oe/classes/kernel.bbclass
> > +++ b/meta-oe/classes/kernel.bbclass
> > @@ -1,7 +1,7 @@
> >  inherit linux-kernel-base module_strip
> >  
> >  PROVIDES += "virtual/kernel"
> > -DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
> > +DEPENDS += "virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
> >  
> >  # we include gcc above, we dont need virtual/libc
> >  INHIBIT_DEFAULT_DEPS = "1"
> > @@ -274,7 +274,7 @@ if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
> >  	mkdir -p $D/lib/modules/${KERNEL_VERSION}
> >  fi
> >  if [ -n "$D" ]; then
> > -	${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
> > +	depmod -a -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
> >  else
> >  	depmod -a
> >  fi
> > @@ -352,9 +352,8 @@ python populate_packages_prepend () {
> >  		if m:
> >  			kernelver_stripped = m.group(1)
> >  		path = d.getVar("PATH", True)
> > -		host_prefix = d.getVar("HOST_PREFIX", True) or ""
> >  
> > -		cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped)
> > +		cmd = "PATH=\"%s\" depmod -n -a -b %s -F %s/boot/System.map-%s %s" % (path, dvar, dvar, kernelver, kernelver_stripped)
> >  		f = os.popen(cmd, 'r')
> >  
> >  		deps = {}
> > -- 
> > 1.7.8.6
> > 
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

Patch

diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass
index 66398ef..b431f8e 100644
--- a/meta-oe/classes/kernel.bbclass
+++ b/meta-oe/classes/kernel.bbclass
@@ -1,7 +1,7 @@ 
 inherit linux-kernel-base module_strip
 
 PROVIDES += "virtual/kernel"
-DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
+DEPENDS += "virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
 
 # we include gcc above, we dont need virtual/libc
 INHIBIT_DEFAULT_DEPS = "1"
@@ -274,7 +274,7 @@  if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
 	mkdir -p $D/lib/modules/${KERNEL_VERSION}
 fi
 if [ -n "$D" ]; then
-	${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
+	depmod -a -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
 else
 	depmod -a
 fi
@@ -352,9 +352,8 @@  python populate_packages_prepend () {
 		if m:
 			kernelver_stripped = m.group(1)
 		path = d.getVar("PATH", True)
-		host_prefix = d.getVar("HOST_PREFIX", True) or ""
 
-		cmd = "PATH=\"%s\" %sdepmod -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, dvar, dvar, kernelver, kernelver_stripped)
+		cmd = "PATH=\"%s\" depmod -n -a -b %s -F %s/boot/System.map-%s %s" % (path, dvar, dvar, kernelver, kernelver_stripped)
 		f = os.popen(cmd, 'r')
 
 		deps = {}