summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-02-04 22:20:35 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-02-06 12:16:34 +0000
commit500206534f030d79188b4b92c178a4e07c4c2cb1 (patch)
treedfb74a06db227c3de675846bfaf0bf7c884eeacf
parent8e2afe5dd3e82bc5d4c2603ab5a17a1b4b4784e2 (diff)
downloadpoky-500206534f030d79188b4b92c178a4e07c4c2cb1.tar.gz
patch: Extend to native/nativesdk and depend upon
There is a bug in patch 2.7.3 and earlier where index lines in patches can change file modes when they shouldn't: http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4 This leaks into debug sources in particular (e.g. tcp-wrappers where source files are read-only). Add the dependency to target recipes to avoid this problem until we can rely on 2.7.4 or later. We could try and remove all index lines from patch files but it will be a losing battle. We could try and identify all the recipes which change modes on files in patches but again, its a losing battle. Instead, compromise and have patch-native as a dependency for target recipes. We use patch-replacement-native since patch-native is in ASSUME_PROVIDED. Also add nativesdk-patch to buildtools-tarball. [YOCTO #13777] (From OE-Core rev: 5ed0840c93804488cd1c1aba6cb382b2434714a5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/patch.bbclass7
-rw-r--r--meta/recipes-core/meta/buildtools-tarball.bb1
-rw-r--r--meta/recipes-devtools/patch/patch_2.7.6.bb3
3 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index cd241f1c84..25ec089ae1 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -5,6 +5,13 @@ QUILTRCFILE ?= "${STAGING_ETCDIR_NATIVE}/quiltrc"
5 5
6PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot" 6PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
7 7
8# There is a bug in patch 2.7.3 and earlier where index lines
9# in patches can change file modes when they shouldn't:
10# http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4
11# This leaks into debug sources in particular. Add the dependency
12# to target recipes to avoid this problem until we can rely on 2.7.4 or later.
13PATCHDEPENDENCY_append_class-target = " patch-replacement-native:do_populate_sysroot"
14
8PATCH_GIT_USER_NAME ?= "OpenEmbedded" 15PATCH_GIT_USER_NAME ?= "OpenEmbedded"
9PATCH_GIT_USER_EMAIL ?= "oe.patch@oe" 16PATCH_GIT_USER_EMAIL ?= "oe.patch@oe"
10 17
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb
index 95ebda7fa1..aa55cde84a 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -25,6 +25,7 @@ TOOLCHAIN_HOST_TASK ?= "\
25 nativesdk-texinfo \ 25 nativesdk-texinfo \
26 nativesdk-libnss-nis \ 26 nativesdk-libnss-nis \
27 nativesdk-rpcsvc-proto \ 27 nativesdk-rpcsvc-proto \
28 nativesdk-patch \
28 " 29 "
29 30
30MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" 31MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
diff --git a/meta/recipes-devtools/patch/patch_2.7.6.bb b/meta/recipes-devtools/patch/patch_2.7.6.bb
index 5d7f55f8dc..b5897b357a 100644
--- a/meta/recipes-devtools/patch/patch_2.7.6.bb
+++ b/meta/recipes-devtools/patch/patch_2.7.6.bb
@@ -22,3 +22,6 @@ acpaths = "-I ${S}/m4 "
22PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}" 22PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
23PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," 23PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
24 24
25PROVIDES_append_class-native = " patch-replacement-native"
26
27BBCLASSEXTEND = "native nativesdk"