[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7605/8267] kernel: Stop using update-alternatives



commit cb91b0eacd833b801732e177b734a756d9e0ae8f
Author: Otavio Salvador <otavio ossystems com br>
Date:   Tue Sep 5 03:04:44 2017 -0300

    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>

 meta/classes/kernel.bbclass             |   16 ++-----------
 meta/recipes-kernel/linux/linux-dtb.inc |   36 ++++--------------------------
 2 files changed, 8 insertions(+), 44 deletions(-)
---
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 3cc0432..02a5e96 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -2,7 +2,7 @@ inherit linux-kernel-base kernel-module-split
 
 PROVIDES += "virtual/kernel"
 DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native"
-PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native"
+PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
 
 do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot"
 
@@ -57,7 +57,7 @@ python __anonymous () {
 
         d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower)
 
-        d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}')
+        d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' 
+ ' /' + imagedest + '/' + type)
 
         d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + typelower)
 
@@ -65,13 +65,6 @@ python __anonymous () {
 
         d.setVar('ALLOW_EMPTY_kernel-image-' + typelower, '1')
 
-        priority = d.getVar('KERNEL_PRIORITY')
-        postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + imagedest + '/' + type + ' ' + type + 
' ' + type + '-${KERNEL_VERSION_NAME} ' + priority + ' || true' + '\n'
-        d.setVar('pkg_postinst_kernel-image-' + typelower, postinst)
-
-        postrm = '#!/bin/sh\n' + 'update-alternatives --remove' + ' ' + type + ' ' + type + 
'-${KERNEL_VERSION_NAME} || true' + '\n'
-        d.setVar('pkg_postrm_kernel-image-' + typelower, postrm)
-
     image = d.getVar('INITRAMFS_IMAGE')
     if image:
         d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
@@ -137,10 +130,6 @@ export CROSS_COMPILE = "${TARGET_PREFIX}"
 export KBUILD_BUILD_USER = "oe-user"
 export KBUILD_BUILD_HOST = "oe-host"
 
-KERNEL_PRIORITY ?= "${@int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[0]) * 10000 + \
-                       int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[1]) * 100 + \
-                       int(d.getVar('PV').split('-')[0].split('+')[0].split('.')[-1])}"
-
 KERNEL_RELEASE ?= "${KERNEL_VERSION}"
 
 # The directory where built kernel lies in the kernel tree
@@ -350,6 +339,7 @@ kernel_do_install() {
        install -d ${D}/boot
        for type in ${KERNEL_IMAGETYPES} ; do
                install -m 0644 ${KERNEL_OUTPUT_DIR}/${type} 
${D}/${KERNEL_IMAGEDEST}/${type}-${KERNEL_VERSION}
+               ln -sf ${type}-${KERNEL_VERSION} ${D}/${KERNEL_IMAGEDEST}/${type}
        done
        install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
        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 0174c80..ca92822 100644
--- a/meta/recipes-kernel/linux/linux-dtb.inc
+++ b/meta/recipes-kernel/linux/linux-dtb.inc
@@ -1,7 +1,5 @@
 # Support for device tree generation
-FILES_kernel-devicetree = "/${KERNEL_IMAGEDEST}/devicetree*"
-
-PACKAGE_WRITE_DEPS += "virtual/update-alternatives-native"
+FILES_kernel-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb /${KERNEL_IMAGEDEST}/*.dtbo"
 
 python __anonymous () {
     d.appendVar("PACKAGES", " kernel-devicetree")
@@ -36,12 +34,13 @@ do_install_append() {
        for DTB in ${KERNEL_DEVICETREE}; do
                DTB=`normalize_dtb "${DTB}"`
                DTB_EXT=${DTB##*.}
+               DTB_PATH=`get_real_dtb_path_in_kernel "${DTB}"`
                DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
+               install -m 0644 ${DTB_PATH} ${D}/${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.${DTB_EXT}
                for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
                        symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
                        DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
-                       DTB_PATH=`get_real_dtb_path_in_kernel "${DTB}"`
-                       install -m 0644 ${DTB_PATH} 
${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT}
+                       ln -sf ${DTB_BASE_NAME}.${DTB_EXT} 
${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT}
                done
        done
 }
@@ -60,32 +59,7 @@ do_deploy_append() {
                        install -d ${DEPLOYDIR}
                        install -m 0644 ${DTB_PATH} ${DEPLOYDIR}/${DTB_NAME}.${DTB_EXT}
                        ln -sf ${DTB_NAME}.${DTB_EXT} ${DEPLOYDIR}/${DTB_SYMLINK_NAME}.${DTB_EXT}
-               done
-       done
-}
-
-pkg_postinst_kernel-devicetree () {
-       cd /${KERNEL_IMAGEDEST}
-       for DTB in ${KERNEL_DEVICETREE}; do
-               for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
-                       symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
-                       DTB_EXT=${DTB##*.}
-                       DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
-                       DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
-                       update-alternatives --install /${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.${DTB_EXT} 
${DTB_BASE_NAME}.${DTB_EXT} devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} ${KERNEL_PRIORITY} || true
-               done
-       done
-}
-
-pkg_postrm_kernel-devicetree () {
-       cd /${KERNEL_IMAGEDEST}
-       for DTB in ${KERNEL_DEVICETREE}; do
-               for type in ${KERNEL_IMAGETYPE_FOR_MAKE}; do
-                       symlink_name=${type}"-"${KERNEL_IMAGE_SYMLINK_NAME}
-                       DTB_EXT=${DTB##*.}
-                       DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
-                       DTB_SYMLINK_NAME=`echo ${symlink_name} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
-                       update-alternatives --remove ${DTB_BASE_NAME}.${DTB_EXT} 
devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} ${KERNEL_PRIORITY} || true
+                       ln -sf ${DTB_NAME}.${DTB_EXT} ${DEPLOYDIR}/${DTB_BASE_NAME}.${DTB_EXT}
                done
        done
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]