summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-15 22:42:03 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-16 09:50:34 +0100
commit516bbba02fb60e762df6ff0df80372ddb72a2494 (patch)
tree7cc16166ee83a398b185a479b18d36e07101e39c
parent9cabb26aa24744ae88e5621be849ca0ac0572af2 (diff)
downloadpoky-516bbba02fb60e762df6ff0df80372ddb72a2494.tar.gz
useradd: Ensure preinst data is expanded correctly in pkgdata
The preinst data in pkgdata will not expand out the ${XXX_PARAM} variables since they don't use a package suffix. It happens that the final expansion used for the packages is corrected by a second trip through the datastore. The first version is used for calculation of the task output hash and recent improvements in hash reuse showed this data wasn't using included in the hashes, meaning for example builds with dynamic IDs were mixing sstate with builds using static IDs. The result was a mess. Fix this by expanding the data in the preinst correctly to use the package specific _PARAM values. (From OE-Core rev: 375430f249e7e0b6622e566e2478b40ba7e606ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/useradd.bbclass4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 287ef84334..20771a0ce5 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -230,6 +230,10 @@ fakeroot python populate_packages:prepend () {
230 preinst += 'perform_useradd () {\n%s}\n' % d.getVar('perform_useradd') 230 preinst += 'perform_useradd () {\n%s}\n' % d.getVar('perform_useradd')
231 preinst += 'perform_groupmems () {\n%s}\n' % d.getVar('perform_groupmems') 231 preinst += 'perform_groupmems () {\n%s}\n' % d.getVar('perform_groupmems')
232 preinst += d.getVar('useradd_preinst') 232 preinst += d.getVar('useradd_preinst')
233 # Expand out the *_PARAM variables to the package specific versions
234 for rep in ["GROUPADD_PARAM", "USERADD_PARAM", "GROUPMEMS_PARAM"]:
235 val = d.getVar(rep + ":" + pkg) or ""
236 preinst = preinst.replace("${" + rep + "}", val)
233 d.setVar('pkg_preinst:%s' % pkg, preinst) 237 d.setVar('pkg_preinst:%s' % pkg, preinst)
234 238
235 # RDEPENDS setup 239 # RDEPENDS setup