classes/base.bbclass: place shasum-native as the first package to build
authorHolger Freyther <zecke@selfish.org>
Mon, 2 Apr 2007 20:42:15 +0000 (20:42 +0000)
committerHolger Freyther <zecke@selfish.org>
Mon, 2 Apr 2007 20:42:15 +0000 (20:42 +0000)
classes/base.bbclass: Make sure shasum-native does not depend on quilt
classes/sanity.bbclass: No need to require sha256sum as we use oe_sha256sum
packages/shasum: Change the name, make the -native version not have any deps

classes/base.bbclass
classes/sanity.bbclass
packages/shasum/shasum-native.bb
packages/shasum/shasum.inc

index 6f8196c..6011790 100644 (file)
@@ -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)
index f38644b..ec73e0c 100644 (file)
@@ -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 ):
index 9a4b42c..75b25d3 100644 (file)
@@ -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}
 }
index 1ff6e83..343a2d2 100644 (file)
@@ -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
 }