summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/standard.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/devtool/standard.py')
-rw-r--r--scripts/lib/devtool/standard.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index ff79c05e39..4a05c1d2e0 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -25,7 +25,7 @@ import logging
25import argparse 25import argparse
26import scriptutils 26import scriptutils
27import errno 27import errno
28from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, DevtoolError 28from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, DevtoolError
29from devtool import parse_recipe 29from devtool import parse_recipe
30 30
31logger = logging.getLogger('devtool') 31logger = logging.getLogger('devtool')
@@ -102,6 +102,9 @@ def add(args, config, basepath, workspace):
102 102
103 _add_md5(config, args.recipename, recipefile) 103 _add_md5(config, args.recipename, recipefile)
104 104
105 if args.fetch and not args.no_git:
106 setup_git_repo(srctree, args.version, 'devtool')
107
105 initial_rev = None 108 initial_rev = None
106 if os.path.exists(os.path.join(srctree, '.git')): 109 if os.path.exists(os.path.join(srctree, '.git')):
107 (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srctree) 110 (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srctree)
@@ -340,16 +343,11 @@ def _extract_source(srctree, keep_temp, devbranch, d):
340 "correct source directory could not be " 343 "correct source directory could not be "
341 "determined" % pn) 344 "determined" % pn)
342 345
343 if not os.path.exists(os.path.join(srcsubdir, '.git')): 346 setup_git_repo(srcsubdir, crd.getVar('PV', True), devbranch)
344 bb.process.run('git init', cwd=srcsubdir)
345 bb.process.run('git add .', cwd=srcsubdir)
346 bb.process.run('git commit -q -m "Initial commit from upstream at version %s"' % crd.getVar('PV', True), cwd=srcsubdir)
347 347
348 (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srcsubdir) 348 (stdout, _) = bb.process.run('git rev-parse HEAD', cwd=srcsubdir)
349 initial_rev = stdout.rstrip() 349 initial_rev = stdout.rstrip()
350 350
351 bb.process.run('git checkout -b %s' % devbranch, cwd=srcsubdir)
352 bb.process.run('git tag -f devtool-base', cwd=srcsubdir)
353 crd.setVar('PATCHTOOL', 'git') 351 crd.setVar('PATCHTOOL', 'git')
354 352
355 logger.info('Patching...') 353 logger.info('Patching...')
@@ -885,6 +883,7 @@ def register_commands(subparsers, context):
885 group.add_argument('--no-same-dir', help='Force build in a separate build directory', action="store_true") 883 group.add_argument('--no-same-dir', help='Force build in a separate build directory', action="store_true")
886 parser_add.add_argument('--fetch', '-f', help='Fetch the specified URI and extract it to create the source tree', metavar='URI') 884 parser_add.add_argument('--fetch', '-f', help='Fetch the specified URI and extract it to create the source tree', metavar='URI')
887 parser_add.add_argument('--version', '-V', help='Version to use within recipe (PV)') 885 parser_add.add_argument('--version', '-V', help='Version to use within recipe (PV)')
886 parser_add.add_argument('--no-git', '-g', help='If -f/--fetch is specified, do not set up source tree as a git repository', action="store_true")
888 parser_add.set_defaults(func=add) 887 parser_add.set_defaults(func=add)
889 888
890 parser_modify = subparsers.add_parser('modify', help='Modify the source for an existing recipe', 889 parser_modify = subparsers.add_parser('modify', help='Modify the source for an existing recipe',