diff options
Diffstat (limited to 'scripts/lib/devtool')
| -rw-r--r-- | scripts/lib/devtool/__init__.py | 8 | ||||
| -rw-r--r-- | scripts/lib/devtool/build_image.py | 10 | ||||
| -rw-r--r-- | scripts/lib/devtool/deploy.py | 2 | ||||
| -rw-r--r-- | scripts/lib/devtool/package.py | 2 | ||||
| -rw-r--r-- | scripts/lib/devtool/runqemu.py | 4 | ||||
| -rw-r--r-- | scripts/lib/devtool/sdk.py | 8 | ||||
| -rw-r--r-- | scripts/lib/devtool/search.py | 4 | ||||
| -rw-r--r-- | scripts/lib/devtool/standard.py | 58 | ||||
| -rw-r--r-- | scripts/lib/devtool/upgrade.py | 20 | ||||
| -rw-r--r-- | scripts/lib/devtool/utilcmds.py | 18 |
10 files changed, 67 insertions, 67 deletions
diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 99c5534893..fd2f042ba5 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py | |||
| @@ -87,13 +87,13 @@ def exec_watch(cmd, **options): | |||
| 87 | def exec_fakeroot(d, cmd, **kwargs): | 87 | def exec_fakeroot(d, cmd, **kwargs): |
| 88 | """Run a command under fakeroot (pseudo, in fact) so that it picks up the appropriate file permissions""" | 88 | """Run a command under fakeroot (pseudo, in fact) so that it picks up the appropriate file permissions""" |
| 89 | # Grab the command and check it actually exists | 89 | # Grab the command and check it actually exists |
| 90 | fakerootcmd = d.getVar('FAKEROOTCMD', True) | 90 | fakerootcmd = d.getVar('FAKEROOTCMD') |
| 91 | if not os.path.exists(fakerootcmd): | 91 | if not os.path.exists(fakerootcmd): |
| 92 | logger.error('pseudo executable %s could not be found - have you run a build yet? pseudo-native should install this and if you have run any build then that should have been built') | 92 | logger.error('pseudo executable %s could not be found - have you run a build yet? pseudo-native should install this and if you have run any build then that should have been built') |
| 93 | return 2 | 93 | return 2 |
| 94 | # Set up the appropriate environment | 94 | # Set up the appropriate environment |
| 95 | newenv = dict(os.environ) | 95 | newenv = dict(os.environ) |
| 96 | fakerootenv = d.getVar('FAKEROOTENV', True) | 96 | fakerootenv = d.getVar('FAKEROOTENV') |
| 97 | for varvalue in fakerootenv.split(): | 97 | for varvalue in fakerootenv.split(): |
| 98 | if '=' in varvalue: | 98 | if '=' in varvalue: |
| 99 | splitval = varvalue.split('=', 1) | 99 | splitval = varvalue.split('=', 1) |
| @@ -179,7 +179,7 @@ def use_external_build(same_dir, no_same_dir, d): | |||
| 179 | logger.info('Using source tree as build directory since --same-dir specified') | 179 | logger.info('Using source tree as build directory since --same-dir specified') |
| 180 | elif bb.data.inherits_class('autotools-brokensep', d): | 180 | elif bb.data.inherits_class('autotools-brokensep', d): |
| 181 | logger.info('Using source tree as build directory since recipe inherits autotools-brokensep') | 181 | logger.info('Using source tree as build directory since recipe inherits autotools-brokensep') |
| 182 | elif d.getVar('B', True) == os.path.abspath(d.getVar('S', True)): | 182 | elif d.getVar('B') == os.path.abspath(d.getVar('S')): |
| 183 | logger.info('Using source tree as build directory since that would be the default for this recipe') | 183 | logger.info('Using source tree as build directory since that would be the default for this recipe') |
| 184 | else: | 184 | else: |
| 185 | b_is_s = False | 185 | b_is_s = False |
| @@ -256,7 +256,7 @@ def ensure_npm(config, basepath, fixed_setup=False): | |||
| 256 | """ | 256 | """ |
| 257 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) | 257 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) |
| 258 | try: | 258 | try: |
| 259 | nativepath = tinfoil.config_data.getVar('STAGING_BINDIR_NATIVE', True) | 259 | nativepath = tinfoil.config_data.getVar('STAGING_BINDIR_NATIVE') |
| 260 | finally: | 260 | finally: |
| 261 | tinfoil.shutdown() | 261 | tinfoil.shutdown() |
| 262 | 262 | ||
diff --git a/scripts/lib/devtool/build_image.py b/scripts/lib/devtool/build_image.py index ae75511dc7..e5810389be 100644 --- a/scripts/lib/devtool/build_image.py +++ b/scripts/lib/devtool/build_image.py | |||
| @@ -34,8 +34,8 @@ def _get_packages(tinfoil, workspace, config): | |||
| 34 | result = [] | 34 | result = [] |
| 35 | for recipe in workspace: | 35 | for recipe in workspace: |
| 36 | data = parse_recipe(config, tinfoil, recipe, True) | 36 | data = parse_recipe(config, tinfoil, recipe, True) |
| 37 | if 'class-target' in data.getVar('OVERRIDES', True).split(':'): | 37 | if 'class-target' in data.getVar('OVERRIDES').split(':'): |
| 38 | if recipe in data.getVar('PACKAGES', True).split(): | 38 | if recipe in data.getVar('PACKAGES').split(): |
| 39 | result.append(recipe) | 39 | result.append(recipe) |
| 40 | else: | 40 | else: |
| 41 | logger.warning("Skipping recipe %s as it doesn't produce a " | 41 | logger.warning("Skipping recipe %s as it doesn't produce a " |
| @@ -95,7 +95,7 @@ def build_image_task(config, basepath, workspace, image, add_packages=None, task | |||
| 95 | raise TargetNotImageError() | 95 | raise TargetNotImageError() |
| 96 | 96 | ||
| 97 | # Get the actual filename used and strip the .bb and full path | 97 | # Get the actual filename used and strip the .bb and full path |
| 98 | target_basename = rd.getVar('FILE', True) | 98 | target_basename = rd.getVar('FILE') |
| 99 | target_basename = os.path.splitext(os.path.basename(target_basename))[0] | 99 | target_basename = os.path.splitext(os.path.basename(target_basename))[0] |
| 100 | config.set('SDK', 'target_basename', target_basename) | 100 | config.set('SDK', 'target_basename', target_basename) |
| 101 | config.write() | 101 | config.write() |
| @@ -132,9 +132,9 @@ def build_image_task(config, basepath, workspace, image, add_packages=None, task | |||
| 132 | afile.write('%s\n' % line) | 132 | afile.write('%s\n' % line) |
| 133 | 133 | ||
| 134 | if task in ['populate_sdk', 'populate_sdk_ext']: | 134 | if task in ['populate_sdk', 'populate_sdk_ext']: |
| 135 | outputdir = rd.getVar('SDK_DEPLOY', True) | 135 | outputdir = rd.getVar('SDK_DEPLOY') |
| 136 | else: | 136 | else: |
| 137 | outputdir = rd.getVar('DEPLOY_DIR_IMAGE', True) | 137 | outputdir = rd.getVar('DEPLOY_DIR_IMAGE') |
| 138 | 138 | ||
| 139 | tmp_tinfoil = tinfoil | 139 | tmp_tinfoil = tinfoil |
| 140 | tinfoil = None | 140 | tinfoil = None |
diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py index db7dffa307..9ec04e366a 100644 --- a/scripts/lib/devtool/deploy.py +++ b/scripts/lib/devtool/deploy.py | |||
| @@ -160,7 +160,7 @@ def deploy(args, config, basepath, workspace): | |||
| 160 | except Exception as e: | 160 | except Exception as e: |
| 161 | raise DevtoolError('Exception parsing recipe %s: %s' % | 161 | raise DevtoolError('Exception parsing recipe %s: %s' % |
| 162 | (args.recipename, e)) | 162 | (args.recipename, e)) |
| 163 | recipe_outdir = rd.getVar('D', True) | 163 | recipe_outdir = rd.getVar('D') |
| 164 | if not os.path.exists(recipe_outdir) or not os.listdir(recipe_outdir): | 164 | if not os.path.exists(recipe_outdir) or not os.listdir(recipe_outdir): |
| 165 | raise DevtoolError('No files to deploy - have you built the %s ' | 165 | raise DevtoolError('No files to deploy - have you built the %s ' |
| 166 | 'recipe? If so, the install step has not installed ' | 166 | 'recipe? If so, the install step has not installed ' |
diff --git a/scripts/lib/devtool/package.py b/scripts/lib/devtool/package.py index 47640641d1..b4f4720fd3 100644 --- a/scripts/lib/devtool/package.py +++ b/scripts/lib/devtool/package.py | |||
| @@ -32,7 +32,7 @@ def package(args, config, basepath, workspace): | |||
| 32 | try: | 32 | try: |
| 33 | image_pkgtype = config.get('Package', 'image_pkgtype', '') | 33 | image_pkgtype = config.get('Package', 'image_pkgtype', '') |
| 34 | if not image_pkgtype: | 34 | if not image_pkgtype: |
| 35 | image_pkgtype = tinfoil.config_data.getVar('IMAGE_PKGTYPE', True) | 35 | image_pkgtype = tinfoil.config_data.getVar('IMAGE_PKGTYPE') |
| 36 | 36 | ||
| 37 | deploy_dir_pkg = tinfoil.config_data.getVar('DEPLOY_DIR_%s' % image_pkgtype.upper(), True) | 37 | deploy_dir_pkg = tinfoil.config_data.getVar('DEPLOY_DIR_%s' % image_pkgtype.upper(), True) |
| 38 | finally: | 38 | finally: |
diff --git a/scripts/lib/devtool/runqemu.py b/scripts/lib/devtool/runqemu.py index ae25cee08c..641664e565 100644 --- a/scripts/lib/devtool/runqemu.py +++ b/scripts/lib/devtool/runqemu.py | |||
| @@ -31,8 +31,8 @@ def runqemu(args, config, basepath, workspace): | |||
| 31 | 31 | ||
| 32 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) | 32 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) |
| 33 | try: | 33 | try: |
| 34 | machine = tinfoil.config_data.getVar('MACHINE', True) | 34 | machine = tinfoil.config_data.getVar('MACHINE') |
| 35 | bindir_native = tinfoil.config_data.getVar('STAGING_BINDIR_NATIVE', True) | 35 | bindir_native = tinfoil.config_data.getVar('STAGING_BINDIR_NATIVE') |
| 36 | finally: | 36 | finally: |
| 37 | tinfoil.shutdown() | 37 | tinfoil.shutdown() |
| 38 | 38 | ||
diff --git a/scripts/lib/devtool/sdk.py b/scripts/lib/devtool/sdk.py index 922277b79f..f629db1876 100644 --- a/scripts/lib/devtool/sdk.py +++ b/scripts/lib/devtool/sdk.py | |||
| @@ -132,9 +132,9 @@ def sdk_update(args, config, basepath, workspace): | |||
| 132 | # Grab variable values | 132 | # Grab variable values |
| 133 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) | 133 | tinfoil = setup_tinfoil(config_only=True, basepath=basepath) |
| 134 | try: | 134 | try: |
| 135 | stamps_dir = tinfoil.config_data.getVar('STAMPS_DIR', True) | 135 | stamps_dir = tinfoil.config_data.getVar('STAMPS_DIR') |
| 136 | sstate_mirrors = tinfoil.config_data.getVar('SSTATE_MIRRORS', True) | 136 | sstate_mirrors = tinfoil.config_data.getVar('SSTATE_MIRRORS') |
| 137 | site_conf_version = tinfoil.config_data.getVar('SITE_CONF_VERSION', True) | 137 | site_conf_version = tinfoil.config_data.getVar('SITE_CONF_VERSION') |
| 138 | finally: | 138 | finally: |
| 139 | tinfoil.shutdown() | 139 | tinfoil.shutdown() |
| 140 | 140 | ||
| @@ -273,7 +273,7 @@ def sdk_install(args, config, basepath, workspace): | |||
| 273 | rd = parse_recipe(config, tinfoil, recipe, True) | 273 | rd = parse_recipe(config, tinfoil, recipe, True) |
| 274 | if not rd: | 274 | if not rd: |
| 275 | return 1 | 275 | return 1 |
| 276 | stampprefixes[recipe] = '%s.%s' % (rd.getVar('STAMP', True), tasks[0]) | 276 | stampprefixes[recipe] = '%s.%s' % (rd.getVar('STAMP'), tasks[0]) |
| 277 | if checkstamp(recipe): | 277 | if checkstamp(recipe): |
| 278 | logger.info('%s is already installed' % recipe) | 278 | logger.info('%s is already installed' % recipe) |
| 279 | else: | 279 | else: |
diff --git a/scripts/lib/devtool/search.py b/scripts/lib/devtool/search.py index b44bed7f6f..054985b85d 100644 --- a/scripts/lib/devtool/search.py +++ b/scripts/lib/devtool/search.py | |||
| @@ -31,7 +31,7 @@ def search(args, config, basepath, workspace): | |||
| 31 | 31 | ||
| 32 | tinfoil = setup_tinfoil(config_only=False, basepath=basepath) | 32 | tinfoil = setup_tinfoil(config_only=False, basepath=basepath) |
| 33 | try: | 33 | try: |
| 34 | pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR', True) | 34 | pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR') |
| 35 | defsummary = tinfoil.config_data.getVar('SUMMARY', False) or '' | 35 | defsummary = tinfoil.config_data.getVar('SUMMARY', False) or '' |
| 36 | 36 | ||
| 37 | keyword_rc = re.compile(args.keyword) | 37 | keyword_rc = re.compile(args.keyword) |
| @@ -70,7 +70,7 @@ def search(args, config, basepath, workspace): | |||
| 70 | 70 | ||
| 71 | if match: | 71 | if match: |
| 72 | rd = parse_recipe(config, tinfoil, fn, True) | 72 | rd = parse_recipe(config, tinfoil, fn, True) |
| 73 | summary = rd.getVar('SUMMARY', True) | 73 | summary = rd.getVar('SUMMARY') |
| 74 | if summary == rd.expand(defsummary): | 74 | if summary == rd.expand(defsummary): |
| 75 | summary = '' | 75 | summary = '' |
| 76 | print("%s %s" % (fn.ljust(20), summary)) | 76 | print("%s %s" % (fn.ljust(20), summary)) |
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index c52b00678e..e662e3b505 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
| @@ -303,7 +303,7 @@ def _check_compatible_recipe(pn, d): | |||
| 303 | raise DevtoolError("The %s recipe is a meta-recipe, and therefore is " | 303 | raise DevtoolError("The %s recipe is a meta-recipe, and therefore is " |
| 304 | "not supported by this tool" % pn, 4) | 304 | "not supported by this tool" % pn, 4) |
| 305 | 305 | ||
| 306 | if bb.data.inherits_class('externalsrc', d) and d.getVar('EXTERNALSRC', True): | 306 | if bb.data.inherits_class('externalsrc', d) and d.getVar('EXTERNALSRC'): |
| 307 | # Not an incompatibility error per se, so we don't pass the error code | 307 | # Not an incompatibility error per se, so we don't pass the error code |
| 308 | raise DevtoolError("externalsrc is currently enabled for the %s " | 308 | raise DevtoolError("externalsrc is currently enabled for the %s " |
| 309 | "recipe. This prevents the normal do_patch task " | 309 | "recipe. This prevents the normal do_patch task " |
| @@ -439,7 +439,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 439 | """Extract sources of a recipe""" | 439 | """Extract sources of a recipe""" |
| 440 | import oe.recipeutils | 440 | import oe.recipeutils |
| 441 | 441 | ||
| 442 | pn = d.getVar('PN', True) | 442 | pn = d.getVar('PN') |
| 443 | 443 | ||
| 444 | _check_compatible_recipe(pn, d) | 444 | _check_compatible_recipe(pn, d) |
| 445 | 445 | ||
| @@ -473,13 +473,13 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 473 | # Make a subdir so we guard against WORKDIR==S | 473 | # Make a subdir so we guard against WORKDIR==S |
| 474 | workdir = os.path.join(tempdir, 'workdir') | 474 | workdir = os.path.join(tempdir, 'workdir') |
| 475 | crd.setVar('WORKDIR', workdir) | 475 | crd.setVar('WORKDIR', workdir) |
| 476 | if not crd.getVar('S', True).startswith(workdir): | 476 | if not crd.getVar('S').startswith(workdir): |
| 477 | # Usually a shared workdir recipe (kernel, gcc) | 477 | # Usually a shared workdir recipe (kernel, gcc) |
| 478 | # Try to set a reasonable default | 478 | # Try to set a reasonable default |
| 479 | if bb.data.inherits_class('kernel', d): | 479 | if bb.data.inherits_class('kernel', d): |
| 480 | crd.setVar('S', '${WORKDIR}/source') | 480 | crd.setVar('S', '${WORKDIR}/source') |
| 481 | else: | 481 | else: |
| 482 | crd.setVar('S', '${WORKDIR}/%s' % os.path.basename(d.getVar('S', True))) | 482 | crd.setVar('S', '${WORKDIR}/%s' % os.path.basename(d.getVar('S'))) |
| 483 | if bb.data.inherits_class('kernel', d): | 483 | if bb.data.inherits_class('kernel', d): |
| 484 | # We don't want to move the source to STAGING_KERNEL_DIR here | 484 | # We don't want to move the source to STAGING_KERNEL_DIR here |
| 485 | crd.setVar('STAGING_KERNEL_DIR', '${S}') | 485 | crd.setVar('STAGING_KERNEL_DIR', '${S}') |
| @@ -533,7 +533,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 533 | # Extra step for kernel to populate the source directory | 533 | # Extra step for kernel to populate the source directory |
| 534 | runtask(fn, 'kernel_checkout') | 534 | runtask(fn, 'kernel_checkout') |
| 535 | 535 | ||
| 536 | srcsubdir = crd.getVar('S', True) | 536 | srcsubdir = crd.getVar('S') |
| 537 | 537 | ||
| 538 | # Move local source files into separate subdir | 538 | # Move local source files into separate subdir |
| 539 | recipe_patches = [os.path.basename(patch) for patch in | 539 | recipe_patches = [os.path.basename(patch) for patch in |
| @@ -581,7 +581,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 581 | "doesn't use any source or the correct source " | 581 | "doesn't use any source or the correct source " |
| 582 | "directory could not be determined" % pn) | 582 | "directory could not be determined" % pn) |
| 583 | 583 | ||
| 584 | setup_git_repo(srcsubdir, crd.getVar('PV', True), devbranch, d=d) | 584 | setup_git_repo(srcsubdir, crd.getVar('PV'), devbranch, d=d) |
| 585 | 585 | ||
| 586 | (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srcsubdir) | 586 | (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srcsubdir) |
| 587 | initial_rev = stdout.rstrip() | 587 | initial_rev = stdout.rstrip() |
| @@ -596,7 +596,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 596 | # Store generate and store kernel config | 596 | # Store generate and store kernel config |
| 597 | logger.info('Generating kernel config') | 597 | logger.info('Generating kernel config') |
| 598 | runtask(fn, 'configure') | 598 | runtask(fn, 'configure') |
| 599 | kconfig = os.path.join(crd.getVar('B', True), '.config') | 599 | kconfig = os.path.join(crd.getVar('B'), '.config') |
| 600 | 600 | ||
| 601 | 601 | ||
| 602 | tempdir_localdir = os.path.join(tempdir, 'oe-local-files') | 602 | tempdir_localdir = os.path.join(tempdir, 'oe-local-files') |
| @@ -628,7 +628,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d, tinfoil): | |||
| 628 | 628 | ||
| 629 | shutil.move(srcsubdir, srctree) | 629 | shutil.move(srcsubdir, srctree) |
| 630 | 630 | ||
| 631 | if os.path.abspath(d.getVar('S', True)) == os.path.abspath(d.getVar('WORKDIR', True)): | 631 | if os.path.abspath(d.getVar('S')) == os.path.abspath(d.getVar('WORKDIR')): |
| 632 | # If recipe extracts to ${WORKDIR}, symlink the files into the srctree | 632 | # If recipe extracts to ${WORKDIR}, symlink the files into the srctree |
| 633 | # (otherwise the recipe won't build as expected) | 633 | # (otherwise the recipe won't build as expected) |
| 634 | local_files_dir = os.path.join(srctree, 'oe-local-files') | 634 | local_files_dir = os.path.join(srctree, 'oe-local-files') |
| @@ -725,7 +725,7 @@ def modify(args, config, basepath, workspace): | |||
| 725 | if not rd: | 725 | if not rd: |
| 726 | return 1 | 726 | return 1 |
| 727 | 727 | ||
| 728 | pn = rd.getVar('PN', True) | 728 | pn = rd.getVar('PN') |
| 729 | if pn != args.recipename: | 729 | if pn != args.recipename: |
| 730 | logger.info('Mapping %s to %s' % (args.recipename, pn)) | 730 | logger.info('Mapping %s to %s' % (args.recipename, pn)) |
| 731 | if pn in workspace: | 731 | if pn in workspace: |
| @@ -747,7 +747,7 @@ def modify(args, config, basepath, workspace): | |||
| 747 | # Error already shown | 747 | # Error already shown |
| 748 | return 1 | 748 | return 1 |
| 749 | 749 | ||
| 750 | recipefile = rd.getVar('FILE', True) | 750 | recipefile = rd.getVar('FILE') |
| 751 | appendfile = recipe_to_append(recipefile, config, args.wildcard) | 751 | appendfile = recipe_to_append(recipefile, config, args.wildcard) |
| 752 | if os.path.exists(appendfile): | 752 | if os.path.exists(appendfile): |
| 753 | raise DevtoolError("Another variant of recipe %s is already in your " | 753 | raise DevtoolError("Another variant of recipe %s is already in your " |
| @@ -784,8 +784,8 @@ def modify(args, config, basepath, workspace): | |||
| 784 | initial_rev = stdout.rstrip() | 784 | initial_rev = stdout.rstrip() |
| 785 | 785 | ||
| 786 | # Check that recipe isn't using a shared workdir | 786 | # Check that recipe isn't using a shared workdir |
| 787 | s = os.path.abspath(rd.getVar('S', True)) | 787 | s = os.path.abspath(rd.getVar('S')) |
| 788 | workdir = os.path.abspath(rd.getVar('WORKDIR', True)) | 788 | workdir = os.path.abspath(rd.getVar('WORKDIR')) |
| 789 | if s.startswith(workdir) and s != workdir and os.path.dirname(s) != workdir: | 789 | if s.startswith(workdir) and s != workdir and os.path.dirname(s) != workdir: |
| 790 | # Handle if S is set to a subdirectory of the source | 790 | # Handle if S is set to a subdirectory of the source |
| 791 | srcsubdir = os.path.relpath(s, workdir).split(os.sep, 1)[1] | 791 | srcsubdir = os.path.relpath(s, workdir).split(os.sep, 1)[1] |
| @@ -866,17 +866,17 @@ def rename(args, config, basepath, workspace): | |||
| 866 | if not rd: | 866 | if not rd: |
| 867 | return 1 | 867 | return 1 |
| 868 | 868 | ||
| 869 | bp = rd.getVar('BP', True) | 869 | bp = rd.getVar('BP') |
| 870 | bpn = rd.getVar('BPN', True) | 870 | bpn = rd.getVar('BPN') |
| 871 | if newname != args.recipename: | 871 | if newname != args.recipename: |
| 872 | localdata = rd.createCopy() | 872 | localdata = rd.createCopy() |
| 873 | localdata.setVar('PN', newname) | 873 | localdata.setVar('PN', newname) |
| 874 | newbpn = localdata.getVar('BPN', True) | 874 | newbpn = localdata.getVar('BPN') |
| 875 | else: | 875 | else: |
| 876 | newbpn = bpn | 876 | newbpn = bpn |
| 877 | s = rd.getVar('S', False) | 877 | s = rd.getVar('S', False) |
| 878 | src_uri = rd.getVar('SRC_URI', False) | 878 | src_uri = rd.getVar('SRC_URI', False) |
| 879 | pv = rd.getVar('PV', True) | 879 | pv = rd.getVar('PV') |
| 880 | 880 | ||
| 881 | # Correct variable values that refer to the upstream source - these | 881 | # Correct variable values that refer to the upstream source - these |
| 882 | # values must stay the same, so if the name/version are changing then | 882 | # values must stay the same, so if the name/version are changing then |
| @@ -1277,8 +1277,8 @@ def _export_local_files(srctree, rd, destdir): | |||
| 1277 | elif fname != '.gitignore': | 1277 | elif fname != '.gitignore': |
| 1278 | added[fname] = None | 1278 | added[fname] = None |
| 1279 | 1279 | ||
| 1280 | workdir = rd.getVar('WORKDIR', True) | 1280 | workdir = rd.getVar('WORKDIR') |
| 1281 | s = rd.getVar('S', True) | 1281 | s = rd.getVar('S') |
| 1282 | if not s.endswith(os.sep): | 1282 | if not s.endswith(os.sep): |
| 1283 | s += os.sep | 1283 | s += os.sep |
| 1284 | 1284 | ||
| @@ -1300,14 +1300,14 @@ def _export_local_files(srctree, rd, destdir): | |||
| 1300 | 1300 | ||
| 1301 | def _determine_files_dir(rd): | 1301 | def _determine_files_dir(rd): |
| 1302 | """Determine the appropriate files directory for a recipe""" | 1302 | """Determine the appropriate files directory for a recipe""" |
| 1303 | recipedir = rd.getVar('FILE_DIRNAME', True) | 1303 | recipedir = rd.getVar('FILE_DIRNAME') |
| 1304 | for entry in rd.getVar('FILESPATH', True).split(':'): | 1304 | for entry in rd.getVar('FILESPATH').split(':'): |
| 1305 | relpth = os.path.relpath(entry, recipedir) | 1305 | relpth = os.path.relpath(entry, recipedir) |
| 1306 | if not os.sep in relpth: | 1306 | if not os.sep in relpth: |
| 1307 | # One (or zero) levels below only, so we don't put anything in machine-specific directories | 1307 | # One (or zero) levels below only, so we don't put anything in machine-specific directories |
| 1308 | if os.path.isdir(entry): | 1308 | if os.path.isdir(entry): |
| 1309 | return entry | 1309 | return entry |
| 1310 | return os.path.join(recipedir, rd.getVar('BPN', True)) | 1310 | return os.path.join(recipedir, rd.getVar('BPN')) |
| 1311 | 1311 | ||
| 1312 | 1312 | ||
| 1313 | def _update_recipe_srcrev(srctree, rd, appendlayerdir, wildcard_version, no_remove): | 1313 | def _update_recipe_srcrev(srctree, rd, appendlayerdir, wildcard_version, no_remove): |
| @@ -1315,7 +1315,7 @@ def _update_recipe_srcrev(srctree, rd, appendlayerdir, wildcard_version, no_remo | |||
| 1315 | import bb | 1315 | import bb |
| 1316 | import oe.recipeutils | 1316 | import oe.recipeutils |
| 1317 | 1317 | ||
| 1318 | recipefile = rd.getVar('FILE', True) | 1318 | recipefile = rd.getVar('FILE') |
| 1319 | logger.info('Updating SRCREV in recipe %s' % os.path.basename(recipefile)) | 1319 | logger.info('Updating SRCREV in recipe %s' % os.path.basename(recipefile)) |
| 1320 | 1320 | ||
| 1321 | # Get HEAD revision | 1321 | # Get HEAD revision |
| @@ -1397,7 +1397,7 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil | |||
| 1397 | import bb | 1397 | import bb |
| 1398 | import oe.recipeutils | 1398 | import oe.recipeutils |
| 1399 | 1399 | ||
| 1400 | recipefile = rd.getVar('FILE', True) | 1400 | recipefile = rd.getVar('FILE') |
| 1401 | append = workspace[recipename]['bbappend'] | 1401 | append = workspace[recipename]['bbappend'] |
| 1402 | if not os.path.exists(append): | 1402 | if not os.path.exists(append): |
| 1403 | raise DevtoolError('unable to find workspace bbappend for recipe %s' % | 1403 | raise DevtoolError('unable to find workspace bbappend for recipe %s' % |
| @@ -1408,7 +1408,7 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil | |||
| 1408 | raise DevtoolError('Unable to find initial revision - please specify ' | 1408 | raise DevtoolError('Unable to find initial revision - please specify ' |
| 1409 | 'it with --initial-rev') | 1409 | 'it with --initial-rev') |
| 1410 | 1410 | ||
| 1411 | dl_dir = rd.getVar('DL_DIR', True) | 1411 | dl_dir = rd.getVar('DL_DIR') |
| 1412 | if not dl_dir.endswith('/'): | 1412 | if not dl_dir.endswith('/'): |
| 1413 | dl_dir += '/' | 1413 | dl_dir += '/' |
| 1414 | 1414 | ||
| @@ -1567,7 +1567,7 @@ def update_recipe(args, config, basepath, workspace): | |||
| 1567 | updated = _update_recipe(args.recipename, workspace, rd, args.mode, args.append, args.wildcard_version, args.no_remove, args.initial_rev) | 1567 | updated = _update_recipe(args.recipename, workspace, rd, args.mode, args.append, args.wildcard_version, args.no_remove, args.initial_rev) |
| 1568 | 1568 | ||
| 1569 | if updated: | 1569 | if updated: |
| 1570 | rf = rd.getVar('FILE', True) | 1570 | rf = rd.getVar('FILE') |
| 1571 | if rf.startswith(config.workspace_path): | 1571 | if rf.startswith(config.workspace_path): |
| 1572 | logger.warn('Recipe file %s has been updated but is inside the workspace - you will need to move it (and any associated files next to it) out to the desired layer before using "devtool reset" in order to keep any changes' % rf) | 1572 | logger.warn('Recipe file %s has been updated but is inside the workspace - you will need to move it (and any associated files next to it) out to the desired layer before using "devtool reset" in order to keep any changes' % rf) |
| 1573 | finally: | 1573 | finally: |
| @@ -1671,7 +1671,7 @@ def reset(args, config, basepath, workspace): | |||
| 1671 | 1671 | ||
| 1672 | def _get_layer(layername, d): | 1672 | def _get_layer(layername, d): |
| 1673 | """Determine the base layer path for the specified layer name/path""" | 1673 | """Determine the base layer path for the specified layer name/path""" |
| 1674 | layerdirs = d.getVar('BBLAYERS', True).split() | 1674 | layerdirs = d.getVar('BBLAYERS').split() |
| 1675 | layers = {os.path.basename(p): p for p in layerdirs} | 1675 | layers = {os.path.basename(p): p for p in layerdirs} |
| 1676 | # Provide some shortcuts | 1676 | # Provide some shortcuts |
| 1677 | if layername.lower() in ['oe-core', 'openembedded-core']: | 1677 | if layername.lower() in ['oe-core', 'openembedded-core']: |
| @@ -1697,7 +1697,7 @@ def finish(args, config, basepath, workspace): | |||
| 1697 | return 1 | 1697 | return 1 |
| 1698 | 1698 | ||
| 1699 | destlayerdir = _get_layer(args.destination, tinfoil.config_data) | 1699 | destlayerdir = _get_layer(args.destination, tinfoil.config_data) |
| 1700 | origlayerdir = oe.recipeutils.find_layerdir(rd.getVar('FILE', True)) | 1700 | origlayerdir = oe.recipeutils.find_layerdir(rd.getVar('FILE')) |
| 1701 | 1701 | ||
| 1702 | if not os.path.isdir(destlayerdir): | 1702 | if not os.path.isdir(destlayerdir): |
| 1703 | raise DevtoolError('Unable to find layer or directory matching "%s"' % args.destination) | 1703 | raise DevtoolError('Unable to find layer or directory matching "%s"' % args.destination) |
| @@ -1728,7 +1728,7 @@ def finish(args, config, basepath, workspace): | |||
| 1728 | if not destpath: | 1728 | if not destpath: |
| 1729 | raise DevtoolError("Unable to determine destination layer path - check that %s specifies an actual layer and %s/conf/layer.conf specifies BBFILES. You may also need to specify a more complete path." % (args.destination, destlayerdir)) | 1729 | raise DevtoolError("Unable to determine destination layer path - check that %s specifies an actual layer and %s/conf/layer.conf specifies BBFILES. You may also need to specify a more complete path." % (args.destination, destlayerdir)) |
| 1730 | # Warn if the layer isn't in bblayers.conf (the code to create a bbappend will do this in other cases) | 1730 | # Warn if the layer isn't in bblayers.conf (the code to create a bbappend will do this in other cases) |
| 1731 | layerdirs = [os.path.abspath(layerdir) for layerdir in rd.getVar('BBLAYERS', True).split()] | 1731 | layerdirs = [os.path.abspath(layerdir) for layerdir in rd.getVar('BBLAYERS').split()] |
| 1732 | if not os.path.abspath(destlayerdir) in layerdirs: | 1732 | if not os.path.abspath(destlayerdir) in layerdirs: |
| 1733 | bb.warn('Specified destination layer is not currently enabled in bblayers.conf, so the %s recipe will now be unavailable in your current configuration until you add the layer there' % args.recipename) | 1733 | bb.warn('Specified destination layer is not currently enabled in bblayers.conf, so the %s recipe will now be unavailable in your current configuration until you add the layer there' % args.recipename) |
| 1734 | 1734 | ||
| @@ -1758,7 +1758,7 @@ def finish(args, config, basepath, workspace): | |||
| 1758 | # associated files to the specified layer | 1758 | # associated files to the specified layer |
| 1759 | no_clean = True | 1759 | no_clean = True |
| 1760 | logger.info('Moving recipe file to %s' % destpath) | 1760 | logger.info('Moving recipe file to %s' % destpath) |
| 1761 | recipedir = os.path.dirname(rd.getVar('FILE', True)) | 1761 | recipedir = os.path.dirname(rd.getVar('FILE')) |
| 1762 | for root, _, files in os.walk(recipedir): | 1762 | for root, _, files in os.walk(recipedir): |
| 1763 | for fn in files: | 1763 | for fn in files: |
| 1764 | srcpath = os.path.join(root, fn) | 1764 | srcpath = os.path.join(root, fn) |
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index d89e9a23ac..9595f3e7a4 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py | |||
| @@ -68,7 +68,7 @@ def _remove_patch_dirs(recipefolder): | |||
| 68 | shutil.rmtree(os.path.join(root,d)) | 68 | shutil.rmtree(os.path.join(root,d)) |
| 69 | 69 | ||
| 70 | def _recipe_contains(rd, var): | 70 | def _recipe_contains(rd, var): |
| 71 | rf = rd.getVar('FILE', True) | 71 | rf = rd.getVar('FILE') |
| 72 | varfiles = oe.recipeutils.get_var_files(rf, [var], rd) | 72 | varfiles = oe.recipeutils.get_var_files(rf, [var], rd) |
| 73 | for var, fn in varfiles.items(): | 73 | for var, fn in varfiles.items(): |
| 74 | if fn and fn.startswith(os.path.dirname(rf) + os.sep): | 74 | if fn and fn.startswith(os.path.dirname(rf) + os.sep): |
| @@ -132,7 +132,7 @@ def _write_append(rc, srctree, same_dir, no_same_dir, rev, copied, workspace, d) | |||
| 132 | if rev: | 132 | if rev: |
| 133 | f.write('# initial_rev: %s\n' % rev) | 133 | f.write('# initial_rev: %s\n' % rev) |
| 134 | if copied: | 134 | if copied: |
| 135 | f.write('# original_path: %s\n' % os.path.dirname(d.getVar('FILE', True))) | 135 | f.write('# original_path: %s\n' % os.path.dirname(d.getVar('FILE'))) |
| 136 | f.write('# original_files: %s\n' % ' '.join(copied)) | 136 | f.write('# original_files: %s\n' % ' '.join(copied)) |
| 137 | return af | 137 | return af |
| 138 | 138 | ||
| @@ -154,7 +154,7 @@ def _upgrade_error(e, rf, srctree): | |||
| 154 | raise DevtoolError(e) | 154 | raise DevtoolError(e) |
| 155 | 155 | ||
| 156 | def _get_uri(rd): | 156 | def _get_uri(rd): |
| 157 | srcuris = rd.getVar('SRC_URI', True).split() | 157 | srcuris = rd.getVar('SRC_URI').split() |
| 158 | if not len(srcuris): | 158 | if not len(srcuris): |
| 159 | raise DevtoolError('SRC_URI not found on recipe') | 159 | raise DevtoolError('SRC_URI not found on recipe') |
| 160 | # Get first non-local entry in SRC_URI - usually by convention it's | 160 | # Get first non-local entry in SRC_URI - usually by convention it's |
| @@ -185,7 +185,7 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin | |||
| 185 | 185 | ||
| 186 | crd = rd.createCopy() | 186 | crd = rd.createCopy() |
| 187 | 187 | ||
| 188 | pv = crd.getVar('PV', True) | 188 | pv = crd.getVar('PV') |
| 189 | crd.setVar('PV', newpv) | 189 | crd.setVar('PV', newpv) |
| 190 | 190 | ||
| 191 | tmpsrctree = None | 191 | tmpsrctree = None |
| @@ -270,15 +270,15 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, branch, keep_temp, tin | |||
| 270 | def _create_new_recipe(newpv, md5, sha256, srcrev, srcbranch, workspace, tinfoil, rd): | 270 | def _create_new_recipe(newpv, md5, sha256, srcrev, srcbranch, workspace, tinfoil, rd): |
| 271 | """Creates the new recipe under workspace""" | 271 | """Creates the new recipe under workspace""" |
| 272 | 272 | ||
| 273 | bpn = rd.getVar('BPN', True) | 273 | bpn = rd.getVar('BPN') |
| 274 | path = os.path.join(workspace, 'recipes', bpn) | 274 | path = os.path.join(workspace, 'recipes', bpn) |
| 275 | bb.utils.mkdirhier(path) | 275 | bb.utils.mkdirhier(path) |
| 276 | copied, _ = oe.recipeutils.copy_recipe_files(rd, path) | 276 | copied, _ = oe.recipeutils.copy_recipe_files(rd, path) |
| 277 | 277 | ||
| 278 | oldpv = rd.getVar('PV', True) | 278 | oldpv = rd.getVar('PV') |
| 279 | if not newpv: | 279 | if not newpv: |
| 280 | newpv = oldpv | 280 | newpv = oldpv |
| 281 | origpath = rd.getVar('FILE', True) | 281 | origpath = rd.getVar('FILE') |
| 282 | fullpath = _rename_recipe_files(origpath, bpn, oldpv, newpv, path) | 282 | fullpath = _rename_recipe_files(origpath, bpn, oldpv, newpv, path) |
| 283 | logger.debug('Upgraded %s => %s' % (origpath, fullpath)) | 283 | logger.debug('Upgraded %s => %s' % (origpath, fullpath)) |
| 284 | 284 | ||
| @@ -341,7 +341,7 @@ def upgrade(args, config, basepath, workspace): | |||
| 341 | if not rd: | 341 | if not rd: |
| 342 | return 1 | 342 | return 1 |
| 343 | 343 | ||
| 344 | pn = rd.getVar('PN', True) | 344 | pn = rd.getVar('PN') |
| 345 | if pn != args.recipename: | 345 | if pn != args.recipename: |
| 346 | logger.info('Mapping %s to %s' % (args.recipename, pn)) | 346 | logger.info('Mapping %s to %s' % (args.recipename, pn)) |
| 347 | if pn in workspace: | 347 | if pn in workspace: |
| @@ -353,12 +353,12 @@ def upgrade(args, config, basepath, workspace): | |||
| 353 | srctree = standard.get_default_srctree(config, pn) | 353 | srctree = standard.get_default_srctree(config, pn) |
| 354 | 354 | ||
| 355 | standard._check_compatible_recipe(pn, rd) | 355 | standard._check_compatible_recipe(pn, rd) |
| 356 | old_srcrev = rd.getVar('SRCREV', True) | 356 | old_srcrev = rd.getVar('SRCREV') |
| 357 | if old_srcrev == 'INVALID': | 357 | if old_srcrev == 'INVALID': |
| 358 | old_srcrev = None | 358 | old_srcrev = None |
| 359 | if old_srcrev and not args.srcrev: | 359 | if old_srcrev and not args.srcrev: |
| 360 | raise DevtoolError("Recipe specifies a SRCREV value; you must specify a new one when upgrading") | 360 | raise DevtoolError("Recipe specifies a SRCREV value; you must specify a new one when upgrading") |
| 361 | if rd.getVar('PV', True) == args.version and old_srcrev == args.srcrev: | 361 | if rd.getVar('PV') == args.version and old_srcrev == args.srcrev: |
| 362 | raise DevtoolError("Current and upgrade versions are the same version") | 362 | raise DevtoolError("Current and upgrade versions are the same version") |
| 363 | 363 | ||
| 364 | rf = None | 364 | rf = None |
diff --git a/scripts/lib/devtool/utilcmds.py b/scripts/lib/devtool/utilcmds.py index b761a80f8f..0437e6417c 100644 --- a/scripts/lib/devtool/utilcmds.py +++ b/scripts/lib/devtool/utilcmds.py | |||
| @@ -39,7 +39,7 @@ def edit_recipe(args, config, basepath, workspace): | |||
| 39 | rd = parse_recipe(config, tinfoil, args.recipename, True) | 39 | rd = parse_recipe(config, tinfoil, args.recipename, True) |
| 40 | if not rd: | 40 | if not rd: |
| 41 | return 1 | 41 | return 1 |
| 42 | recipefile = rd.getVar('FILE', True) | 42 | recipefile = rd.getVar('FILE') |
| 43 | finally: | 43 | finally: |
| 44 | tinfoil.shutdown() | 44 | tinfoil.shutdown() |
| 45 | else: | 45 | else: |
| @@ -62,20 +62,20 @@ def configure_help(args, config, basepath, workspace): | |||
| 62 | rd = parse_recipe(config, tinfoil, args.recipename, appends=True, filter_workspace=False) | 62 | rd = parse_recipe(config, tinfoil, args.recipename, appends=True, filter_workspace=False) |
| 63 | if not rd: | 63 | if not rd: |
| 64 | return 1 | 64 | return 1 |
| 65 | b = rd.getVar('B', True) | 65 | b = rd.getVar('B') |
| 66 | s = rd.getVar('S', True) | 66 | s = rd.getVar('S') |
| 67 | configurescript = os.path.join(s, 'configure') | 67 | configurescript = os.path.join(s, 'configure') |
| 68 | confdisabled = 'noexec' in rd.getVarFlags('do_configure') or 'do_configure' not in (rd.getVar('__BBTASKS', False) or []) | 68 | confdisabled = 'noexec' in rd.getVarFlags('do_configure') or 'do_configure' not in (rd.getVar('__BBTASKS', False) or []) |
| 69 | configureopts = oe.utils.squashspaces(rd.getVar('CONFIGUREOPTS', True) or '') | 69 | configureopts = oe.utils.squashspaces(rd.getVar('CONFIGUREOPTS') or '') |
| 70 | extra_oeconf = oe.utils.squashspaces(rd.getVar('EXTRA_OECONF', True) or '') | 70 | extra_oeconf = oe.utils.squashspaces(rd.getVar('EXTRA_OECONF') or '') |
| 71 | extra_oecmake = oe.utils.squashspaces(rd.getVar('EXTRA_OECMAKE', True) or '') | 71 | extra_oecmake = oe.utils.squashspaces(rd.getVar('EXTRA_OECMAKE') or '') |
| 72 | do_configure = rd.getVar('do_configure', True) or '' | 72 | do_configure = rd.getVar('do_configure') or '' |
| 73 | do_configure_noexpand = rd.getVar('do_configure', False) or '' | 73 | do_configure_noexpand = rd.getVar('do_configure', False) or '' |
| 74 | packageconfig = rd.getVarFlags('PACKAGECONFIG') or [] | 74 | packageconfig = rd.getVarFlags('PACKAGECONFIG') or [] |
| 75 | autotools = bb.data.inherits_class('autotools', rd) and ('oe_runconf' in do_configure or 'autotools_do_configure' in do_configure) | 75 | autotools = bb.data.inherits_class('autotools', rd) and ('oe_runconf' in do_configure or 'autotools_do_configure' in do_configure) |
| 76 | cmake = bb.data.inherits_class('cmake', rd) and ('cmake_do_configure' in do_configure) | 76 | cmake = bb.data.inherits_class('cmake', rd) and ('cmake_do_configure' in do_configure) |
| 77 | cmake_do_configure = rd.getVar('cmake_do_configure', True) | 77 | cmake_do_configure = rd.getVar('cmake_do_configure') |
| 78 | pn = rd.getVar('PN', True) | 78 | pn = rd.getVar('PN') |
| 79 | finally: | 79 | finally: |
| 80 | tinfoil.shutdown() | 80 | tinfoil.shutdown() |
| 81 | 81 | ||
