summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2007-04-18 21:22:03 +0000
committerRichard Purdie <rpurdie@rpsys.net>2007-04-18 21:22:03 +0000
commit1a7cff6077b770083062952ef6f6f7517bfd2c07 (patch)
treeb9a061bdf6748a9036b76dacdce8f1902d3d1824 /classes/base.bbclass
parentd003671f7013dd70860e9a8e4ab1414676439461 (diff)
classes: Add support for intertask dependencies to be specified, needed for correct operation with bitbake 1.8.x. Old behaviour is maintained in a special legacy anonymous function in base.bbclass. The patch is an improved version of the one discussed on the mailing list.
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r--classes/base.bbclass66
1 files changed, 47 insertions, 19 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index aa693cd4c6..d78bd3cec3 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -78,22 +78,9 @@ def base_dep_prepend(d):
# the case where host == build == target, for now we don't work in
# that case though.
#
+ deps = "shasum-native "
if bb.data.getVar('PN', d, True) == "shasum-native":
deps = ""
- else:
- deps = "shasum-native "
-
- # INHIBIT_PATCH_TOOL don't apply the patch tool dependency
- inhibit_patch = (bb.data.getVar("INHIBIT_PATCH_TOOL", d, True) == "1") or False
-
- # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
- # we need that built is the responsibility of the patch function / class, not
- # the application.
- patchdeps = bb.data.getVar("PATCHTOOL", d, 1)
- if patchdeps and not inhibit_patch:
- patchdeps = "%s-native" % patchdeps
- if not patchdeps in bb.data.getVar("PROVIDES", d, 1):
- deps += patchdeps
if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
if (bb.data.getVar('HOST_SYS', d, 1) !=
@@ -819,11 +806,6 @@ def base_after_parse(d):
pn = bb.data.getVar('PN', d, 1)
- # OBSOLETE in bitbake 1.7.4
- srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
- if srcdate != None:
- bb.data.setVar('SRCDATE', srcdate, d)
-
use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1)
if use_nls != None:
bb.data.setVar('USE_NLS', use_nls, d)
@@ -850,8 +832,54 @@ def base_after_parse(d):
bb.data.setVar('PACKAGE_ARCH', mach_arch, d)
return
+#
+# Various backwards compatibility stuff to be removed
+# when we switch to bitbake 1.8.2+ as a minimum version
+#
+def base_oldbitbake_workarounds(d):
+ import bb
+ from bb import __version__
+ from distutils.version import LooseVersion
+
+ if (LooseVersion(__version__) > "1.8.0"):
+ return
+
+ pn = bb.data.getVar('PN', d, True)
+ srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, True)
+ if srcdate != None:
+ bb.data.setVar('SRCDATE', srcdate, d)
+ depends = bb.data.getVar('DEPENDS', d, False)
+ patchdeps = bb.data.getVar("PATCHTOOL", d, True)
+ if patchdeps:
+ patchdeps = "%s-native " % patchdeps
+ if not patchdeps in bb.data.getVar("PROVIDES", d, True):
+ depends = patchdeps + depends
+ if bb.data.inherits_class('rootfs_ipk', d):
+ depends = "ipkg-native ipkg-utils-native fakeroot-native " + depends
+ if bb.data.inherits_class('rootfs_deb', d):
+ depends = "dpkg-native apt-native fakeroot-native " + depends
+ if bb.data.inherits_class('image', d):
+ depends = "makedevs-native " + depends
+ for type in (bb.data.getVar('IMAGE_FSTYPES', d, True) or "").split():
+ deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
+ if deps:
+ depends = depends + " %s" % deps
+ for dep in (bb.data.getVar('EXTRA_IMAGEDEPENDS', d, True) or "").split():
+ depends = depends + " %s" % dep
+
+ packages = bb.data.getVar('PACKAGES', d, True)
+ if packages != '':
+ if bb.data.inherits_class('package_ipk', d):
+ depends = "ipkg-utils-native " + depends
+ if bb.data.inherits_class('package_deb', d):
+ depends = "dpkg-native " + depends
+ if bb.data.inherits_class('package', d):
+ depends = "${PACKAGE_DEPENDS} fakeroot-native" + depends
+
+ bb.data.setVar('DEPENDS', depends, d)
python () {
+ base_oldbitbake_workarounds(d)
base_after_parse(d)
}