KERNEL_VERSION = "${@get_kernelversion('${S}/include/linux/version.h')}"
KERNEL_MAJOR_VERSION = "${@get_kernelmajorversion('${KERNEL_VERSION}')}"
-KERNEL_LOCALVERSION ?= ""
-
# kernels are generally machine specific
PACKAGE_ARCH = "${MACHINE_ARCH}"
cp -fR drivers/sound/*.h ${STAGING_KERNEL_DIR}/include/drivers/sound/
fi
- install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${PV}${KERNEL_LOCALVERSION}
- ln -sf config-${PV}${KERNEL_LOCALVERSION} ${STAGING_KERNEL_DIR}/.config
- ln -sf config-${PV}${KERNEL_LOCALVERSION} ${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
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-${PV}${KERNEL_LOCALVERSION}
+ 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}/
install -d ${D}/${KERNEL_IMAGEDEST}
install -d ${D}/boot
- install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION}
- install -m 0644 System.map ${D}/boot/System.map-${PV}${KERNEL_LOCALVERSION}
- install -m 0644 .config ${D}/boot/config-${PV}${KERNEL_LOCALVERSION}
+ 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
}
pkg_postinst_kernel () {
- update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION} ${KERNEL_PRIORITY} || true
+ update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
}
pkg_postrm_kernel () {
- update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${PV}${KERNEL_LOCALVERSION} || true
+ update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
}
inherit cml1
FILES = ""
FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
FILES_kernel-dev = "/boot/System.map* /boot/config*"
-RDEPENDS_kernel = "kernel-image-${KERNEL_VERSION}"
-PKG_kernel-image = "kernel-image-${KERNEL_VERSION}"
+RDEPENDS_kernel = "kernel-image-${KERNEL_MAJOR_VERSION}"
+PKG_kernel-image = "kernel-image-${KERNEL_MAJOR_VERSION}"
+RPROVIDES_kernel-image = "kernel-image-${KERNEL_VERSION}"
+RCONFLICTS_kernel-image = "kernel-image-${KERNEL_VERSION}"
+RREPLACES_kernel-image = "kernel-image-${KERNEL_VERSION}"
ALLOW_EMPTY_kernel = "1"
ALLOW_EMPTY_kernel-image = "1"
pkg_postinst_modules () {
if [ -n "$D" ]; then
- ${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${PV}${KERNEL_LOCALVERSION} ${KERNEL_VERSION}
+ ${HOST_PREFIX}depmod -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
else
depmod -A
update-modules || true
bb.error("D not defined")
return
- kernelver = bb.data.getVar('PV', d, 1) + bb.data.getVar('KERNEL_LOCALVERSION', d, 1)
+ kernelver = bb.data.getVar('KERNEL_VERSION', d, 1)
kernelver_stripped = kernelver
m = re.match('^(.*-hh.*)[\.\+].*$', kernelver)
- if m and not bb.data.getVar('KERNEL_PRESERVE_HH_MINOR_VER'):
+ if m and not bb.data.getVar('KERNEL_PRESERVE_HH_MINOR_VER', d, 1):
kernelver_stripped = m.group(1)
path = bb.data.getVar("PATH", d, 1)
host_prefix = bb.data.getVar("HOST_PREFIX", d, 1) or ""
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-image-%s' % bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1))
import re, os
metapkg = "kernel-modules"
kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
packages = bb.data.getVar("PACKAGES", d, 1)
module_re = re.compile("^kernel-module-")
+ repl_vers = bb.data.getVar("PARALLEL_INSTALL_REPLACE_VERSIONS", d, 1)
for p in packages.split():
if not module_re.match(p):
continue
else:
rprovides = pkg
bb.data.setVar("RPROVIDES_%s" % p, rprovides, d)
+
+ # kv was changed from KERNEL_VERSION to KERNEL_MAJOR_VERSION.
+ # now fix the upgrade path...
+ if repl_vers:
+ repl_pkgs = []
+ for v in repl_vers.split():
+ repl_pkgs.append("%s-%s" % (pkg, v))
+ for i in ["PROVIDES", "CONFLICTS", "REPLACES"]:
+ val = bb.data.getVar("R%s_%s" % (i, p), d, 1)
+ if val:
+ old = val.split()
+ add = []
+ for k in repl_pkgs:
+ if not k in old:
+ add.append(k)
+ val = "%s %s" % (val, " ".join(add))
+ else:
+ val = "%s" % " ".join(repl_pkgs)
+ bb.data.setVar("R%s_%s" % (i, p), val, d)
+ if repl_vers:
+ p = "kernel-image"
+ repl_pkgs = []
+ for v in repl_vers.split():
+ repl_pkgs.append("%s-%s" % (p, v))
+ for i in ["PROVIDES", "CONFLICTS", "REPLACES"]:
+ val = bb.data.getVar("R%s_%s" % (i, p), d, 1)
+ if val:
+ old = val.split()
+ add = []
+ for k in repl_pkgs:
+ if not k in old:
+ add.append(k)
+ val = "%s %s" % (val, " ".join(add))
+ else:
+ val = "%s" % " ".join(repl_pkgs)
+ bb.data.setVar("R%s_%s" % (i, p), val, d)
}