summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRandy Witt <randy.e.witt@linux.intel.com>2016-04-07 16:34:53 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-09 23:00:43 +0100
commit07204257441406a773320c59c21a4775d3640aa8 (patch)
tree07552b62541df793904e3aa09e31a00a574e0dd2 /scripts
parent64cca7ebc9f8fa7de3dc7da7f901f3eb9c9adbca (diff)
downloadpoky-07204257441406a773320c59c21a4775d3640aa8.tar.gz
devtool: Create unlocked-sigs.inc containing items in the workspace
When a recipe is added to the workspace, the signatures for the tasks will change. This means that bitbake must be told to allow the signatures to be different if they are in locked-sigs.inc. This is done by creating an unlocked-sigs.inc file which contains all the recipes in the workspace each time devtool reads the workspace. So not only will necessary things get added, previously added items will be removed by virtue of them no longer being in the workspace. This also makes sure that the extensible sdk picks up unlocked-sigs.inc as part of the configuration. [YOCTO #9195] (From OE-Core rev: 6b2b5ffdcb8bf885a1c756ea132e9d2c55e13dcd) Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/devtool20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/devtool b/scripts/devtool
index e1198b1369..4780390654 100755
--- a/scripts/devtool
+++ b/scripts/devtool
@@ -125,6 +125,25 @@ def read_workspace():
125 'recipefile': recipefile} 125 'recipefile': recipefile}
126 logger.debug('Found recipe %s' % workspace[pn]) 126 logger.debug('Found recipe %s' % workspace[pn])
127 127
128def create_unlockedsigs():
129 """ This function will make unlocked-sigs.inc match the recipes in the
130 workspace. This runs on every run of devtool, but it lets us ensure
131 the unlocked items are in sync with the workspace. """
132
133 confdir = os.path.join(basepath, 'conf')
134 unlockedsigs = os.path.join(confdir, 'unlocked-sigs.inc')
135 bb.utils.mkdirhier(confdir)
136 with open(os.path.join(confdir, 'unlocked-sigs.inc'), 'w') as f:
137 f.write("# DO NOT MODIFY! YOUR CHANGES WILL BE LOST.\n" +
138 "# This layer was created by the OpenEmbedded devtool" +
139 " utility in order to\n" +
140 "# contain recipes that are unlocked.\n")
141
142 f.write('SIGGEN_UNLOCKED_RECIPES += "\\\n')
143 for pn in workspace:
144 f.write(' ' + pn)
145 f.write('"')
146
128def create_workspace(args, config, basepath, workspace): 147def create_workspace(args, config, basepath, workspace):
129 if args.layerpath: 148 if args.layerpath:
130 workspacedir = os.path.abspath(args.layerpath) 149 workspacedir = os.path.abspath(args.layerpath)
@@ -299,6 +318,7 @@ def main():
299 318
300 if not getattr(args, 'no_workspace', False): 319 if not getattr(args, 'no_workspace', False):
301 read_workspace() 320 read_workspace()
321 create_unlockedsigs()
302 322
303 try: 323 try:
304 ret = args.func(args, config, basepath, workspace) 324 ret = args.func(args, config, basepath, workspace)