aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alexander.kanavin@linux.intel.com>2018-01-29 14:01:29 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-29 23:08:12 +0000
commit4612291411ad788df88d5fc6dde98ff53fd91002 (patch)
tree69416a50c78aff2fecc219cfe098fdd6d7be81b5
parent853ac4a061e47c70b61e255c3cf6109d2058d2cc (diff)
downloadopenembedded-core-contrib-4612291411ad788df88d5fc6dde98ff53fd91002.tar.gz
meta/lib/oe/rootfs.py: separate first boot deferral logic into a separate function
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oe/rootfs.py35
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):
# Remove the package manager data files
self.pm.remove_packaging_data()
+ def _postpone_to_first_boot(self, postinst_intercept_hook):
+ with open(postinst_intercept_hook) as intercept:
+ registered_pkgs = None
+ for line in intercept.read().split("\n"):
+ m = re.match("^##PKGS:(.*)", line)
+ if m is not None:
+ registered_pkgs = m.group(1).strip()
+ break
+
+ if registered_pkgs is not None:
+ bb.warn("The postinstalls for the following packages "
+ "will be postponed for first boot: %s" %
+ registered_pkgs)
+
+ # call the backend dependent handler
+ self._handle_intercept_failure(registered_pkgs)
+
+
def _run_intercepts(self):
intercepts_dir = os.path.join(self.d.getVar('WORKDIR'),
"intercept_scripts")
@@ -314,22 +332,7 @@ class Rootfs(object, metaclass=ABCMeta):
except subprocess.CalledProcessError as e:
bb.warn("The postinstall intercept hook '%s' failed, details in log.do_rootfs" % script)
bb.note("Exit code %d. Output:\n%s" % (e.returncode, e.output.decode("utf-8")))
-
- with open(script_full) as intercept:
- registered_pkgs = None
- for line in intercept.read().split("\n"):
- m = re.match("^##PKGS:(.*)", line)
- if m is not None:
- registered_pkgs = m.group(1).strip()
- break
-
- if registered_pkgs is not None:
- bb.warn("The postinstalls for the following packages "
- "will be postponed for first boot: %s" %
- registered_pkgs)
-
- # call the backend dependent handler
- self._handle_intercept_failure(registered_pkgs)
+ self._postpone_to_first_boot(script_full)
def _run_ldconfig(self):
if self.d.getVar('LDCONFIGDEPEND'):