summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/kernel.bbclass
diff options
context:
space:
mode:
authorJörg Sommer <joerg.sommer@navimatix.de>2024-06-09 16:59:07 +0200
committerSteve Sakoman <steve@sakoman.com>2024-08-01 06:08:09 -0700
commitb285f6d0feea2e252e3403e4e08d048ac120f6ac (patch)
treefb4bf1036aa75c6138fa495e85cf5b4b6c3985b8 /meta/classes-recipe/kernel.bbclass
parent1935e4e8df5d5825a668202cf185628353cea930 (diff)
downloadpoky-b285f6d0feea2e252e3403e4e08d048ac120f6ac.tar.gz
classes/kernel: No symlink in postinst without KERNEL_IMAGETYPE_SYMLINK
The commit “Use a copy of image for kernel*.rpm if fs doesn't support symlinks” [1] added postinst and postrm scripts to the kernel package which create a symlink after package installation. This should not happen if `KERNEL_IMAGETYPE_SYMLINK` is not `1`. Background: The u-boot implementation of jffs2 does not support symlinks. Using a hardlink or removing `${KERNEL_VERSION}` from the file name fails, because the current postinst script replaces the file with the symlink. [1] 8b6b95106a5d4f1f6d34209ec5c475c900270ecd Cc: Bruce Ashfield <bruce.ashfield@gmail.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Yanfei Xu <yanfei.xu@windriver.com> (From OE-Core rev: 6916c19c8a09d8d0334c957ae541aafcbbcf92df) Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6a763401862d9ee96749ad18378b6344778c2c66) Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/classes-recipe/kernel.bbclass')
-rw-r--r--meta/classes-recipe/kernel.bbclass6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index c0a2056fec..4c1cb89a46 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -115,7 +115,9 @@ python __anonymous () {
115 115
116 d.setVar('PKG:%s-image-%s' % (kname,typelower), '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower)) 116 d.setVar('PKG:%s-image-%s' % (kname,typelower), '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower))
117 d.setVar('ALLOW_EMPTY:%s-image-%s' % (kname, typelower), '1') 117 d.setVar('ALLOW_EMPTY:%s-image-%s' % (kname, typelower), '1')
118 d.prependVar('pkg_postinst:%s-image-%s' % (kname,typelower), """set +e 118
119 if d.getVar('KERNEL_IMAGETYPE_SYMLINK') == '1':
120 d.prependVar('pkg_postinst:%s-image-%s' % (kname,typelower), """set +e
119if [ -n "$D" ]; then 121if [ -n "$D" ]; then
120 ln -sf %s-${KERNEL_VERSION} $D/${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 122 ln -sf %s-${KERNEL_VERSION} $D/${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
121else 123else
@@ -127,7 +129,7 @@ else
127fi 129fi
128set -e 130set -e
129""" % (type, type, type, type, type, type, type)) 131""" % (type, type, type, type, type, type, type))
130 d.setVar('pkg_postrm:%s-image-%s' % (kname,typelower), """set +e 132 d.setVar('pkg_postrm:%s-image-%s' % (kname,typelower), """set +e
131if [ -f "${KERNEL_IMAGEDEST}/%s" -o -L "${KERNEL_IMAGEDEST}/%s" ]; then 133if [ -f "${KERNEL_IMAGEDEST}/%s" -o -L "${KERNEL_IMAGEDEST}/%s" ]; then
132 rm -f ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 134 rm -f ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1
133fi 135fi