diff options
-rwxr-xr-x | bitbake/bin/bitbake-layers | 62 |
1 files changed, 29 insertions, 33 deletions
diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers index 8cf7196c53..5518c63641 100755 --- a/bitbake/bin/bitbake-layers +++ b/bitbake/bin/bitbake-layers | |||
@@ -705,13 +705,11 @@ build results (as the layer priority order has effectively changed). | |||
705 | return os.path.basename(layerdir.rstrip(os.sep)) | 705 | return os.path.basename(layerdir.rstrip(os.sep)) |
706 | 706 | ||
707 | def apply_append(self, appendname, recipename): | 707 | def apply_append(self, appendname, recipename): |
708 | appendfile = open(appendname, 'r') | 708 | with open(appendname, 'r') as appendfile: |
709 | recipefile = open(recipename, 'a') | 709 | with open(recipename, 'a') as recipefile: |
710 | recipefile.write('\n') | 710 | recipefile.write('\n') |
711 | recipefile.write('##### bbappended from %s #####\n' % self.get_file_layer(appendname)) | 711 | recipefile.write('##### bbappended from %s #####\n' % self.get_file_layer(appendname)) |
712 | recipefile.writelines(appendfile.readlines()) | 712 | recipefile.writelines(appendfile.readlines()) |
713 | recipefile.close() | ||
714 | appendfile.close() | ||
715 | 713 | ||
716 | def do_show_appends(self, args): | 714 | def do_show_appends(self, args): |
717 | """list bbappend files and recipe files they apply to | 715 | """list bbappend files and recipe files they apply to |
@@ -879,20 +877,19 @@ NOTE: .bbappend files can impact the dependencies. | |||
879 | 877 | ||
880 | # The 'require/include xxx' in the bb file | 878 | # The 'require/include xxx' in the bb file |
881 | pv_re = re.compile(r"\${PV}") | 879 | pv_re = re.compile(r"\${PV}") |
882 | fnfile = open(f, 'r') | 880 | with open(f, 'r') as fnfile: |
883 | line = fnfile.readline() | ||
884 | while line: | ||
885 | m, keyword = self.match_require_include(line) | ||
886 | # Found the 'require/include xxxx' | ||
887 | if m: | ||
888 | needed_file = m.group(1) | ||
889 | # Replace the ${PV} with the real PV | ||
890 | if pv_re.search(needed_file) and f in self.bbhandler.cooker_data.pkg_pepvpr: | ||
891 | pv = self.bbhandler.cooker_data.pkg_pepvpr[f][1] | ||
892 | needed_file = re.sub(r"\${PV}", pv, needed_file) | ||
893 | self.print_cross_files(bbpath, keyword, layername, f, needed_file, args.filenames, ignore_layers) | ||
894 | line = fnfile.readline() | 881 | line = fnfile.readline() |
895 | fnfile.close() | 882 | while line: |
883 | m, keyword = self.match_require_include(line) | ||
884 | # Found the 'require/include xxxx' | ||
885 | if m: | ||
886 | needed_file = m.group(1) | ||
887 | # Replace the ${PV} with the real PV | ||
888 | if pv_re.search(needed_file) and f in self.bbhandler.cooker_data.pkg_pepvpr: | ||
889 | pv = self.bbhandler.cooker_data.pkg_pepvpr[f][1] | ||
890 | needed_file = re.sub(r"\${PV}", pv, needed_file) | ||
891 | self.print_cross_files(bbpath, keyword, layername, f, needed_file, args.filenames, ignore_layers) | ||
892 | line = fnfile.readline() | ||
896 | 893 | ||
897 | # The "require/include xxx" in conf/machine/*.conf, .inc and .bbclass | 894 | # The "require/include xxx" in conf/machine/*.conf, .inc and .bbclass |
898 | conf_re = re.compile(".*/conf/machine/[^\/]*\.conf$") | 895 | conf_re = re.compile(".*/conf/machine/[^\/]*\.conf$") |
@@ -906,20 +903,19 @@ NOTE: .bbappend files can impact the dependencies. | |||
906 | f = os.path.join(dirpath, name) | 903 | f = os.path.join(dirpath, name) |
907 | s = conf_re.match(f) or inc_re.match(f) or bbclass_re.match(f) | 904 | s = conf_re.match(f) or inc_re.match(f) or bbclass_re.match(f) |
908 | if s: | 905 | if s: |
909 | ffile = open(f, 'r') | 906 | with open(f, 'r') as ffile: |
910 | line = ffile.readline() | ||
911 | while line: | ||
912 | m, keyword = self.match_require_include(line) | ||
913 | # Only bbclass has the "inherit xxx" here. | ||
914 | bbclass="" | ||
915 | if not m and f.endswith(".bbclass"): | ||
916 | m, keyword = self.match_inherit(line) | ||
917 | bbclass=".bbclass" | ||
918 | # Find a 'require/include xxxx' | ||
919 | if m: | ||
920 | self.print_cross_files(bbpath, keyword, layername, f, m.group(1) + bbclass, args.filenames, ignore_layers) | ||
921 | line = ffile.readline() | 907 | line = ffile.readline() |
922 | ffile.close() | 908 | while line: |
909 | m, keyword = self.match_require_include(line) | ||
910 | # Only bbclass has the "inherit xxx" here. | ||
911 | bbclass="" | ||
912 | if not m and f.endswith(".bbclass"): | ||
913 | m, keyword = self.match_inherit(line) | ||
914 | bbclass=".bbclass" | ||
915 | # Find a 'require/include xxxx' | ||
916 | if m: | ||
917 | self.print_cross_files(bbpath, keyword, layername, f, m.group(1) + bbclass, args.filenames, ignore_layers) | ||
918 | line = ffile.readline() | ||
923 | 919 | ||
924 | def print_cross_files(self, bbpath, keyword, layername, f, needed_filename, show_filenames, ignore_layers): | 920 | def print_cross_files(self, bbpath, keyword, layername, f, needed_filename, show_filenames, ignore_layers): |
925 | """Print the depends that crosses a layer boundary""" | 921 | """Print the depends that crosses a layer boundary""" |