diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-14 12:34:17 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-16 17:41:59 +0100 |
commit | 4b424bdfdbbe16b6e41f6cd1de75a51e3799cf94 (patch) | |
tree | f59682b14ffa5de9fef7dd62b88dddd43e3de400 /meta/classes/base.bbclass | |
parent | f47a396964c4de76838f8c59b8226625817aa369 (diff) | |
download | poky-4b424bdfdbbe16b6e41f6cd1de75a51e3799cf94.tar.gz |
reproducible: Merge code into base.bbclass
Reproducibility is here to stay and needs to be part of our default workflow.
Move the remaining code to base.bbclass so it is always a first class citizen
and it is clear people need to be mindful of it.
(From OE-Core rev: abb0671d2cebfd7e8df94796404bbe9c7f961058)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/base.bbclass')
-rw-r--r-- | meta/classes/base.bbclass | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index bca3944ae7..a65fcc6c1d 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -180,6 +180,44 @@ python base_do_unpack() { | |||
180 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) | 180 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) |
181 | } | 181 | } |
182 | 182 | ||
183 | SSTATETASKS += "do_deploy_source_date_epoch" | ||
184 | |||
185 | do_deploy_source_date_epoch () { | ||
186 | mkdir -p ${SDE_DEPLOYDIR} | ||
187 | if [ -e ${SDE_FILE} ]; then | ||
188 | echo "Deploying SDE from ${SDE_FILE} -> ${SDE_DEPLOYDIR}." | ||
189 | cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt | ||
190 | else | ||
191 | echo "${SDE_FILE} not found!" | ||
192 | fi | ||
193 | } | ||
194 | |||
195 | python do_deploy_source_date_epoch_setscene () { | ||
196 | sstate_setscene(d) | ||
197 | bb.utils.mkdirhier(d.getVar('SDE_DIR')) | ||
198 | sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), '__source_date_epoch.txt') | ||
199 | if os.path.exists(sde_file): | ||
200 | target = d.getVar('SDE_FILE') | ||
201 | bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target)) | ||
202 | bb.utils.rename(sde_file, target) | ||
203 | else: | ||
204 | bb.debug(1, "%s not found!" % sde_file) | ||
205 | } | ||
206 | |||
207 | do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}" | ||
208 | do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}" | ||
209 | addtask do_deploy_source_date_epoch_setscene | ||
210 | addtask do_deploy_source_date_epoch before do_configure after do_patch | ||
211 | |||
212 | python create_source_date_epoch_stamp() { | ||
213 | source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S')) | ||
214 | oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d) | ||
215 | } | ||
216 | do_unpack[postfuncs] += "create_source_date_epoch_stamp" | ||
217 | |||
218 | def get_source_date_epoch_value(d): | ||
219 | return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d) | ||
220 | |||
183 | def get_layers_branch_rev(d): | 221 | def get_layers_branch_rev(d): |
184 | layers = (d.getVar("BBLAYERS") or "").split() | 222 | layers = (d.getVar("BBLAYERS") or "").split() |
185 | layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \ | 223 | layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \ |