On Fri, Jul 3, 2020 at 9:56 AM <yanfei...@windriver.com> wrote: > > From: Yanfei Xu <yanfei...@windriver.com> > > Some filesystems don't support symlink, then you will get failure when > you install or update the kernel rpm package. Now we use a copy of > image for these filesystems instead of symlink.
This version looks fine to me ... let's see what RP and the autobuilder can find :D Cheers, Bruce > > Suggested-by: Bruce Ashfield <bruce.ashfi...@gmail.com> > Suggested-by: Richard Purdie <richard.pur...@linuxfoundation.org> > Signed-off-by: Yanfei Xu <yanfei...@windriver.com> > --- > meta/classes/kernel.bbclass | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 20a0135fc9..b01c1699ae 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -94,6 +94,25 @@ python __anonymous () { > d.appendVar('RDEPENDS_%s-image' % kname, ' %s-image-%s' % (kname, > typelower)) > d.setVar('PKG_%s-image-%s' % (kname,typelower), > '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower)) > d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') > + d.setVar('pkg_postinst_%s-image-%s' % (kname,typelower), """set +e > +if [ -n "$D" ]; then > + ln -sf %s-${KERNEL_VERSION} $D/${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 > +else > + ln -sf %s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 > + if [ $? -ne 0 ]; then > + echo "Filesystem on ${KERNEL_IMAGEDEST}/ doesn't support symlinks, > falling back to copied image (%s)." > + install -m 0644 ${KERNEL_IMAGEDEST}/%s-${KERNEL_VERSION} > ${KERNEL_IMAGEDEST}/%s > + fi > +fi > +set -e > +""" % (type, type, type, type, type, type, type)) > + d.setVar('pkg_postrm_%s-image-%s' % (kname,typelower), """set +e > +if [ -f "${KERNEL_IMAGEDEST}/%s" -o -L "${KERNEL_IMAGEDEST}/%s" ]; then > + rm -f ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 > +fi > +set -e > +""" % (type, type, type)) > + > > image = d.getVar('INITRAMFS_IMAGE') > # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to > 0, > @@ -385,9 +404,6 @@ kernel_do_install() { > install -d ${D}/boot > for imageType in ${KERNEL_IMAGETYPES} ; do > install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType} > ${D}/${KERNEL_IMAGEDEST}/${imageType}-${KERNEL_VERSION} > - if [ "${KERNEL_PACKAGE_NAME}" = "kernel" ]; then > - ln -sf ${imageType}-${KERNEL_VERSION} > ${D}/${KERNEL_IMAGEDEST}/${imageType} > - fi > done > install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} > install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION} > -- > 2.18.2 > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#140303): https://lists.openembedded.org/g/openembedded-core/message/140303 Mute This Topic: https://lists.openembedded.org/mt/75279494/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-