mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
devtool: finish/update-recipe: restrict mode srcrev to recipes fetched from SCM
When specifying --mode / -m srcrev with devtool finish/update-recipe on
recipes that are not fetched from a SCM repository we get the following
error:
Traceback (most recent call last):
[..]
File "<...>/poky/meta/lib/oe/patch.py", line 49, in runcmd
raise CmdError(cmd, exitstatus >> 8, "stdout: %s\nstderr: %s" % (stdout, stderr))
oe.patch.CmdError: Command Error: 'sh -c 'git format-patch --no-signature --no-numbered INVALID -o /tmp/oepatchbj7pfmzj -- .'' exited with 0 Output:
stdout:
stderr: fatal: bad revision 'INVALID'
Fix this by adding a check and abort with a proper error message.
(From OE-Core rev: 9254b08fbfba3734d5bc717a382d909595833db1)
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5b77f60e85d07921ae5e808daa1fd7d8c3dc40ea)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
97bdfea698
commit
d8a257d2c1
@@ -1530,6 +1530,11 @@ def _update_recipe_srcrev(recipename, workspace, srctree, rd, appendlayerdir, wi
|
||||
recipedir = os.path.basename(recipefile)
|
||||
logger.info('Updating SRCREV in recipe %s%s' % (recipedir, dry_run_suffix))
|
||||
|
||||
# Get original SRCREV
|
||||
old_srcrev = rd.getVar('SRCREV') or ''
|
||||
if old_srcrev == "INVALID":
|
||||
raise DevtoolError('Update mode srcrev is only valid for recipe fetched from an SCM repository')
|
||||
|
||||
# Get HEAD revision
|
||||
try:
|
||||
stdout, _ = bb.process.run('git rev-parse HEAD', cwd=srctree)
|
||||
@@ -1556,7 +1561,6 @@ def _update_recipe_srcrev(recipename, workspace, srctree, rd, appendlayerdir, wi
|
||||
if not no_remove:
|
||||
# Find list of existing patches in recipe file
|
||||
patches_dir = tempfile.mkdtemp(dir=tempdir)
|
||||
old_srcrev = rd.getVar('SRCREV') or ''
|
||||
upd_p, new_p, del_p = _export_patches(srctree, rd, old_srcrev,
|
||||
patches_dir)
|
||||
logger.debug('Patches: update %s, new %s, delete %s' % (dict(upd_p), dict(new_p), dict(del_p)))
|
||||
|
||||
Reference in New Issue
Block a user