summaryrefslogtreecommitdiffstats
path: root/scripts/lib/bsp/kernel.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/bsp/kernel.py')
-rw-r--r--scripts/lib/bsp/kernel.py133
1 files changed, 66 insertions, 67 deletions
diff --git a/scripts/lib/bsp/kernel.py b/scripts/lib/bsp/kernel.py
index 07832282c3..5bfa663809 100644
--- a/scripts/lib/bsp/kernel.py
+++ b/scripts/lib/bsp/kernel.py
@@ -42,7 +42,7 @@ def find_bblayers():
42 try: 42 try:
43 builddir = os.environ["BUILDDIR"] 43 builddir = os.environ["BUILDDIR"]
44 except KeyError: 44 except KeyError:
45 print "BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)" 45 print("BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)")
46 sys.exit(1) 46 sys.exit(1)
47 bblayers_conf = os.path.join(builddir, "conf/bblayers.conf") 47 bblayers_conf = os.path.join(builddir, "conf/bblayers.conf")
48 48
@@ -53,7 +53,7 @@ def find_bblayers():
53 stdout=subprocess.PIPE).stdout.read() 53 stdout=subprocess.PIPE).stdout.read()
54 54
55 if not bitbake_env_lines: 55 if not bitbake_env_lines:
56 print "Couldn't get '%s' output, exiting." % bitbake_env_cmd 56 print("Couldn't get '%s' output, exiting." % bitbake_env_cmd)
57 sys.exit(1) 57 sys.exit(1)
58 58
59 for line in bitbake_env_lines.split('\n'): 59 for line in bitbake_env_lines.split('\n'):
@@ -62,8 +62,7 @@ def find_bblayers():
62 break 62 break
63 63
64 if not bblayers: 64 if not bblayers:
65 print "Couldn't find BBLAYERS in %s output, exiting." % \ 65 print("Couldn't find BBLAYERS in %s output, exiting." % bitbake_env_cmd)
66 bitbake_env_cmd
67 sys.exit(1) 66 sys.exit(1)
68 67
69 raw_layers = bblayers.split() 68 raw_layers = bblayers.split()
@@ -110,8 +109,8 @@ def find_bsp_layer(machine):
110 if layer.endswith(machine): 109 if layer.endswith(machine):
111 return layer 110 return layer
112 111
113 print "Unable to find the BSP layer for machine %s." % machine 112 print("Unable to find the BSP layer for machine %s." % machine)
114 print "Please make sure it is listed in bblayers.conf" 113 print("Please make sure it is listed in bblayers.conf")
115 sys.exit(1) 114 sys.exit(1)
116 115
117 116
@@ -190,8 +189,8 @@ def yocto_kernel_config_list(scripts_path, machine):
190 """ 189 """
191 config_items = read_config_items(scripts_path, machine) 190 config_items = read_config_items(scripts_path, machine)
192 191
193 print "The current set of machine-specific kernel config items for %s is:" % machine 192 print("The current set of machine-specific kernel config items for %s is:" % machine)
194 print gen_choices_str(config_items) 193 print(gen_choices_str(config_items))
195 194
196 195
197def yocto_kernel_config_rm(scripts_path, machine): 196def yocto_kernel_config_rm(scripts_path, machine):
@@ -202,7 +201,7 @@ def yocto_kernel_config_rm(scripts_path, machine):
202 """ 201 """
203 config_items = read_config_items(scripts_path, machine) 202 config_items = read_config_items(scripts_path, machine)
204 203
205 print "Specify the kernel config items to remove:" 204 print("Specify the kernel config items to remove:")
206 input = raw_input(gen_choices_str(config_items)) 205 input = raw_input(gen_choices_str(config_items))
207 rm_choices = input.split() 206 rm_choices = input.split()
208 rm_choices.sort() 207 rm_choices.sort()
@@ -213,18 +212,18 @@ def yocto_kernel_config_rm(scripts_path, machine):
213 try: 212 try:
214 idx = int(choice) - 1 213 idx = int(choice) - 1
215 except ValueError: 214 except ValueError:
216 print "Invalid choice (%s), exiting" % choice 215 print("Invalid choice (%s), exiting" % choice)
217 sys.exit(1) 216 sys.exit(1)
218 if idx < 0 or idx >= len(config_items): 217 if idx < 0 or idx >= len(config_items):
219 print "Invalid choice (%d), exiting" % (idx + 1) 218 print("Invalid choice (%d), exiting" % (idx + 1))
220 sys.exit(1) 219 sys.exit(1)
221 removed.append(config_items.pop(idx)) 220 removed.append(config_items.pop(idx))
222 221
223 write_config_items(scripts_path, machine, config_items) 222 write_config_items(scripts_path, machine, config_items)
224 223
225 print "Removed items:" 224 print("Removed items:")
226 for r in removed: 225 for r in removed:
227 print "\t%s" % r 226 print("\t%s" % r)
228 227
229 228
230def yocto_kernel_config_add(scripts_path, machine, config_items): 229def yocto_kernel_config_add(scripts_path, machine, config_items):
@@ -239,7 +238,7 @@ def yocto_kernel_config_add(scripts_path, machine, config_items):
239 238
240 for item in config_items: 239 for item in config_items:
241 if not item.startswith("CONFIG") or (not "=y" in item and not "=m" in item): 240 if not item.startswith("CONFIG") or (not "=y" in item and not "=m" in item):
242 print "Invalid config item (%s), exiting" % item 241 print("Invalid config item (%s), exiting" % item)
243 sys.exit(1) 242 sys.exit(1)
244 if item not in cur_items and item not in new_items: 243 if item not in cur_items and item not in new_items:
245 new_items.append(item) 244 new_items.append(item)
@@ -249,16 +248,16 @@ def yocto_kernel_config_add(scripts_path, machine, config_items):
249 if len(new_items) > 0: 248 if len(new_items) > 0:
250 cur_items.extend(new_items) 249 cur_items.extend(new_items)
251 write_config_items(scripts_path, machine, cur_items) 250 write_config_items(scripts_path, machine, cur_items)
252 print "Added item%s:" % ("" if len(new_items)==1 else "s") 251 print("Added item%s:" % ("" if len(new_items)==1 else "s"))
253 for n in new_items: 252 for n in new_items:
254 print "\t%s" % n 253 print("\t%s" % n)
255 254
256 if len(dup_items) > 0: 255 if len(dup_items) > 0:
257 output="The following item%s already exist%s in the current configuration, ignoring %s:" % \ 256 output="The following item%s already exist%s in the current configuration, ignoring %s:" % \
258 (("","s", "it") if len(dup_items)==1 else ("s", "", "them" )) 257 (("","s", "it") if len(dup_items)==1 else ("s", "", "them" ))
259 print output 258 print(output)
260 for n in dup_items: 259 for n in dup_items:
261 print "\t%s" % n 260 print("\t%s" % n)
262 261
263def find_current_kernel(bsp_layer, machine): 262def find_current_kernel(bsp_layer, machine):
264 """ 263 """
@@ -348,8 +347,8 @@ def yocto_kernel_patch_list(scripts_path, machine):
348 """ 347 """
349 patches = read_patch_items(scripts_path, machine) 348 patches = read_patch_items(scripts_path, machine)
350 349
351 print "The current set of machine-specific patches for %s is:" % machine 350 print("The current set of machine-specific patches for %s is:" % machine)
352 print gen_choices_str(patches) 351 print(gen_choices_str(patches))
353 352
354 353
355def yocto_kernel_patch_rm(scripts_path, machine): 354def yocto_kernel_patch_rm(scripts_path, machine):
@@ -359,7 +358,7 @@ def yocto_kernel_patch_rm(scripts_path, machine):
359 """ 358 """
360 patches = read_patch_items(scripts_path, machine) 359 patches = read_patch_items(scripts_path, machine)
361 360
362 print "Specify the patches to remove:" 361 print("Specify the patches to remove:")
363 input = raw_input(gen_choices_str(patches)) 362 input = raw_input(gen_choices_str(patches))
364 rm_choices = input.split() 363 rm_choices = input.split()
365 rm_choices.sort() 364 rm_choices.sort()
@@ -368,17 +367,17 @@ def yocto_kernel_patch_rm(scripts_path, machine):
368 367
369 filesdir = find_filesdir(scripts_path, machine) 368 filesdir = find_filesdir(scripts_path, machine)
370 if not filesdir: 369 if not filesdir:
371 print "Couldn't rm patch(es) since we couldn't find a 'files' dir" 370 print("Couldn't rm patch(es) since we couldn't find a 'files' dir")
372 sys.exit(1) 371 sys.exit(1)
373 372
374 for choice in reversed(rm_choices): 373 for choice in reversed(rm_choices):
375 try: 374 try:
376 idx = int(choice) - 1 375 idx = int(choice) - 1
377 except ValueError: 376 except ValueError:
378 print "Invalid choice (%s), exiting" % choice 377 print("Invalid choice (%s), exiting" % choice)
379 sys.exit(1) 378 sys.exit(1)
380 if idx < 0 or idx >= len(patches): 379 if idx < 0 or idx >= len(patches):
381 print "Invalid choice (%d), exiting" % (idx + 1) 380 print("Invalid choice (%d), exiting" % (idx + 1))
382 sys.exit(1) 381 sys.exit(1)
383 filesdir_patch = os.path.join(filesdir, patches[idx]) 382 filesdir_patch = os.path.join(filesdir, patches[idx])
384 if os.path.isfile(filesdir_patch): 383 if os.path.isfile(filesdir_patch):
@@ -388,9 +387,9 @@ def yocto_kernel_patch_rm(scripts_path, machine):
388 387
389 write_patch_items(scripts_path, machine, patches) 388 write_patch_items(scripts_path, machine, patches)
390 389
391 print "Removed patches:" 390 print("Removed patches:")
392 for r in removed: 391 for r in removed:
393 print "\t%s" % r 392 print("\t%s" % r)
394 393
395 394
396def yocto_kernel_patch_add(scripts_path, machine, patches): 395def yocto_kernel_patch_add(scripts_path, machine, patches):
@@ -402,19 +401,19 @@ def yocto_kernel_patch_add(scripts_path, machine, patches):
402 401
403 for patch in patches: 402 for patch in patches:
404 if os.path.basename(patch) in existing_patches: 403 if os.path.basename(patch) in existing_patches:
405 print "Couldn't add patch (%s) since it's already been added" % os.path.basename(patch) 404 print("Couldn't add patch (%s) since it's already been added" % os.path.basename(patch))
406 sys.exit(1) 405 sys.exit(1)
407 406
408 filesdir = find_filesdir(scripts_path, machine) 407 filesdir = find_filesdir(scripts_path, machine)
409 if not filesdir: 408 if not filesdir:
410 print "Couldn't add patch (%s) since we couldn't find a 'files' dir to add it to" % os.path.basename(patch) 409 print("Couldn't add patch (%s) since we couldn't find a 'files' dir to add it to" % os.path.basename(patch))
411 sys.exit(1) 410 sys.exit(1)
412 411
413 new_patches = [] 412 new_patches = []
414 413
415 for patch in patches: 414 for patch in patches:
416 if not os.path.isfile(patch): 415 if not os.path.isfile(patch):
417 print "Couldn't find patch (%s), exiting" % patch 416 print("Couldn't find patch (%s), exiting" % patch)
418 sys.exit(1) 417 sys.exit(1)
419 basename = os.path.basename(patch) 418 basename = os.path.basename(patch)
420 filesdir_patch = os.path.join(filesdir, basename) 419 filesdir_patch = os.path.join(filesdir, basename)
@@ -425,9 +424,9 @@ def yocto_kernel_patch_add(scripts_path, machine, patches):
425 cur_items.extend(new_patches) 424 cur_items.extend(new_patches)
426 write_patch_items(scripts_path, machine, cur_items) 425 write_patch_items(scripts_path, machine, cur_items)
427 426
428 print "Added patches:" 427 print("Added patches:")
429 for n in new_patches: 428 for n in new_patches:
430 print "\t%s" % n 429 print("\t%s" % n)
431 430
432 431
433def inc_pr(line): 432def inc_pr(line):
@@ -462,7 +461,7 @@ def kernel_contents_changed(scripts_path, machine):
462 461
463 kernel = find_current_kernel(layer, machine) 462 kernel = find_current_kernel(layer, machine)
464 if not kernel: 463 if not kernel:
465 print "Couldn't determine the kernel for this BSP, exiting." 464 print("Couldn't determine the kernel for this BSP, exiting.")
466 sys.exit(1) 465 sys.exit(1)
467 466
468 kernel_bbfile = os.path.join(layer, "recipes-kernel/linux/" + kernel + ".bbappend") 467 kernel_bbfile = os.path.join(layer, "recipes-kernel/linux/" + kernel + ".bbappend")
@@ -598,8 +597,8 @@ def yocto_kernel_feature_list(scripts_path, machine):
598 """ 597 """
599 features = read_features(scripts_path, machine) 598 features = read_features(scripts_path, machine)
600 599
601 print "The current set of machine-specific features for %s is:" % machine 600 print("The current set of machine-specific features for %s is:" % machine)
602 print gen_choices_str(features) 601 print(gen_choices_str(features))
603 602
604 603
605def yocto_kernel_feature_rm(scripts_path, machine): 604def yocto_kernel_feature_rm(scripts_path, machine):
@@ -610,7 +609,7 @@ def yocto_kernel_feature_rm(scripts_path, machine):
610 """ 609 """
611 features = read_features(scripts_path, machine) 610 features = read_features(scripts_path, machine)
612 611
613 print "Specify the features to remove:" 612 print("Specify the features to remove:")
614 input = raw_input(gen_choices_str(features)) 613 input = raw_input(gen_choices_str(features))
615 rm_choices = input.split() 614 rm_choices = input.split()
616 rm_choices.sort() 615 rm_choices.sort()
@@ -621,18 +620,18 @@ def yocto_kernel_feature_rm(scripts_path, machine):
621 try: 620 try:
622 idx = int(choice) - 1 621 idx = int(choice) - 1
623 except ValueError: 622 except ValueError:
624 print "Invalid choice (%s), exiting" % choice 623 print("Invalid choice (%s), exiting" % choice)
625 sys.exit(1) 624 sys.exit(1)
626 if idx < 0 or idx >= len(features): 625 if idx < 0 or idx >= len(features):
627 print "Invalid choice (%d), exiting" % (idx + 1) 626 print("Invalid choice (%d), exiting" % (idx + 1))
628 sys.exit(1) 627 sys.exit(1)
629 removed.append(features.pop(idx)) 628 removed.append(features.pop(idx))
630 629
631 write_features(scripts_path, machine, features) 630 write_features(scripts_path, machine, features)
632 631
633 print "Removed features:" 632 print("Removed features:")
634 for r in removed: 633 for r in removed:
635 print "\t%s" % r 634 print("\t%s" % r)
636 635
637 636
638def yocto_kernel_feature_add(scripts_path, machine, features): 637def yocto_kernel_feature_add(scripts_path, machine, features):
@@ -644,7 +643,7 @@ def yocto_kernel_feature_add(scripts_path, machine, features):
644 643
645 for item in features: 644 for item in features:
646 if not item.endswith(".scc"): 645 if not item.endswith(".scc"):
647 print "Invalid feature (%s), exiting" % item 646 print("Invalid feature (%s), exiting" % item)
648 sys.exit(1) 647 sys.exit(1)
649 new_items.append(item) 648 new_items.append(item)
650 649
@@ -653,9 +652,9 @@ def yocto_kernel_feature_add(scripts_path, machine, features):
653 652
654 write_features(scripts_path, machine, cur_items) 653 write_features(scripts_path, machine, cur_items)
655 654
656 print "Added features:" 655 print("Added features:")
657 for n in new_items: 656 for n in new_items:
658 print "\t%s" % n 657 print("\t%s" % n)
659 658
660 659
661def find_feature_url(git_url): 660def find_feature_url(git_url):
@@ -715,7 +714,7 @@ def print_feature_descs(layer, feature_dir):
715 feature_dir + "/" + file) 714 feature_dir + "/" + file)
716 f = open(fullpath) 715 f = open(fullpath)
717 feature_desc = find_feature_desc(f.readlines()) 716 feature_desc = find_feature_desc(f.readlines())
718 print feature_dir + "/" + file + ": " + feature_desc 717 print(feature_dir + "/" + file + ": " + feature_desc)
719 718
720 719
721def yocto_kernel_available_features_list(scripts_path, machine): 720def yocto_kernel_available_features_list(scripts_path, machine):
@@ -726,7 +725,7 @@ def yocto_kernel_available_features_list(scripts_path, machine):
726 layer = find_bsp_layer(machine) 725 layer = find_bsp_layer(machine)
727 kernel = find_current_kernel(layer, machine) 726 kernel = find_current_kernel(layer, machine)
728 if not kernel: 727 if not kernel:
729 print "Couldn't determine the kernel for this BSP, exiting." 728 print("Couldn't determine the kernel for this BSP, exiting.")
730 sys.exit(1) 729 sys.exit(1)
731 730
732 context = create_context(machine, "arch", scripts_path) 731 context = create_context(machine, "arch", scripts_path)
@@ -738,7 +737,7 @@ def yocto_kernel_available_features_list(scripts_path, machine):
738 feature_cmd = "wget -q -O - " + feature_url 737 feature_cmd = "wget -q -O - " + feature_url
739 tmp = subprocess.Popen(feature_cmd, shell=True, stdout=subprocess.PIPE).stdout.read() 738 tmp = subprocess.Popen(feature_cmd, shell=True, stdout=subprocess.PIPE).stdout.read()
740 739
741 print "The current set of kernel features available to %s is:\n" % machine 740 print("The current set of kernel features available to %s is:\n" % machine)
742 741
743 if tmp: 742 if tmp:
744 tmpline = tmp.split("\n") 743 tmpline = tmp.split("\n")
@@ -755,9 +754,9 @@ def yocto_kernel_available_features_list(scripts_path, machine):
755 feature_type = feature_def[0].strip() 754 feature_type = feature_def[0].strip()
756 feature = feature_def[1].strip() 755 feature = feature_def[1].strip()
757 desc = get_feature_desc(giturl, feature) 756 desc = get_feature_desc(giturl, feature)
758 print "%s: %s" % (feature, desc) 757 print("%s: %s" % (feature, desc))
759 758
760 print "[local]" 759 print("[local]")
761 760
762 print_feature_descs(layer, "cfg") 761 print_feature_descs(layer, "cfg")
763 print_feature_descs(layer, "features") 762 print_feature_descs(layer, "features")
@@ -801,7 +800,7 @@ def yocto_kernel_feature_describe(scripts_path, machine, feature):
801 800
802 kernel = find_current_kernel(layer, machine) 801 kernel = find_current_kernel(layer, machine)
803 if not kernel: 802 if not kernel:
804 print "Couldn't determine the kernel for this BSP, exiting." 803 print("Couldn't determine the kernel for this BSP, exiting.")
805 sys.exit(1) 804 sys.exit(1)
806 805
807 context = create_context(machine, "arch", scripts_path) 806 context = create_context(machine, "arch", scripts_path)
@@ -811,7 +810,7 @@ def yocto_kernel_feature_describe(scripts_path, machine, feature):
811 810
812 desc = get_feature_desc(giturl, feature) 811 desc = get_feature_desc(giturl, feature)
813 812
814 print desc 813 print(desc)
815 814
816 815
817def check_feature_name(feature_name): 816def check_feature_name(feature_name):
@@ -819,11 +818,11 @@ def check_feature_name(feature_name):
819 Sanity-check the feature name for create/destroy. Return False if not OK. 818 Sanity-check the feature name for create/destroy. Return False if not OK.
820 """ 819 """
821 if not feature_name.endswith(".scc"): 820 if not feature_name.endswith(".scc"):
822 print "Invalid feature name (must end with .scc) [%s], exiting" % feature_name 821 print("Invalid feature name (must end with .scc) [%s], exiting" % feature_name)
823 return False 822 return False
824 823
825 if "/" in feature_name: 824 if "/" in feature_name:
826 print "Invalid feature name (don't specify directory) [%s], exiting" % feature_name 825 print("Invalid feature name (don't specify directory) [%s], exiting" % feature_name)
827 return False 826 return False
828 827
829 return True 828 return True
@@ -837,11 +836,11 @@ def check_create_input(feature_items):
837 return False 836 return False
838 837
839 if feature_items[1].endswith(".patch") or feature_items[1].startswith("CONFIG_"): 838 if feature_items[1].endswith(".patch") or feature_items[1].startswith("CONFIG_"):
840 print "Missing description and/or compatibilty [%s], exiting" % feature_items[1] 839 print("Missing description and/or compatibilty [%s], exiting" % feature_items[1])
841 return False 840 return False
842 841
843 if feature_items[2].endswith(".patch") or feature_items[2].startswith("CONFIG_"): 842 if feature_items[2].endswith(".patch") or feature_items[2].startswith("CONFIG_"):
844 print "Missing description and/or compatibility [%s], exiting" % feature_items[1] 843 print("Missing description and/or compatibility [%s], exiting" % feature_items[1])
845 return False 844 return False
846 845
847 return True 846 return True
@@ -869,7 +868,7 @@ def yocto_kernel_feature_create(scripts_path, machine, feature_items):
869 if ("=y" in item or "=m" in item): 868 if ("=y" in item or "=m" in item):
870 cfg_items.append(item) 869 cfg_items.append(item)
871 else: 870 else:
872 print "Invalid feature item (must be .patch or CONFIG_*) [%s], exiting" % item 871 print("Invalid feature item (must be .patch or CONFIG_*) [%s], exiting" % item)
873 sys.exit(1) 872 sys.exit(1)
874 873
875 feature_dirname = "cfg" 874 feature_dirname = "cfg"
@@ -878,7 +877,7 @@ def yocto_kernel_feature_create(scripts_path, machine, feature_items):
878 877
879 filesdir = find_filesdir(scripts_path, machine) 878 filesdir = find_filesdir(scripts_path, machine)
880 if not filesdir: 879 if not filesdir:
881 print "Couldn't add feature (%s), no 'files' dir found" % feature 880 print("Couldn't add feature (%s), no 'files' dir found" % feature)
882 sys.exit(1) 881 sys.exit(1)
883 882
884 featdir = os.path.join(filesdir, feature_dirname) 883 featdir = os.path.join(filesdir, feature_dirname)
@@ -887,7 +886,7 @@ def yocto_kernel_feature_create(scripts_path, machine, feature_items):
887 886
888 for patch in patches: 887 for patch in patches:
889 if not os.path.isfile(patch): 888 if not os.path.isfile(patch):
890 print "Couldn't find patch (%s), exiting" % patch 889 print("Couldn't find patch (%s), exiting" % patch)
891 sys.exit(1) 890 sys.exit(1)
892 basename = os.path.basename(patch) 891 basename = os.path.basename(patch)
893 featdir_patch = os.path.join(featdir, basename) 892 featdir_patch = os.path.join(featdir, basename)
@@ -911,8 +910,8 @@ def yocto_kernel_feature_create(scripts_path, machine, feature_items):
911 new_feature_file.write("kconf non-hardware " + feature_basename + ".cfg\n") 910 new_feature_file.write("kconf non-hardware " + feature_basename + ".cfg\n")
912 new_feature_file.close() 911 new_feature_file.close()
913 912
914 print "Added feature:" 913 print("Added feature:")
915 print "\t%s" % feature_dirname + "/" + feature 914 print("\t%s" % feature_dirname + "/" + feature)
916 915
917 916
918def feature_in_use(scripts_path, machine, feature): 917def feature_in_use(scripts_path, machine, feature):
@@ -950,18 +949,18 @@ def yocto_kernel_feature_destroy(scripts_path, machine, feature):
950 949
951 if feature_in_use(scripts_path, machine, "features/" + feature) or \ 950 if feature_in_use(scripts_path, machine, "features/" + feature) or \
952 feature_in_use(scripts_path, machine, "cfg/" + feature): 951 feature_in_use(scripts_path, machine, "cfg/" + feature):
953 print "Feature %s is in use (use 'feature rm' to un-use it first), exiting" % feature 952 print("Feature %s is in use (use 'feature rm' to un-use it first), exiting" % feature)
954 sys.exit(1) 953 sys.exit(1)
955 954
956 filesdir = find_filesdir(scripts_path, machine) 955 filesdir = find_filesdir(scripts_path, machine)
957 if not filesdir: 956 if not filesdir:
958 print "Couldn't destroy feature (%s), no 'files' dir found" % feature 957 print("Couldn't destroy feature (%s), no 'files' dir found" % feature)
959 sys.exit(1) 958 sys.exit(1)
960 959
961 feature_dirname = "features" 960 feature_dirname = "features"
962 featdir = os.path.join(filesdir, feature_dirname) 961 featdir = os.path.join(filesdir, feature_dirname)
963 if not os.path.exists(featdir): 962 if not os.path.exists(featdir):
964 print "Couldn't find feature directory (%s)" % feature_dirname 963 print("Couldn't find feature directory (%s)" % feature_dirname)
965 sys.exit(1) 964 sys.exit(1)
966 965
967 feature_fqn = os.path.join(featdir, feature) 966 feature_fqn = os.path.join(featdir, feature)
@@ -969,11 +968,11 @@ def yocto_kernel_feature_destroy(scripts_path, machine, feature):
969 feature_dirname = "cfg" 968 feature_dirname = "cfg"
970 featdir = os.path.join(filesdir, feature_dirname) 969 featdir = os.path.join(filesdir, feature_dirname)
971 if not os.path.exists(featdir): 970 if not os.path.exists(featdir):
972 print "Couldn't find feature directory (%s)" % feature_dirname 971 print("Couldn't find feature directory (%s)" % feature_dirname)
973 sys.exit(1) 972 sys.exit(1)
974 feature_fqn = os.path.join(featdir, feature_filename) 973 feature_fqn = os.path.join(featdir, feature_filename)
975 if not os.path.exists(feature_fqn): 974 if not os.path.exists(feature_fqn):
976 print "Couldn't find feature (%s)" % feature 975 print("Couldn't find feature (%s)" % feature)
977 sys.exit(1) 976 sys.exit(1)
978 977
979 f = open(feature_fqn, "r") 978 f = open(feature_fqn, "r")
@@ -990,8 +989,8 @@ def yocto_kernel_feature_destroy(scripts_path, machine, feature):
990 989
991 feature_remove(scripts_path, machine, feature) 990 feature_remove(scripts_path, machine, feature)
992 991
993 print "Removed feature:" 992 print("Removed feature:")
994 print "\t%s" % feature_dirname + "/" + feature 993 print("\t%s" % feature_dirname + "/" + feature)
995 994
996 995
997def base_branches(context): 996def base_branches(context):
@@ -1000,7 +999,7 @@ def base_branches(context):
1000 """ 999 """
1001 giturl = find_giturl(context) 1000 giturl = find_giturl(context)
1002 1001
1003 print "Getting branches from remote repo %s..." % giturl 1002 print("Getting branches from remote repo %s..." % giturl)
1004 1003
1005 gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl) 1004 gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl)
1006 tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read() 1005 tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read()
@@ -1030,7 +1029,7 @@ def all_branches(context):
1030 """ 1029 """
1031 giturl = find_giturl(context) 1030 giturl = find_giturl(context)
1032 1031
1033 print "Getting branches from remote repo %s..." % giturl 1032 print("Getting branches from remote repo %s..." % giturl)
1034 1033
1035 gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl) 1034 gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl)
1036 tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read() 1035 tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read()