summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/base.bbclass19
-rw-r--r--classes/sanity.bbclass2
-rw-r--r--packages/shasum/shasum-native.bb6
-rw-r--r--packages/shasum/shasum.inc4
4 files changed, 22 insertions, 9 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 6f8196cf80..6011790ebe 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -20,7 +20,7 @@ def base_chk_load_parser(config_path):
return parser
-def base_chk_file(parser, pn, pv, src_uri, localpath):
+def base_chk_file(parser, pn, pv, src_uri, localpath, data):
import os, bb
# Try PN-PV-SRC_URI first and then try PN-SRC_URI
# we rely on the get method to create errors
@@ -54,7 +54,7 @@ def base_chk_file(parser, pn, pv, src_uri, localpath):
raise Exception("Executing md5sum failed")
try:
- shapipe = os.popen('sha256sum -b ' + localpath)
+ shapipe = os.popen('PATH=%s oe_sha256sum %s' % (bb.data.getVar('PATH', data, True), localpath))
shadata = (shapipe.readline().split() or [ "" ])[0]
shapipe.close()
except OSError:
@@ -78,16 +78,22 @@ def base_dep_prepend(d):
# the case where host == build == target, for now we don't work in
# that case though.
#
- deps = ""
+ 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:
+ if patchdeps and not inhibit_patch:
patchdeps = "%s-native" % patchdeps
if not patchdeps in bb.data.getVar("PROVIDES", d, 1):
- deps = patchdeps
+ deps += patchdeps
if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
if (bb.data.getVar('HOST_SYS', d, 1) !=
@@ -439,6 +445,7 @@ python base_do_mrproper() {
addtask fetch
do_fetch[dirs] = "${DL_DIR}"
+do_fetch[depends] = "shasum-native:do_populate_staging"
python base_do_fetch() {
import sys
@@ -493,7 +500,7 @@ python base_do_fetch() {
(type,host,path,_,_,_) = bb.decodeurl(url)
uri = "%s://%s%s" % (type,host,path)
try:
- if not base_chk_file(parser, pn, pv,uri, localpath):
+ if not base_chk_file(parser, pn, pv,uri, localpath, d):
bb.note("%s-%s-%s has no section, not checking URI" % (pn,pv,uri))
except Exception:
raise bb.build.FuncFailed("Checksum of '%s' failed" % uri)
diff --git a/classes/sanity.bbclass b/classes/sanity.bbclass
index f38644b6cb..ec73e0cab7 100644
--- a/classes/sanity.bbclass
+++ b/classes/sanity.bbclass
@@ -86,7 +86,7 @@ def check_sanity(e):
if not check_app_exists('${BUILD_PREFIX}g++', e.data):
missing = missing + "C++ Compiler (${BUILD_PREFIX}g++),"
- required_utilities = "patch diffstat texi2html makeinfo cvs svn git bzip2 tar gzip gawk sha256sum md5sum"
+ required_utilities = "patch diffstat texi2html makeinfo cvs svn git bzip2 tar gzip gawk md5sum"
for util in required_utilities.split():
if not check_app_exists( util, e.data ):
diff --git a/packages/shasum/shasum-native.bb b/packages/shasum/shasum-native.bb
index 9a4b42c64a..75b25d3123 100644
--- a/packages/shasum/shasum-native.bb
+++ b/packages/shasum/shasum-native.bb
@@ -2,6 +2,10 @@ require shasum.inc
inherit native
+INHIBIT_DEFAULT_DEPS = "1"
+INHIBIT_PATCH_TOOL = "1"
+
+do_fetch[depends] = ""
do_populate_staging() {
- install ${S}/sha256sum ${STAGING_BINDIR}
+ install ${S}/oe_sha256sum ${STAGING_BINDIR}
}
diff --git a/packages/shasum/shasum.inc b/packages/shasum/shasum.inc
index 1ff6e83767..343a2d288e 100644
--- a/packages/shasum/shasum.inc
+++ b/packages/shasum/shasum.inc
@@ -1,6 +1,8 @@
SUMMARY = "A simple tool to create sha256 hashes from a file"
LICENSE = "LGPL"
+PR = "r1"
+
S = "${WORKDIR}"
@@ -14,5 +16,5 @@ do_configure() {
}
do_compile() {
- $CC $CFLAGS $CPPFLAGS -o sha256sum main.c sha256.c
+ $CC $CFLAGS $CPPFLAGS -o oe_sha256sum main.c sha256.c
}