diff options
-rw-r--r-- | classes/base.bbclass | 18 | ||||
-rw-r--r-- | docs/usermanual/reference/var_src_uri.xml | 7 |
2 files changed, 20 insertions, 5 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass index c083d48d85..bbc1cc78dc 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -61,10 +61,14 @@ def base_chk_file_vars(parser, localpath, params, data): name = params["name"] except KeyError: return False - flagName = "%s.md5sum" % name - want_md5sum = bb.data.getVarFlag("SRC_URI", flagName, data) - flagName = "%s.sha256sum" % name - want_sha256sum = bb.data.getVarFlag("SRC_URI", flagName, data) + if name: + md5flag = "%s.md5sum" % name + sha256flag = "%s.sha256sum" % name + else: + md5flag = "md5sum" + sha256flag = "sha256sum" + want_md5sum = bb.data.getVarFlag("SRC_URI", md5flag, data) + want_sha256sum = bb.data.getVarFlag("SRC_URI", sha256flag, data) if (want_sha256sum == None and want_md5sum == None): # no checksums to check, nothing to do @@ -702,12 +706,18 @@ python base_do_fetch() { pn = bb.data.getVar('PN', d, True) # Check each URI + first_uri = True for url in src_uri.split(): localpath = bb.data.expand(bb.fetch.localpath(url, localdata), localdata) (type,host,path,_,_,params) = bb.decodeurl(url) uri = "%s://%s%s" % (type,host,path) try: if type in [ "http", "https", "ftp", "ftps" ]: + # We provide a default shortcut of plain [] for the first fetch uri + # Explicit names in any uri overrides this default. + if not "name" in params and first_uri: + first_uri = False + params["name"] = "" if not (base_chk_file_vars(parser, localpath, params, d) or base_chk_file(parser, pn, pv,uri, localpath, d)): if not bb.data.getVar("OE_ALLOW_INSECURE_DOWNLOADS", d, True): bb.fatal("%s-%s: %s has no checksum defined, cannot check archive integrity" % (pn,pv,uri)) diff --git a/docs/usermanual/reference/var_src_uri.xml b/docs/usermanual/reference/var_src_uri.xml index a35e1eede2..f6e61050aa 100644 --- a/docs/usermanual/reference/var_src_uri.xml +++ b/docs/usermanual/reference/var_src_uri.xml @@ -29,7 +29,12 @@ be used in preference to retrieving a new version . Any source that is retrieved from a remote URI will be stored in the download source directory and an appropriate md5 sum generated and stored alongside it.</para> - + <para>Checksums for http/https/ftp/ftps uris are stored in each recipe in + the form of<screen>SRC_URI[md5sum] = "9a7a11ffd52d9c4553ea8c0134a6fa86" +SRC_URI[sha256sum] = "36bdb85c97b39ac604bc58cb7857ee08295242c78a12848ef8a31701921b9434"</screen> + for the first remote SRC_URI that has <emphasis>no</emphasis> explicit <command>name=foo</command> + associated with it. Following <emphasis>unnamed</emphasis> SRC_URIs without + a checksum will throw errors.</para> <para>Each URI supports a set of additional options. These options are tag/value pairs of the form <command>"a=b"</command> and are semi-colon separated from each other and from the URI. The follow examples shows two |