diff options
| -rw-r--r-- | meta/classes/package.bbclass | 28 | ||||
| -rw-r--r-- | meta/conf/bitbake.conf | 11 |
2 files changed, 25 insertions, 14 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 749c7d9ea1..4c0a859536 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
| @@ -1128,7 +1128,7 @@ python populate_packages () { | |||
| 1128 | workdir = d.getVar('WORKDIR') | 1128 | workdir = d.getVar('WORKDIR') |
| 1129 | outdir = d.getVar('DEPLOY_DIR') | 1129 | outdir = d.getVar('DEPLOY_DIR') |
| 1130 | dvar = d.getVar('PKGD') | 1130 | dvar = d.getVar('PKGD') |
| 1131 | packages = d.getVar('PACKAGES') | 1131 | packages = d.getVar('PACKAGES').split() |
| 1132 | pn = d.getVar('PN') | 1132 | pn = d.getVar('PN') |
| 1133 | 1133 | ||
| 1134 | bb.utils.mkdirhier(outdir) | 1134 | bb.utils.mkdirhier(outdir) |
| @@ -1138,32 +1138,34 @@ python populate_packages () { | |||
| 1138 | 1138 | ||
| 1139 | split_source_package = (d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg') | 1139 | split_source_package = (d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg') |
| 1140 | 1140 | ||
| 1141 | # If debug-with-srcpkg mode is enabled then the src package is added | 1141 | # If debug-with-srcpkg mode is enabled then add the source package if it |
| 1142 | # into the package list and the source directory as its main content | 1142 | # doesn't exist and add the source file contents to the source package. |
| 1143 | if split_source_package: | 1143 | if split_source_package: |
| 1144 | src_package_name = ('%s-src' % d.getVar('PN')) | 1144 | src_package_name = ('%s-src' % d.getVar('PN')) |
| 1145 | packages += (' ' + src_package_name) | 1145 | if not src_package_name in packages: |
| 1146 | packages.append(src_package_name) | ||
| 1146 | d.setVar('FILES_%s' % src_package_name, '/usr/src/debug') | 1147 | d.setVar('FILES_%s' % src_package_name, '/usr/src/debug') |
| 1147 | 1148 | ||
| 1148 | # Sanity check PACKAGES for duplicates | 1149 | # Sanity check PACKAGES for duplicates |
| 1149 | # Sanity should be moved to sanity.bbclass once we have the infrastructure | 1150 | # Sanity should be moved to sanity.bbclass once we have the infrastructure |
| 1150 | package_dict = {} | 1151 | package_dict = {} |
| 1151 | 1152 | ||
| 1152 | for i, pkg in enumerate(packages.split()): | 1153 | for i, pkg in enumerate(packages): |
| 1153 | if pkg in package_dict: | 1154 | if pkg in package_dict: |
| 1154 | msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg | 1155 | msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg |
| 1155 | package_qa_handle_error("packages-list", msg, d) | 1156 | package_qa_handle_error("packages-list", msg, d) |
| 1156 | # If debug-with-srcpkg mode is enabled then the src package will have | 1157 | # Ensure the source package gets the chance to pick up the source files |
| 1157 | # priority over dbg package when assigning the files. | 1158 | # before the debug package by ordering it first in PACKAGES. Whether it |
| 1158 | # This allows src package to include source files and remove them from dbg. | 1159 | # actually picks up any source files is controlled by |
| 1159 | elif split_source_package and pkg.endswith("-src"): | 1160 | # PACKAGE_DEBUG_SPLIT_STYLE. |
| 1161 | elif pkg.endswith("-src"): | ||
| 1160 | package_dict[pkg] = (10, i) | 1162 | package_dict[pkg] = (10, i) |
| 1161 | elif autodebug and pkg.endswith("-dbg"): | 1163 | elif autodebug and pkg.endswith("-dbg"): |
| 1162 | package_dict[pkg] = (30, i) | 1164 | package_dict[pkg] = (30, i) |
| 1163 | else: | 1165 | else: |
| 1164 | package_dict[pkg] = (50, i) | 1166 | package_dict[pkg] = (50, i) |
| 1165 | package_list = sorted(package_dict.keys(), key=package_dict.get) | 1167 | packages = sorted(package_dict.keys(), key=package_dict.get) |
| 1166 | d.setVar('PACKAGES', ' '.join(package_list)) | 1168 | d.setVar('PACKAGES', ' '.join(packages)) |
| 1167 | pkgdest = d.getVar('PKGDEST') | 1169 | pkgdest = d.getVar('PKGDEST') |
| 1168 | 1170 | ||
| 1169 | seen = [] | 1171 | seen = [] |
| @@ -1181,7 +1183,7 @@ python populate_packages () { | |||
| 1181 | if "/.debug/" in path or path.endswith("/.debug"): | 1183 | if "/.debug/" in path or path.endswith("/.debug"): |
| 1182 | debug.append(path) | 1184 | debug.append(path) |
| 1183 | 1185 | ||
| 1184 | for pkg in package_list: | 1186 | for pkg in packages: |
| 1185 | root = os.path.join(pkgdest, pkg) | 1187 | root = os.path.join(pkgdest, pkg) |
| 1186 | bb.utils.mkdirhier(root) | 1188 | bb.utils.mkdirhier(root) |
| 1187 | 1189 | ||
| @@ -1252,7 +1254,7 @@ python populate_packages () { | |||
| 1252 | 1254 | ||
| 1253 | # Handle LICENSE_EXCLUSION | 1255 | # Handle LICENSE_EXCLUSION |
| 1254 | package_list = [] | 1256 | package_list = [] |
| 1255 | for pkg in packages.split(): | 1257 | for pkg in packages: |
| 1256 | if d.getVar('LICENSE_EXCLUSION-' + pkg): | 1258 | if d.getVar('LICENSE_EXCLUSION-' + pkg): |
| 1257 | msg = "%s has an incompatible license. Excluding from packaging." % pkg | 1259 | msg = "%s has an incompatible license. Excluding from packaging." % pkg |
| 1258 | package_qa_handle_error("incompatible-license", msg, d) | 1260 | package_qa_handle_error("incompatible-license", msg, d) |
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index f1540a0acf..8fc4e9bc1a 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
| @@ -237,6 +237,10 @@ DESCRIPTION ?= "${SUMMARY}." | |||
| 237 | #SUMMARY_${PN} ?= "${SUMMARY}" | 237 | #SUMMARY_${PN} ?= "${SUMMARY}" |
| 238 | #DESCRIPTION_${PN} ?= "${DESCRIPTION}" | 238 | #DESCRIPTION_${PN} ?= "${DESCRIPTION}" |
| 239 | 239 | ||
| 240 | SUMMARY_${PN}-src ?= "${SUMMARY} - Source files" | ||
| 241 | DESCRIPTION_${PN}-src ?= "${DESCRIPTION} \ | ||
| 242 | This package contains sources for debugging purposes." | ||
| 243 | |||
| 240 | SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files" | 244 | SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files" |
| 241 | DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \ | 245 | DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \ |
| 242 | This package contains ELF symbols and related sources for debugging purposes." | 246 | This package contains ELF symbols and related sources for debugging purposes." |
| @@ -285,7 +289,7 @@ SOLIBSDEV_darwin = ".dylibbroken" | |||
| 285 | PACKAGE_DEBUG_SPLIT_STYLE ?= "debug-with-srcpkg" | 289 | PACKAGE_DEBUG_SPLIT_STYLE ?= "debug-with-srcpkg" |
| 286 | 290 | ||
| 287 | PACKAGE_BEFORE_PN ?= "" | 291 | PACKAGE_BEFORE_PN ?= "" |
| 288 | PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" | 292 | PACKAGES = "${PN}-src ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" |
| 289 | PACKAGES_DYNAMIC = "^${PN}-locale-.*" | 293 | PACKAGES_DYNAMIC = "^${PN}-locale-.*" |
| 290 | FILES = "" | 294 | FILES = "" |
| 291 | 295 | ||
| @@ -324,6 +328,11 @@ FILES_${PN}-dbg = "/usr/lib/debug /usr/src/debug" | |||
| 324 | SECTION_${PN}-dbg = "devel" | 328 | SECTION_${PN}-dbg = "devel" |
| 325 | ALLOW_EMPTY_${PN}-dbg = "1" | 329 | ALLOW_EMPTY_${PN}-dbg = "1" |
| 326 | 330 | ||
| 331 | # The files list for source packages are dynamically set based on | ||
| 332 | # PACKAGE_DEBUG_SPLIT_STYLE | ||
| 333 | FILES_${PN}-src = "" | ||
| 334 | SECTION_${PN}-src = "devel" | ||
| 335 | |||
| 327 | FILES_${PN}-locale = "${datadir}/locale" | 336 | FILES_${PN}-locale = "${datadir}/locale" |
| 328 | 337 | ||
| 329 | # File manifest | 338 | # File manifest |
