From 3fde63363ab90672d6baf204c2b2dca98320fe7d Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Wed, 6 Sep 2017 21:55:01 +1200 Subject: devtool: ensure recipes devtool is working on are unlocked within the eSDK Alongside reworking the way devtool extracts source, we now need to ensure that within the extensible SDK where task signatures are locked, the signatures of the tasks for the recipes being worked on get unlocked at the right time or otherwise we'll now get taskhash mismatches when running devtool modify on a recipe that was included in the eSDK such as the kernel (due to a separate bug). The existing mechanism for auto-unlocking recipes was a little weak and was happening too late, so I've reimplemented it so that: (a) it gets triggered immediately when the recipe/append is created (b) we avoid writing to the unlocked signatures file unnecessarily (since it's a global configuration file) and (c) within the eSDK configuration we whitelist SIGGEN_UNLOCKED_RECIPES to avoid unnecessary reparses every time we perform one of the devtool operations that does need to change this list. Fixes [YOCTO #11883] (not the underlying cause, but this manifestation of the issue). (From OE-Core rev: 4e9a0be32fc30fb87d65da7cd1a4015c99533aff) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/devtool | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'scripts/devtool') diff --git a/scripts/devtool b/scripts/devtool index c9ad9ddb95..5292f187e5 100755 --- a/scripts/devtool +++ b/scripts/devtool @@ -130,25 +130,6 @@ def read_workspace(): 'recipefile': recipefile} logger.debug('Found recipe %s' % workspace[pn]) -def create_unlockedsigs(): - """ This function will make unlocked-sigs.inc match the recipes in the - workspace. This runs on every run of devtool, but it lets us ensure - the unlocked items are in sync with the workspace. """ - - confdir = os.path.join(basepath, 'conf') - unlockedsigs = os.path.join(confdir, 'unlocked-sigs.inc') - bb.utils.mkdirhier(confdir) - with open(os.path.join(confdir, 'unlocked-sigs.inc'), 'w') as f: - f.write("# DO NOT MODIFY! YOUR CHANGES WILL BE LOST.\n" + - "# This layer was created by the OpenEmbedded devtool" + - " utility in order to\n" + - "# contain recipes that are unlocked.\n") - - f.write('SIGGEN_UNLOCKED_RECIPES += "\\\n') - for pn in workspace: - f.write(' ' + pn) - f.write('"') - def create_workspace(args, config, basepath, workspace): if args.layerpath: workspacedir = os.path.abspath(args.layerpath) @@ -332,7 +313,6 @@ def main(): if not getattr(args, 'no_workspace', False): read_workspace() - create_unlockedsigs() try: ret = args.func(args, config, basepath, workspace) -- cgit v1.2.3-54-g00ecf