diff options
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 2bae34189d..54f7ae55cf 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -1039,6 +1039,8 @@ python populate_packages () { | |||
1039 | 1039 | ||
1040 | bb.utils.mkdirhier(outdir) | 1040 | bb.utils.mkdirhier(outdir) |
1041 | os.chdir(dvar) | 1041 | os.chdir(dvar) |
1042 | |||
1043 | autodebug = not (d.getVar("NOAUTOPACKAGEDEBUG", True) or False) | ||
1042 | 1044 | ||
1043 | # Sanity check PACKAGES for duplicates | 1045 | # Sanity check PACKAGES for duplicates |
1044 | # Sanity should be moved to sanity.bbclass once we have the infrastucture | 1046 | # Sanity should be moved to sanity.bbclass once we have the infrastucture |
@@ -1048,6 +1050,8 @@ python populate_packages () { | |||
1048 | if pkg in package_list: | 1050 | if pkg in package_list: |
1049 | msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg | 1051 | msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg |
1050 | package_qa_handle_error("packages-list", msg, d) | 1052 | package_qa_handle_error("packages-list", msg, d) |
1053 | elif autodebug and pkg.endswith("-dbg"): | ||
1054 | package_list.insert(0, pkg) | ||
1051 | else: | 1055 | else: |
1052 | package_list.append(pkg) | 1056 | package_list.append(pkg) |
1053 | d.setVar('PACKAGES', ' '.join(package_list)) | 1057 | d.setVar('PACKAGES', ' '.join(package_list)) |
@@ -1058,6 +1062,16 @@ python populate_packages () { | |||
1058 | # os.mkdir masks the permissions with umask so we have to unset it first | 1062 | # os.mkdir masks the permissions with umask so we have to unset it first |
1059 | oldumask = os.umask(0) | 1063 | oldumask = os.umask(0) |
1060 | 1064 | ||
1065 | debug = [] | ||
1066 | for root, dirs, files in cpath.walk(dvar): | ||
1067 | dir = root[len(dvar):] | ||
1068 | if not dir: | ||
1069 | dir = os.sep | ||
1070 | for f in (files + dirs): | ||
1071 | path = "." + os.path.join(dir, f) | ||
1072 | if "/.debug/" in path or path.endswith("/.debug"): | ||
1073 | debug.append(path) | ||
1074 | |||
1061 | for pkg in package_list: | 1075 | for pkg in package_list: |
1062 | root = os.path.join(pkgdest, pkg) | 1076 | root = os.path.join(pkgdest, pkg) |
1063 | bb.utils.mkdirhier(root) | 1077 | bb.utils.mkdirhier(root) |
@@ -1071,6 +1085,9 @@ python populate_packages () { | |||
1071 | origfiles = filesvar.split() | 1085 | origfiles = filesvar.split() |
1072 | files = files_from_filevars(origfiles) | 1086 | files = files_from_filevars(origfiles) |
1073 | 1087 | ||
1088 | if autodebug and pkg.endswith("-dbg"): | ||
1089 | files.extend(debug) | ||
1090 | |||
1074 | for file in files: | 1091 | for file in files: |
1075 | if (not cpath.islink(file)) and (not cpath.exists(file)): | 1092 | if (not cpath.islink(file)) and (not cpath.exists(file)): |
1076 | continue | 1093 | continue |