summaryrefslogtreecommitdiffstats
path: root/scripts/lib/recipetool/create.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/recipetool/create.py')
-rw-r--r--scripts/lib/recipetool/create.py49
1 files changed, 27 insertions, 22 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index aade40b5a8..66c881a17a 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -331,6 +331,7 @@ def create_recipe(args):
331 import bb.process 331 import bb.process
332 import tempfile 332 import tempfile
333 import shutil 333 import shutil
334 import oe.recipeutils
334 335
335 pkgarch = "" 336 pkgarch = ""
336 if args.machine: 337 if args.machine:
@@ -429,7 +430,8 @@ def create_recipe(args):
429 lines_before.append('# Recipe created by %s' % os.path.basename(sys.argv[0])) 430 lines_before.append('# Recipe created by %s' % os.path.basename(sys.argv[0]))
430 lines_before.append('# This is the basis of a recipe and may need further editing in order to be fully functional.') 431 lines_before.append('# This is the basis of a recipe and may need further editing in order to be fully functional.')
431 lines_before.append('# (Feel free to remove these comments when editing.)') 432 lines_before.append('# (Feel free to remove these comments when editing.)')
432 lines_before.append('#') 433 # We need a blank line here so that patch_recipe_lines can rewind before the LICENSE comments
434 lines_before.append('')
433 435
434 licvalues = guess_license(srctree_use) 436 licvalues = guess_license(srctree_use)
435 lic_files_chksum = [] 437 lic_files_chksum = []
@@ -561,28 +563,28 @@ def create_recipe(args):
561 handler.process(srctree_use, classes, lines_before, lines_after, handled, extravalues) 563 handler.process(srctree_use, classes, lines_before, lines_after, handled, extravalues)
562 564
563 extrafiles = extravalues.pop('extrafiles', {}) 565 extrafiles = extravalues.pop('extrafiles', {})
566 extra_pn = extravalues.pop('PN', None)
567 extra_pv = extravalues.pop('PV', None)
564 568
565 if not realpv: 569 if extra_pv and not realpv:
566 realpv = extravalues.get('PV', None) 570 realpv = extra_pv
567 if realpv: 571 if not validate_pv(realpv):
568 if not validate_pv(realpv): 572 realpv = None
569 realpv = None 573 else:
570 else: 574 realpv = realpv.lower().split()[0]
571 realpv = realpv.lower().split()[0] 575 if '_' in realpv:
572 if '_' in realpv: 576 realpv = realpv.replace('_', '-')
573 realpv = realpv.replace('_', '-') 577 if extra_pn and not pn:
574 if not pn: 578 pn = extra_pn
575 pn = extravalues.get('PN', None) 579 if pn.startswith('GNU '):
576 if pn: 580 pn = pn[4:]
577 if pn.startswith('GNU '): 581 if ' ' in pn:
578 pn = pn[4:] 582 # Probably a descriptive identifier rather than a proper name
579 if ' ' in pn: 583 pn = None
580 # Probably a descriptive identifier rather than a proper name 584 else:
581 pn = None 585 pn = pn.lower()
582 else: 586 if '_' in pn:
583 pn = pn.lower() 587 pn = pn.replace('_', '-')
584 if '_' in pn:
585 pn = pn.replace('_', '-')
586 588
587 if not outfile: 589 if not outfile:
588 if not pn: 590 if not pn:
@@ -662,6 +664,9 @@ def create_recipe(args):
662 outlines.append('') 664 outlines.append('')
663 outlines.extend(lines_after) 665 outlines.extend(lines_after)
664 666
667 if extravalues:
668 _, outlines = oe.recipeutils.patch_recipe_lines(outlines, extravalues, trailing_newline=False)
669
665 if args.extract_to: 670 if args.extract_to:
666 scriptutils.git_convert_standalone_clone(srctree) 671 scriptutils.git_convert_standalone_clone(srctree)
667 if os.path.isdir(args.extract_to): 672 if os.path.isdir(args.extract_to):