diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-15 15:38:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-16 11:56:30 +0000 |
commit | b7766e4bbe61d025346365de4cbafcae56909c27 (patch) | |
tree | ebcd60ba21718a84ddf42491ef978fd501d4fd09 /meta/classes | |
parent | 89f13c75eae2fdc2859246c0f9c4122728adffb7 (diff) | |
download | poky-b7766e4bbe61d025346365de4cbafcae56909c27.tar.gz |
package: Add auto package splitting of .debug files
Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well
assume ".debug" is a special directory name and split into -dbg automatically.
This change does so without changing the rest of the splitting logic too much.
It can be disabled for the cases where we really do want manual control of
the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1".
(From OE-Core rev: da5ec06814e105451cca11cce76b5c5231110524)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 |