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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to