diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/lib/oe/rootfs.py')
-rw-r--r-- | import-layers/yocto-poky/meta/lib/oe/rootfs.py | 68 |
1 files changed, 1 insertions, 67 deletions
diff --git a/import-layers/yocto-poky/meta/lib/oe/rootfs.py b/import-layers/yocto-poky/meta/lib/oe/rootfs.py index 754ef563a..f8f717c05 100644 --- a/import-layers/yocto-poky/meta/lib/oe/rootfs.py +++ b/import-layers/yocto-poky/meta/lib/oe/rootfs.py @@ -92,10 +92,6 @@ class Rootfs(object, metaclass=ABCMeta): self.d.getVar('PACKAGE_FEED_ARCHS')) - @abstractmethod - def _handle_intercept_failure(self, failed_script): - pass - """ The _cleanup() method should be used to clean-up stuff that we don't really want to end up on target. For example, in the case of RPM, the DB locks. @@ -178,20 +174,10 @@ class Rootfs(object, metaclass=ABCMeta): post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND") rootfs_post_install_cmds = self.d.getVar('ROOTFS_POSTINSTALL_COMMAND') - postinst_intercepts_dir = self.d.getVar("POSTINST_INTERCEPTS_DIR") - if not postinst_intercepts_dir: - postinst_intercepts_dir = self.d.expand("${COREBASE}/scripts/postinst-intercepts") - intercepts_dir = os.path.join(self.d.getVar('WORKDIR'), - "intercept_scripts") - - bb.utils.remove(intercepts_dir, True) - bb.utils.mkdirhier(self.image_rootfs) bb.utils.mkdirhier(self.deploydir) - shutil.copytree(postinst_intercepts_dir, intercepts_dir) - execute_pre_post_process(self.d, pre_process_cmds) if self.progress_reporter: @@ -207,7 +193,7 @@ class Rootfs(object, metaclass=ABCMeta): execute_pre_post_process(self.d, rootfs_post_install_cmds) - self._run_intercepts() + self.pm.run_intercepts() execute_pre_post_process(self.d, post_process_cmds) @@ -293,44 +279,6 @@ class Rootfs(object, metaclass=ABCMeta): # Remove the package manager data files self.pm.remove_packaging_data() - def _run_intercepts(self): - intercepts_dir = os.path.join(self.d.getVar('WORKDIR'), - "intercept_scripts") - - bb.note("Running intercept scripts:") - os.environ['D'] = self.image_rootfs - os.environ['STAGING_DIR_NATIVE'] = self.d.getVar('STAGING_DIR_NATIVE') - for script in os.listdir(intercepts_dir): - script_full = os.path.join(intercepts_dir, script) - - if script == "postinst_intercept" or not os.access(script_full, os.X_OK): - continue - - bb.note("> Executing %s intercept ..." % script) - - try: - output = subprocess.check_output(script_full, stderr=subprocess.STDOUT) - if output: bb.note(output.decode("utf-8")) - 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) - def _run_ldconfig(self): if self.d.getVar('LDCONFIGDEPEND'): bb.note("Executing: ldconfig -r" + self.image_rootfs + "-c new -v") @@ -523,14 +471,6 @@ class RpmRootfs(Rootfs): self._log_check_warn() self._log_check_error() - def _handle_intercept_failure(self, registered_pkgs): - rpm_postinsts_dir = self.image_rootfs + self.d.expand('${sysconfdir}/rpm-postinsts/') - bb.utils.mkdirhier(rpm_postinsts_dir) - - # Save the package postinstalls in /etc/rpm-postinsts - for pkg in registered_pkgs.split(): - self.pm.save_rpmpostinst(pkg) - def _cleanup(self): self.pm._invoke_dnf(["clean", "all"]) @@ -711,9 +651,6 @@ class DpkgRootfs(DpkgOpkgRootfs): src_postinst_dir = self.d.expand("${IMAGE_ROOTFS}/var/lib/dpkg/info") return self._save_postinsts_common(dst_postinst_dir, src_postinst_dir) - def _handle_intercept_failure(self, registered_pkgs): - self.pm.mark_packages("unpacked", registered_pkgs.split()) - def _log_check(self): self._log_check_warn() self._log_check_error() @@ -982,9 +919,6 @@ class OpkgRootfs(DpkgOpkgRootfs): src_postinst_dir = self.d.expand("${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/info") return self._save_postinsts_common(dst_postinst_dir, src_postinst_dir) - def _handle_intercept_failure(self, registered_pkgs): - self.pm.mark_packages("unpacked", registered_pkgs.split()) - def _log_check(self): self._log_check_warn() self._log_check_error() |