mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
rootfs.py: add new cleanup method
This commit adds a new _cleanup() internal method that will be called at the end of rootfs creation, so that each backend can delete various files that were probably generated during rootfs postprocess execution, etc. [YOCTO #6049] (From OE-Core rev: 6151d69875f3f4f097b6e2fdef2a0f3ab391e2fd) Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a5994c0837
commit
a56d8e9ede
@@ -50,6 +50,15 @@ class Rootfs(object):
|
||||
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.
|
||||
The method is called, once, at the end of create() method.
|
||||
"""
|
||||
@abstractmethod
|
||||
def _cleanup(self):
|
||||
pass
|
||||
|
||||
def _exec_shell_cmd(self, cmd):
|
||||
fakerootcmd = self.d.getVar('FAKEROOT', True)
|
||||
if fakerootcmd is not None:
|
||||
@@ -117,6 +126,8 @@ class Rootfs(object):
|
||||
|
||||
self._generate_kernel_module_deps()
|
||||
|
||||
self._cleanup()
|
||||
|
||||
def _uninstall_uneeded(self):
|
||||
if base_contains("IMAGE_FEATURES", "package-management",
|
||||
True, False, self.d):
|
||||
@@ -358,6 +369,13 @@ class RpmRootfs(Rootfs):
|
||||
for pkg in registered_pkgs.split():
|
||||
self.pm.save_rpmpostinst(pkg)
|
||||
|
||||
def _cleanup(self):
|
||||
# during the execution of postprocess commands, rpm is called several
|
||||
# times to get the files installed, dependencies, etc. This creates the
|
||||
# __db.00* (Berkeley DB files that hold locks, rpm specific environment
|
||||
# settings, etc.), that should not get into the final rootfs
|
||||
self.pm.unlock_rpm_db()
|
||||
|
||||
|
||||
class DpkgRootfs(Rootfs):
|
||||
def __init__(self, d, manifest_dir):
|
||||
@@ -431,6 +449,9 @@ class DpkgRootfs(Rootfs):
|
||||
def _log_check(self):
|
||||
pass
|
||||
|
||||
def _cleanup(self):
|
||||
pass
|
||||
|
||||
|
||||
class OpkgRootfs(Rootfs):
|
||||
def __init__(self, d, manifest_dir):
|
||||
@@ -694,6 +715,10 @@ class OpkgRootfs(Rootfs):
|
||||
def _log_check(self):
|
||||
pass
|
||||
|
||||
def _cleanup(self):
|
||||
pass
|
||||
|
||||
|
||||
def create_rootfs(d, manifest_dir=None):
|
||||
env_bkp = os.environ.copy()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user