if PARALLEL_INSTALL_MODULES==1, mangle module package names to allow parallel install...
authorPhil Blundell <philb@gnu.org>
Sun, 6 Mar 2005 12:10:53 +0000 (12:10 +0000)
committerPhil Blundell <philb@gnu.org>
Sun, 6 Mar 2005 12:10:53 +0000 (12:10 +0000)
BKrev: 422af34dUAf7zcVTUF0LfWk5i8bWAA

classes/module.bbclass

index e69de29..ac76967 100644 (file)
@@ -0,0 +1,55 @@
+RDEPENDS += "kernel (${KERNEL_VERSION})"
+DEPENDS += "virtual/kernel"
+
+inherit module-base
+
+python __anonymous() {
+       v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
+       if v == "1":
+               pn = bb.data.getVar("PN", d, 1)
+               kv = bb.data.getVar("KERNEL_VERSION", d, 1)
+               newpn = "%s-%s" % (pn, kv)
+               bb.data.setVar("PN", newpn, d)
+               bb.data.setVar("OLDPN", pn, d)
+               provides = bb.data.getVar("PROVIDES", d, 1)
+               if provides:
+                       provides = "%s %s" % (provides, pn)
+               else:
+                       provides = pn
+               bb.data.setVar("PROVIDES", provides, d)
+}
+
+python populate_packages_prepend() {
+       v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
+       if v == "1":
+               kv = bb.data.getVar("KERNEL_VERSION", d, 1)
+               packages = bb.data.getVar("PACKAGES", d, 1)
+               for p in packages.split():
+                       pkg = bb.data.getVar("PKG_%s" % p, d, 1) or p
+                       newpkg = "%s-%s" % (pkg, kv)
+                       bb.data.setVar("PKG_%s" % p, newpkg, d)
+                       rprovides = bb.data.getVar("RPROVIDES_%s" % p, d, 1)
+                       if rprovides:
+                               rprovides = "%s %s" % (rprovides, pkg)
+                       else:
+                               rprovides = pkg
+                       bb.data.setVar("RPROVIDES_%s" % p, rprovides, d)
+}
+
+module_do_compile() {
+       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+       oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
+                  KERNEL_SRC=${STAGING_KERNEL_DIR}    \
+                  KERNEL_VERSION=${KERNEL_VERSION}    \
+                  CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+                  ${MAKE_TARGETS}
+}
+
+module_do_install() {
+       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+       oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
+}
+
+EXPORT_FUNCTIONS do_compile do_install
+
+FILES_${PN} = "/etc /lib/modules"