summaryrefslogtreecommitdiff
path: root/classes/kernel.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/kernel.bbclass')
-rw-r--r--classes/kernel.bbclass84
1 files changed, 24 insertions, 60 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 13381740a1..4cc3784b6f 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -14,12 +14,7 @@ KERNEL_IMAGETYPE ?= "zImage"
KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
-# [jbowler 20051109] ${PV}${KERNEL_LOCALVERSION} is used throughout this
-# .bbclass to (apparently) find the full 'uname -r' kernel version, this
-# should be the same as UTS_RELEASE or (in this file) KERNEL_VERSION:
-# KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION)
-# but since this is not certain this overridable setting is used here:
-KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}"
+KERNEL_RELEASE ?= "${KERNEL_VERSION}"
KERNEL_CCSUFFIX ?= ""
KERNEL_LDSUFFIX ?= ""
@@ -111,9 +106,9 @@ kernel_do_stage() {
cp -fR drivers/sound/*.h ${STAGING_KERNEL_DIR}/include/drivers/sound/
fi
- install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${KERNEL_RELEASE}
- ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/.config
- ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/kernel-config
+ install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${KERNEL_VERSION}
+ ln -sf config-${KERNEL_VERSION} ${STAGING_KERNEL_DIR}/.config
+ ln -sf config-${KERNEL_VERSION} ${STAGING_KERNEL_DIR}/kernel-config
echo "${KERNEL_VERSION}" >${STAGING_KERNEL_DIR}/kernel-abiversion
echo "${S}" >${STAGING_KERNEL_DIR}/kernel-source
echo "${KERNEL_CCSUFFIX}" >${STAGING_KERNEL_DIR}/kernel-ccsuffix
@@ -128,7 +123,7 @@ kernel_do_stage() {
fi
cp -fR include/config* ${STAGING_KERNEL_DIR}/include/
install -m 0644 ${KERNEL_OUTPUT} ${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}
- install -m 0644 System.map ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE}
+ install -m 0644 System.map ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION}
[ -e Module.symvers ] && install -m 0644 Module.symvers ${STAGING_KERNEL_DIR}/
cp -fR scripts ${STAGING_KERNEL_DIR}/
@@ -144,9 +139,9 @@ kernel_do_install() {
install -d ${D}/${KERNEL_IMAGEDEST}
install -d ${D}/boot
- install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE}
- install -m 0644 System.map ${D}/boot/System.map-${KERNEL_RELEASE}
- install -m 0644 .config ${D}/boot/config-${KERNEL_RELEASE}
+ install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
+ install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
+ install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
install -d ${D}/etc/modutils
# Check if scripts/genksyms exists and if so, build it
@@ -163,32 +158,37 @@ kernel_do_configure() {
}
pkg_postinst_kernel () {
- update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} ${KERNEL_PRIORITY} || true
+ cd /${KERNEL_IMAGEDEST}; update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
}
pkg_postrm_kernel () {
- update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} || true
+ cd /${KERNEL_IMAGEDEST}; update-alternatives --remove ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
}
inherit cml1
EXPORT_FUNCTIONS do_compile do_install do_stage do_configure
-PACKAGES = "kernel kernel-image kernel-dev"
+# kernel-base becomes kernel-${KERNEL_VERSION}
+# kernel-image becomes kernel-image-${KERNEL_VERISON}
+PACKAGES = "kernel kernel-base kernel-image kernel-dev"
FILES = ""
FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
FILES_kernel-dev = "/boot/System.map* /boot/config*"
-RDEPENDS_kernel = "kernel-image-${KERNEL_VERSION}"
+RDEPENDS_kernel = "kernel-base"
+RDEPENDS_kernel-base = "kernel-image"
PKG_kernel-image = "kernel-image-${KERNEL_VERSION}"
+PKG_kernel-base = "kernel-${KERNEL_VERSION}"
ALLOW_EMPTY_kernel = "1"
+ALLOW_EMPTY_kernel-base = "1"
ALLOW_EMPTY_kernel-image = "1"
pkg_postinst_kernel-image () {
-if [ ! -e "$D/lib/modules/${KERNEL_RELEASE}" ]; then
- mkdir -p $D/lib/modules/${KERNEL_RELEASE}
+if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
+ mkdir -p $D/lib/modules/${KERNEL_VERSION}
fi
if [ -n "$D" ]; then
- ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE} ${KERNEL_VERSION}
+ ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
else
depmod -a
fi
@@ -196,7 +196,7 @@ fi
pkg_postinst_modules () {
if [ -n "$D" ]; then
- ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE} ${KERNEL_VERSION}
+ ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
else
depmod -a
update-modules || true
@@ -257,7 +257,7 @@ python populate_packages_prepend () {
bb.error("D not defined")
return
- kernelver = bb.data.getVar('KERNEL_RELEASE', d, 1)
+ kernelver = bb.data.getVar('KERNEL_VERSION', d, 1)
kernelver_stripped = kernelver
m = re.match('^(.*-hh.*)[\.\+].*$', kernelver)
if m:
@@ -312,10 +312,6 @@ python populate_packages_prepend () {
continue
on = legitimize_package_name(m.group(1))
dependency_pkg = format % on
- v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
- if v == "1":
- kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
- dependency_pkg = "%s-%s" % (dependency_pkg, kv)
dependencies.append(dependency_pkg)
return dependencies
return []
@@ -371,13 +367,13 @@ python populate_packages_prepend () {
postinst = bb.data.getVar('pkg_postinst_modules', d, 1)
postrm = bb.data.getVar('pkg_postrm_modules', d, 1)
- do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-image-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
+ do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
import re, os
metapkg = "kernel-modules"
bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
bb.data.setVar('FILES_' + metapkg, "", d)
- blacklist = [ 'kernel-dev', 'kernel-image' ]
+ blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base' ]
for l in module_deps.values():
for i in l:
pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
@@ -391,36 +387,4 @@ python populate_packages_prepend () {
bb.data.setVar('DESCRIPTION_' + metapkg, 'Kernel modules meta package', d)
packages.append(metapkg)
bb.data.setVar('PACKAGES', ' '.join(packages), d)
-
- v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
- if v == "1":
- kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
- packages = bb.data.getVar("PACKAGES", d, 1).split()
- module_re = re.compile("^kernel-module-")
-
- newmetapkg = "kernel-modules-%s" % kv
- bb.data.setVar('ALLOW_EMPTY_' + newmetapkg, "1", d)
- bb.data.setVar('FILES_' + newmetapkg, "", d)
-
- newmetapkg_rdepends = []
-
- for p in packages:
- if not module_re.match(p):
- continue
- 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)
- newmetapkg_rdepends.append(newpkg)
-
- bb.data.setVar('RDEPENDS_' + newmetapkg, ' '.join(newmetapkg_rdepends), d)
- bb.data.setVar('DESCRIPTION_' + newmetapkg, 'Kernel modules meta package', d)
- packages.append(newmetapkg)
- bb.data.setVar('PACKAGES', ' '.join(packages), d)
-
}