diff options
| author | Alexander Kanavin <alexander.kanavin@linux.intel.com> | 2018-01-29 14:01:29 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-30 11:50:12 +0000 |
| commit | 4c808e31ea3506e2f603e0afd068dd98af032f02 (patch) | |
| tree | b72698003d394986371c40b51c246502a14c0f07 /meta/lib/oe/rootfs.py | |
| parent | cb63b4bfa0bc3d1cbfe70bd68514f36a78cf30f5 (diff) | |
| download | poky-4c808e31ea3506e2f603e0afd068dd98af032f02.tar.gz | |
meta/lib/oe/rootfs.py: separate first boot deferral logic into a separate function
(From OE-Core rev: 4612291411ad788df88d5fc6dde98ff53fd91002)
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/rootfs.py')
| -rw-r--r-- | meta/lib/oe/rootfs.py | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 754ef563ab..d3ec8a56c4 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py | |||
| @@ -293,6 +293,24 @@ class Rootfs(object, metaclass=ABCMeta): | |||
| 293 | # Remove the package manager data files | 293 | # Remove the package manager data files |
| 294 | self.pm.remove_packaging_data() | 294 | self.pm.remove_packaging_data() |
| 295 | 295 | ||
| 296 | def _postpone_to_first_boot(self, postinst_intercept_hook): | ||
| 297 | with open(postinst_intercept_hook) as intercept: | ||
| 298 | registered_pkgs = None | ||
| 299 | for line in intercept.read().split("\n"): | ||
| 300 | m = re.match("^##PKGS:(.*)", line) | ||
| 301 | if m is not None: | ||
| 302 | registered_pkgs = m.group(1).strip() | ||
| 303 | break | ||
| 304 | |||
| 305 | if registered_pkgs is not None: | ||
| 306 | bb.warn("The postinstalls for the following packages " | ||
| 307 | "will be postponed for first boot: %s" % | ||
| 308 | registered_pkgs) | ||
| 309 | |||
| 310 | # call the backend dependent handler | ||
| 311 | self._handle_intercept_failure(registered_pkgs) | ||
| 312 | |||
| 313 | |||
| 296 | def _run_intercepts(self): | 314 | def _run_intercepts(self): |
| 297 | intercepts_dir = os.path.join(self.d.getVar('WORKDIR'), | 315 | intercepts_dir = os.path.join(self.d.getVar('WORKDIR'), |
| 298 | "intercept_scripts") | 316 | "intercept_scripts") |
| @@ -314,22 +332,7 @@ class Rootfs(object, metaclass=ABCMeta): | |||
| 314 | except subprocess.CalledProcessError as e: | 332 | except subprocess.CalledProcessError as e: |
| 315 | bb.warn("The postinstall intercept hook '%s' failed, details in log.do_rootfs" % script) | 333 | bb.warn("The postinstall intercept hook '%s' failed, details in log.do_rootfs" % script) |
| 316 | bb.note("Exit code %d. Output:\n%s" % (e.returncode, e.output.decode("utf-8"))) | 334 | bb.note("Exit code %d. Output:\n%s" % (e.returncode, e.output.decode("utf-8"))) |
| 317 | 335 | self._postpone_to_first_boot(script_full) | |
| 318 | with open(script_full) as intercept: | ||
| 319 | registered_pkgs = None | ||
| 320 | for line in intercept.read().split("\n"): | ||
| 321 | m = re.match("^##PKGS:(.*)", line) | ||
| 322 | if m is not None: | ||
| 323 | registered_pkgs = m.group(1).strip() | ||
| 324 | break | ||
| 325 | |||
| 326 | if registered_pkgs is not None: | ||
| 327 | bb.warn("The postinstalls for the following packages " | ||
| 328 | "will be postponed for first boot: %s" % | ||
| 329 | registered_pkgs) | ||
| 330 | |||
| 331 | # call the backend dependent handler | ||
| 332 | self._handle_intercept_failure(registered_pkgs) | ||
| 333 | 336 | ||
| 334 | def _run_ldconfig(self): | 337 | def _run_ldconfig(self): |
| 335 | if self.d.getVar('LDCONFIGDEPEND'): | 338 | if self.d.getVar('LDCONFIGDEPEND'): |
