On Fri, 21 Apr 2017 13:02:51 +0200 Andrea Adami <[email protected]> wrote:
> On Fri, Apr 21, 2017 at 12:39 PM, Andreas Oberritter > <[email protected]> wrote: > > This reverts commit c7bc46b9bc29dd0953ab8d63b50fa105bb66892e. > > > > It broke dpkg's update-alternatives, which requires absolute paths. > > This is really uncommon. Actually it's not. Try it on any Debian or Ubuntu system. > I had already expressed my negative opinion about absolute paths for kernel > [1]. > Personally, I had to patch the bootloader (kexecboot). > > So please try some workaround instead of changing it back. Well, there's no workaround. Other than opkg's update-alternatives, dpkg's maintains an alternatives database in /etc/alternatives, so the symlink is going to point to an absolute path outside of /boot anyway. To fix your problem, kernel.bbclass should be changed to not use update-alternatives at all. But it's definitely wrong to break the original u-a by using invalid command- line arguments. Regards, Andreas > Cheers > Andrea > > [1] > http://lists.openembedded.org/pipermail/openembedded-core/2014-July/093988.html > > > > > | update-alternatives: error: alternative path is not absolute as it should > > be > > > > Signed-off-by: Andreas Oberritter <[email protected]> > > --- > > meta/classes/kernel.bbclass | 6 +++--- > > meta/recipes-kernel/linux/linux-dtb.inc | 4 ++-- > > 2 files changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > > index 12a748d..8cf357f 100644 > > --- a/meta/classes/kernel.bbclass > > +++ b/meta/classes/kernel.bbclass > > @@ -49,11 +49,10 @@ python __anonymous () { > > > > for type in types.split(): > > typelower = type.lower() > > - imagedest = d.getVar('KERNEL_IMAGEDEST') > > > > d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower) > > > > - d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' > > + type + '-${KERNEL_VERSION_NAME}') > > + d.setVar('FILES_kernel-image-' + typelower, '/boot/' + type + > > '-${KERNEL_VERSION_NAME}') > > > > d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + > > typelower) > > > > @@ -61,8 +60,9 @@ python __anonymous () { > > > > d.setVar('ALLOW_EMPTY_kernel-image-' + typelower, '1') > > > > + imagedest = d.getVar('KERNEL_IMAGEDEST') > > priority = d.getVar('KERNEL_PRIORITY') > > - postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + > > imagedest + '/' + type + ' ' + type + ' ' + type + '-${KERNEL_VERSION_NAME} > > ' + priority + ' || true' + '\n' > > + postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + > > imagedest + '/' + type + ' ' + type + ' ' + '/' + imagedest + '/' + 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' > > diff --git a/meta/recipes-kernel/linux/linux-dtb.inc > > b/meta/recipes-kernel/linux/linux-dtb.inc > > index 22e374f..41aad7c 100644 > > --- a/meta/recipes-kernel/linux/linux-dtb.inc > > +++ b/meta/recipes-kernel/linux/linux-dtb.inc > > @@ -63,7 +63,7 @@ pkg_postinst_kernel-devicetree () { > > 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 > > + update-alternatives --install > > /${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.${DTB_EXT} > > ${DTB_BASE_NAME}.${DTB_EXT} /boot/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} > > ${KERNEL_PRIORITY} || true > > done > > done > > } > > @@ -76,7 +76,7 @@ pkg_postrm_kernel-devicetree () { > > 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 > > + update-alternatives --remove > > ${DTB_BASE_NAME}.${DTB_EXT} /boot/devicetree-${DTB_SYMLINK_NAME}.${DTB_EXT} > > ${KERNEL_PRIORITY} || true > > done > > done > > } > > -- > > 2.7.4 > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > [email protected] > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
