diff options
Diffstat (limited to 'meta/classes')
| -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 |
