diff options
-rw-r--r-- | scripts/lib/devtool/standard.py | 14 | ||||
-rw-r--r-- | scripts/lib/recipetool/create.py | 15 |
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) |