summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-22 09:35:01 +0000
committerSteve Sakoman <steve@sakoman.com>2024-01-04 04:09:43 -1000
commit4558219ec8584e05c215057c0c271600fa52d6c2 (patch)
tree8dce0e75a44e2ecdcf9714dac2928b5b71bc49cc
parentd5d85421f2fe9445152bf8a533268578a32ed8f4 (diff)
downloadpoky-4558219ec8584e05c215057c0c271600fa52d6c2.tar.gz
package_ipk: Fix Source: field variable dependency
The Source: variable is generated from FILE but this is excluded from checksums normally which results in a reproduciubility issue when the filename changes. Add in a dependency by reworking the code a little to avoid this. (From OE-Core rev: 431e6ad7c5b0af3909f5a43599764c529146e6d6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 3ea7da76c6930031a0071069027b1d71f737fbc9) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/classes-global/package_ipk.bbclass6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/classes-global/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
index b4b7bc9ac2..64fa237c00 100644
--- a/meta/classes-global/package_ipk.bbclass
+++ b/meta/classes-global/package_ipk.bbclass
@@ -47,6 +47,10 @@ python do_package_ipk () {
47do_package_ipk[vardeps] += "ipk_write_pkg" 47do_package_ipk[vardeps] += "ipk_write_pkg"
48do_package_ipk[vardepsexclude] = "BB_NUMBER_THREADS" 48do_package_ipk[vardepsexclude] = "BB_NUMBER_THREADS"
49 49
50# FILE isn't included by default but we want the recipe to change if basename() changes
51IPK_RECIPE_FILE = "${@os.path.basename(d.getVar('FILE'))}"
52IPK_RECIPE_FILE[vardepvalue] = "${IPK_RECIPE_FILE}"
53
50def ipk_write_pkg(pkg, d): 54def ipk_write_pkg(pkg, d):
51 import re, copy 55 import re, copy
52 import subprocess 56 import subprocess
@@ -62,7 +66,7 @@ def ipk_write_pkg(pkg, d):
62 66
63 outdir = d.getVar('PKGWRITEDIRIPK') 67 outdir = d.getVar('PKGWRITEDIRIPK')
64 pkgdest = d.getVar('PKGDEST') 68 pkgdest = d.getVar('PKGDEST')
65 recipesource = os.path.basename(d.getVar('FILE')) 69 recipesource = d.getVar('IPK_RECIPE_FILE')
66 70
67 localdata = bb.data.createCopy(d) 71 localdata = bb.data.createCopy(d)
68 root = "%s/%s" % (pkgdest, pkg) 72 root = "%s/%s" % (pkgdest, pkg)