diff options
author | Roxana Ciobanu <roxana.ciobanu@intel.com> | 2014-07-21 18:55:13 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-07-23 21:59:13 +0100 |
commit | 56bfda20f4d38373395b455d1e4b79b46d111a20 (patch) | |
tree | 9ec44d3da13f337346468eaf6176e4903ce20b77 /meta/lib/oe | |
parent | f4456df240054dc96d19da5d117614f736da6b94 (diff) | |
download | ast2050-yocto-poky-56bfda20f4d38373395b455d1e4b79b46d111a20.zip ast2050-yocto-poky-56bfda20f4d38373395b455d1e4b79b46d111a20.tar.gz |
image.bbclass/rootfs.py: add variables to rootfs[vardeps]
Added base variables and package backend specific variables to
rootfs[vardeps] in order for rootfs to rebuild when changes are made.
Set some variables as [func] to inform bitbake that they are shell
scripts, so that it invokes its shell dependency parsing. Without
marking them as functions, changes in the actual function body would
not trigger rootfs rebuilds.
[YOCTO #6502]
(From OE-Core rev: b8b6214b885a0757f0e628937f8fe21c92c45155)
Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r-- | meta/lib/oe/rootfs.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index b34856c..d145d5d 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -327,6 +327,10 @@ class RpmRootfs(Rootfs): self.pm.rpm_setup_smart_target_config() + @staticmethod + def _depends_list(): + return ['DEPLOY_DIR_RPM', 'INC_RPM_IMAGE_GEN', 'RPM_PREPROCESS_COMMANDS', 'RPM_POSTPROCESS_COMMANDS'] + def _get_delayed_postinsts(self): postinst_dir = self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts") if os.path.isdir(postinst_dir): @@ -418,6 +422,10 @@ class DpkgRootfs(Rootfs): self.pm.run_pre_post_installs() + @staticmethod + def _depends_list(): + return ['DEPLOY_DIR_DEB', 'DEB_SDK_ARCH', 'APTCONF_TARGET', 'APT_ARGS', 'DPKG_ARCH', 'DEB_PREPROCESS_COMMANDS', 'DEB_POSTPROCESS_COMMAND'] + def _get_delayed_postinsts(self): pkg_list = [] with open(self.image_rootfs + "/var/lib/dpkg/status") as status: @@ -680,6 +688,10 @@ class OpkgRootfs(Rootfs): if self.inc_opkg_image_gen == "1": self.pm.backup_packaging_data() + @staticmethod + def _depends_list(): + return ['IPKGCONF_SDK', 'IPK_FEED_URIS', 'DEPLOY_DIR_IPK', 'IPKGCONF_TARGET', 'INC_IPK_IMAGE_GEN', 'OPKG_ARGS', 'OPKGLIBDIR', 'OPKG_PREPROCESS_COMMANDS', 'OPKG_POSTPROCESS_COMMANDS', 'OPKGLIBDIR'] + def _get_delayed_postinsts(self): pkg_list = [] status_file = os.path.join(self.image_rootfs, @@ -723,6 +735,15 @@ class OpkgRootfs(Rootfs): def _cleanup(self): pass +def get_class_for_type(imgtype): + return {"rpm": RpmRootfs, + "ipk": OpkgRootfs, + "deb": DpkgRootfs}[imgtype] + +def variable_depends(d, manifest_dir=None): + img_type = d.getVar('IMAGE_PKGTYPE', True) + cls = get_class_for_type(img_type) + return cls._depends_list() def create_rootfs(d, manifest_dir=None): env_bkp = os.environ.copy() |