aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/devtool/standard.py14
-rw-r--r--scripts/lib/recipetool/create.py15
2 files changed, 25 insertions, 4 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 06b184bca5..cb4b57be92 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -65,11 +65,21 @@ def add(args, config, basepath, workspace):
recipedir = os.path.join(config.workspace_path, 'recipes', args.recipename)
bb.utils.mkdirhier(recipedir)
+ rfv = None
if args.version:
if '_' in args.version or ' ' in args.version:
logger.error('Invalid version string "%s"' % args.version)
return -1
- bp = "%s_%s" % (args.recipename, args.version)
+ rfv = args.version
+ if args.fetch:
+ if args.fetch.startswith('git://'):
+ rfv = 'git'
+ elif args.fetch.startswith('svn://'):
+ rfv = 'svn'
+ elif args.fetch.startswith('hg://'):
+ rfv = 'hg'
+ if rfv:
+ bp = "%s_%s" % (args.recipename, rfv)
else:
bp = args.recipename
recipefile = os.path.join(recipedir, "%s.bb" % bp)
@@ -83,6 +93,8 @@ def add(args, config, basepath, workspace):
extracmdopts = '-x %s' % srctree
else:
source = srctree
+ if args.version:
+ extracmdopts += ' -V %s' % args.version
stdout, stderr = exec_build_env_command(config.init_path, basepath, 'recipetool --color=%s create -o %s "%s" %s' % (color, recipefile, source, extracmdopts))
logger.info('Recipe %s has been automatically created; further editing may be required to make it fully functional' % recipefile)
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 0c413688c0..cd45998f64 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -187,9 +187,17 @@ def create_recipe(args):
pn = recipefn
pv = None
+ if args.version:
+ pv = args.version
+
+ if pv and pv not in 'git svn hg'.split():
+ realpv = pv
+ else:
+ realpv = None
+
if srcuri:
- if pv and pv not in 'git svn hg'.split():
- srcuri = srcuri.replace(pv, '${PV}')
+ if realpv:
+ srcuri = srcuri.replace(realpv, '${PV}')
else:
lines_before.append('# No information for SRC_URI yet (only an external source tree was specified)')
lines_before.append('SRC_URI = "%s"' % srcuri)
@@ -201,7 +209,7 @@ def create_recipe(args):
if srcuri and supports_srcrev(srcuri):
lines_before.append('')
lines_before.append('# Modify these as desired')
- lines_before.append('PV = "1.0+git${SRCPV}"')
+ lines_before.append('PV = "%s+git${SRCPV}"' % (realpv or '1.0'))
lines_before.append('SRCREV = "${AUTOREV}"')
lines_before.append('')
@@ -418,5 +426,6 @@ def register_command(subparsers):
parser_create.add_argument('-o', '--outfile', help='Specify filename for recipe to create', required=True)
parser_create.add_argument('-m', '--machine', help='Make recipe machine-specific as opposed to architecture-specific', action='store_true')
parser_create.add_argument('-x', '--extract-to', metavar='EXTRACTPATH', help='Assuming source is a URL, fetch it and extract it to the directory specified as %(metavar)s')
+ parser_create.add_argument('-V', '--version', help='Version to use within recipe (PV)')
parser_create.set_defaults(func=create_recipe)