diff options
| author | Ross Burton <ross@openedhand.com> | 2008-05-01 11:42:24 +0000 | 
|---|---|---|
| committer | Ross Burton <ross@openedhand.com> | 2008-05-01 11:42:24 +0000 | 
| commit | 06fd2b6aaf0392368c6937aa56525f1aa6e76141 (patch) | |
| tree | c8e0a1a13b391a6e389f4e27db9efd0724100304 /meta/classes/base.bbclass | |
| parent | 6697984ca28fbc2dfaa77dfe6ff593bbafd5e545 (diff) | |
| download | openembedded-core-06fd2b6aaf0392368c6937aa56525f1aa6e76141.tar.gz openembedded-core-06fd2b6aaf0392368c6937aa56525f1aa6e76141.tar.bz2 openembedded-core-06fd2b6aaf0392368c6937aa56525f1aa6e76141.zip | |
base.bbclass: only depend on shasum-native if we don't have hashlib
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4389 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/classes/base.bbclass')
| -rw-r--r-- | meta/classes/base.bbclass | 26 | 
1 files changed, 22 insertions, 4 deletions
| diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 0c048b997b..d27f0d3c5d 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -91,10 +91,20 @@ 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 = "" +	deps = "" +     +	# bb.utils.sha256_file() will return None on Python 2.4 because hashlib +	# isn't present.  In this case we use a shasum-native to checksum, so if +	# hashlib isn't present then add shasum-native to the dependencies. +	try: +		import hashlib +	except ImportError: +		# Adding shasum-native as a dependency of shasum-native would be +		# stupid, so don't do that. +		if bb.data.getVar('PN', d, True) != "shasum-native": +			deps = "shasum-native " +              	# 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. @@ -484,7 +494,6 @@ python base_scenefunction () {  addtask fetch  do_fetch[dirs] = "${DL_DIR}" -do_fetch[depends] = "shasum-native:do_populate_staging"  python base_do_fetch() {  	import sys @@ -969,6 +978,15 @@ def base_after_parse(d):          depends = depends + " git-native:do_populate_staging"          bb.data.setVarFlag('do_fetch', 'depends', depends, d) +    # bb.utils.sha256_file() will fail if hashlib isn't present, so we fallback +    # on shasum-native.  We need to ensure that it is staged before we fetch. +    try: +        import hashlib +    except ImportError: +        depends = bb.data.getVarFlag('do_fetch', 'depends', d) or "" +        depends = depends + " shasum-native:do_populate_staging" +        bb.data.setVarFlag('do_fetch', 'depends', depends, d) +      mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)      old_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)      if (old_arch == mach_arch): | 
