summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2017-09-05 03:04:44 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-11 17:30:28 +0100
commitcb91b0eacd833b801732e177b734a756d9e0ae8f (patch)
treee7b422b25cfbfd81c1255e82c294c7ccb0b78d0c
parentee9db1a9152e8757ce4d831ff9f4472ff5a57dad (diff)
downloadpoky-cb91b0eacd833b801732e177b734a756d9e0ae8f.tar.gz
kernel: Stop using update-alternatives
The update-alternatives where using relative links so not being really in use since December 2016 (see OE-Core:c7bc46b9 "kernel: Fix symlinks") so instead we now generate the relative symlinks during the do_install task and drop the update-alternatives use at all. Acked-by: Saul Wold <sgw@linux.intel.com> (From OE-Core rev: 10a1b293191268e6792ac8e27bd6427f1974c7ce) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel.bbclass16
-rw-r--r--meta/recipes-kernel/linux/linux-dtb.inc36
2 files changed, 8 insertions, 44 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 3cc0432fcf..02a5e961cb 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -2,7 +2,7 @@ inherit linux-kernel-base kernel-module-split
2 2
3PROVIDES += "virtual/kernel" 3PROVIDES += "virtual/kernel"
4DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native" 4DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native"
5PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native" 5PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
6 6
7do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" 7do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot"
8 8
@@ -57,7 +57,7 @@ python __anonymous () {
57 57
58 d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower) 58 d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower)
59 59
60 d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}') 60 d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
61 61
62 d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + typelower) 62 d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + typelower)
63 63
@@ -65,13 +65,6 @@ python __anonymous () {
65 65
66 d.setVar('ALLOW_EMPTY_kernel-image-' + typelower, '1') 66 d.setVar('ALLOW_EMPTY_kernel-image-' + typelower, '1')
67 67
68 priority = d.getVar('KERNEL_PRIORITY')
69 postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + imagedest + '/' + type + ' ' + type + ' ' + type + '-${KERNEL_VERSION_NAME} ' + priority + ' || true' + '\n'
70 d.setVar('pkg_postinst_kernel-image-' + typelower, postinst)
71
72 postrm = '#!/bin/sh\n' + 'update-alternatives --remove' + ' ' + type + ' ' + type + '-${KERNEL_VERSION_NAME} || true' + '\n'
73 d.setVar('pkg_postrm_kernel-image-' + typelower, postrm)
74
75 image = d.getVar('INITRAMFS_IMAGE') 68 image = d.getVar('INITRAMFS_IMAGE')
76 if image: 69 if image:
77 d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete') 70 d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
@@ -137,10 +130,6 @@ export CROSS_COMPILE = "${TARGET_PREFIX}"
137export KBUILD_BUILD_USER = "oe-user" 130export KBUILD_BUILD_USER = "oe-user"
138export KBUILD_BUILD_HOST = "oe-host" 131export KBUILD_BUILD_HOST = "oe-host"
139 132
140KERNEL_PRIORITY ?= "${@int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[0]) * 10000 + \
141 int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[1]) * 100 + \
142 int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[-1])}"
143
144KERNEL_RELEASE ?= "${KERNEL_VERSION}" 133KERNEL_RELEASE ?= "${KERNEL_VERSION}"
145 134
146# The directory where built kernel lies in the kernel tree 135# The directory where built kernel lies in the kernel tree
@@ -350,6 +339,7 @@ kernel_do_install() {
350 install -d ${D}/boot 339 install -d ${D}/boot
351 for type in ${KERNEL_IMAGETYPES} ; do 340 for type in ${KERNEL_IMAGETYPES} ; do
352 install -m 0644 ${KERNEL_OUTPUT_DIR}/${type} ${D}/${KERNEL_IMAGEDEST}/${type}-${KERNEL_VERSION} 341 install -m 0644 ${KERNEL_OUTPUT_DIR}/${type} ${D}/${KERNEL_IMAGEDEST}/${type}-${KERNEL_VERSION}
342 ln -sf ${type}-${KERNEL_VERSION} ${D}/${KERNEL_IMAGEDEST}/${type}
353 done 343 done
354 install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} 344 install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
355 install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} 345 install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc
index 0174c80d85..ca92822d25 100644
--- a/meta/recipes-kernel/linux/linux-dtb.inc
+++ b/meta/recipes-kernel/linux/linux-dtb.inc
@@ -1,7 +1,5 @@
1# Support for device tree generation 1# Support for device tree generation
2FILES_kernel-devicetree = "/${KERNEL_IMAGEDEST}/devicetree*" 2FILES_kernel-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
3
4PACKAGE_WRITE_DEPS += "virtual/update-alternatives-native"
5 3
6python __anonymous () { 4python __anonymous () {
7 d.appendVar("PACKAGES", " kernel-devicetree") 5 d.appendVar("PACKAGES", " kernel-devicetree")
@@ -36,12 +34,13 @@ do_install_append() {
36 for DTB in ${KERNEL_DEVICETREE}; do 34 for DTB in ${KERNEL_DEVICETREE}; do
37 DTB=`normalize_dtb "${DTB}"` 35 DTB=`normalize_dtb "${DTB}"`
38 DTB_EXT=${DTB##*.} 36 DTB_EXT=${DTB##*.}
37 DTB_PATH=`get_real_dtb_path_in_kernel "${DTB}"`
39 DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"` 38 DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
39 install -m 0644 ${DTB_PATH} ${D}/${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.${DTB_EXT}
40 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do 40 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
41 symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME} 41 symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
42 DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` 42 DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
43 DTB_PATH=`get_real_dtb_path_in_kernel "${DTB}"` 43 ln -sf ${DTB_BASE_NAME}.${DTB_EXT} ${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT}
44 install -m 0644 ${DTB_PATH} ${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT}
45 done 44 done
46 done 45 done
47} 46}
@@ -60,32 +59,7 @@ do_deploy_append() {
60 install -d ${DEPLOYDIR} 59 install -d ${DEPLOYDIR}
61 install -m 0644 ${DTB_PATH} ${DEPLOYDIR}/${DTB_NAME}.${DTB_EXT} 60 install -m 0644 ${DTB_PATH} ${DEPLOYDIR}/${DTB_NAME}.${DTB_EXT}
62 ln -sf ${DTB_NAME}.${DTB_EXT} ${DEPLOYDIR}/${DTB_SYMLINK_NAME}.${DTB_EXT} 61 ln -sf ${DTB_NAME}.${DTB_EXT} ${DEPLOYDIR}/${DTB_SYMLINK_NAME}.${DTB_EXT}
63 done 62 ln -sf ${DTB_NAME}.${DTB_EXT} ${DEPLOYDIR}/${DTB_BASE_NAME}.${DTB_EXT}
64 done
65}
66
67pkg_postinst_kernel-devicetree () {
68 cd /${KERNEL_IMAGEDEST}
69 for DTB in ${KERNEL_DEVICETREE}; do
70 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
71 symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
72 DTB_EXT=${DTB##*.}
73 DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
74 DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
75 update-alternatives --install /${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.${DTB_EXT} ${DTB_BASE_NAME}.${DTB_EXT} devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} ${KERNEL_PRIORITY} || true
76 done
77 done
78}
79
80pkg_postrm_kernel-devicetree () {
81 cd /${KERNEL_IMAGEDEST}
82 for DTB in ${KERNEL_DEVICETREE}; do
83 for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
84 symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
85 DTB_EXT=${DTB##*.}
86 DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
87 DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
88 update-alternatives --remove ${DTB_BASE_NAME}.${DTB_EXT} devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} ${KERNEL_PRIORITY} || true
89 done 63 done
90 done 64 done
91} 65}