diff options
author | Dengke Du <dengke.du@windriver.com> | 2016-11-28 12:37:35 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-07 17:07:57 +0000 |
commit | 7d02e4eaa09d5e327f23c13b4ac301a41408c5f3 (patch) | |
tree | a594cdc71eacffa2bd54b14e20cd02a1308658a9 /meta | |
parent | 88e11f329561a5f865b88919f1487439a233341c (diff) | |
download | poky-7d02e4eaa09d5e327f23c13b4ac301a41408c5f3.tar.gz |
archiver.bbclass: fix do_ar_original error for matchbox-desktop
Error:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: matchbox-desktop-2.1-r0 do_ar_original: Can not determine archive names
for original source because 'name' URL parameter is unset in more than one URL.
Add it to at least one of these: git://git.yoctoproject.org/matchbox-desktop-2
file://vfolders/%2A
ERROR: matchbox-desktop-2.1-r0 do_ar_original: Function failed: do_ar_original
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function do_ar_original, when recipes have more than one source, it added the
"name" URL parameter as suffix to identify the created tarball.
But the URL type "file://" that we always used to represent a series of patches,
it didn't have "name" parameter, so it failed.
So set "name" to the folder name to identify the created tarball, for example:
In matchbox-desktop bb file, the SRC_URI contains:
file://vfloders/*
We set "name" to "vfolders" to identify the created tarball.
In connman-gnome bb file, the SRC_URI contains:
file://images/*
We set "name" to "images" to identify the created tarball.
(From OE-Core rev: 0af636c635391b30c987dedeffe597ef4f8a1ed8)
(From OE-Core rev: 9dd945d083ee742dcb75d24d4be40468121008a6)
(From OE-Core rev: 113de7ab1e61997147b4b292b7de162d44296d59)
Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/archiver.bbclass | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 05a7996676..78c6245553 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass | |||
@@ -171,12 +171,18 @@ python do_ar_original() { | |||
171 | # to be set when using the git fetcher, otherwise SRCREV cannot | 171 | # to be set when using the git fetcher, otherwise SRCREV cannot |
172 | # be set separately for each URL. | 172 | # be set separately for each URL. |
173 | params = bb.fetch2.decodeurl(url)[5] | 173 | params = bb.fetch2.decodeurl(url)[5] |
174 | type = bb.fetch2.decodeurl(url)[0] | ||
175 | location = bb.fetch2.decodeurl(url)[2] | ||
174 | name = params.get('name', '') | 176 | name = params.get('name', '') |
175 | if name in tarball_suffix: | 177 | if type.lower() == 'file': |
176 | if not name: | 178 | name_tmp = location.rstrip("*").rstrip("/") |
177 | bb.fatal("Cannot determine archive names for original source because 'name' URL parameter is unset in more than one URL. Add it to at least one of these: %s %s" % (tarball_suffix[name], url)) | 179 | name = os.path.basename(name_tmp) |
178 | else: | 180 | else: |
179 | bb.fatal("Cannot determine archive names for original source because 'name=' URL parameter '%s' is used twice. Make it unique in: %s %s" % (tarball_suffix[name], url)) | 181 | if name in tarball_suffix: |
182 | if not name: | ||
183 | bb.fatal("Cannot determine archive names for original source because 'name' URL parameter is unset in more than one URL. Add it to at least one of these: %s %s" % (tarball_suffix[name], url)) | ||
184 | else: | ||
185 | bb.fatal("Cannot determine archive names for original source because 'name=' URL parameter '%s' is used twice. Make it unique in: %s %s" % (tarball_suffix[name], url)) | ||
180 | tarball_suffix[name] = url | 186 | tarball_suffix[name] = url |
181 | create_tarball(d, tmpdir + '/.', name, ar_outdir) | 187 | create_tarball(d, tmpdir + '/.', name, ar_outdir) |
182 | 188 | ||