diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-10 14:47:41 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-10 14:47:41 +0100 |
commit | d3630f81747157198316fef874d59f9f120969d4 (patch) | |
tree | fa4428e0ff8a726e670775a6cc242b02310b2f32 /meta/classes | |
parent | 708db1ef52a49098a0ab7972211b9beac74d7654 (diff) | |
download | poky-d3630f81747157198316fef874d59f9f120969d4.tar.gz |
kernel/package.bbclass: Handle kernel module stripping centrally
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/kernel.bbclass | 4 | ||||
-rw-r--r-- | meta/classes/module_strip.bbclass | 22 | ||||
-rw-r--r-- | meta/classes/package.bbclass | 4 |
3 files changed, 5 insertions, 25 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 3963e38eb8..1390afce3f 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass | |||
@@ -218,15 +218,13 @@ EXPORT_FUNCTIONS do_compile do_install do_configure | |||
218 | 218 | ||
219 | # kernel-base becomes kernel-${KERNEL_VERSION} | 219 | # kernel-base becomes kernel-${KERNEL_VERSION} |
220 | # kernel-image becomes kernel-image-${KERNEL_VERISON} | 220 | # kernel-image becomes kernel-image-${KERNEL_VERISON} |
221 | PACKAGES = "kernel kernel-base kernel-image kernel-dev kernel-vmlinux kernel-misc kernel-dbg" | 221 | PACKAGES = "kernel kernel-base kernel-image kernel-dev kernel-vmlinux kernel-misc" |
222 | FILES = "" | 222 | FILES = "" |
223 | FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" | 223 | FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*" |
224 | FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*" | 224 | FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*" |
225 | FILES_kernel-vmlinux = "/boot/vmlinux*" | 225 | FILES_kernel-vmlinux = "/boot/vmlinux*" |
226 | # misc is a package to contain files we need in staging | 226 | # misc is a package to contain files we need in staging |
227 | FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media" | 227 | FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media" |
228 | # We don't care about dbg files for the kernel but split them out here to keep the packaging clean | ||
229 | FILES_kernel-dbg = "/lib/modules/${KERNEL_VERSION}/kernel/*/*/.debug /lib/modules/${KERNEL_VERSION}/kernel/*/.debug /lib/modules/${KERNEL_VERSION}/kernel/*/*/*/.debug" | ||
230 | RDEPENDS_kernel = "kernel-base" | 228 | RDEPENDS_kernel = "kernel-base" |
231 | # Allow machines to override this dependency if kernel image files are | 229 | # Allow machines to override this dependency if kernel image files are |
232 | # not wanted in images as standard | 230 | # not wanted in images as standard |
diff --git a/meta/classes/module_strip.bbclass b/meta/classes/module_strip.bbclass index 7636f1f403..e69de29bb2 100644 --- a/meta/classes/module_strip.bbclass +++ b/meta/classes/module_strip.bbclass | |||
@@ -1,22 +0,0 @@ | |||
1 | #DEPENDS_append = " module-strip" | ||
2 | |||
3 | do_strip_modules () { | ||
4 | for p in ${PACKAGES}; do | ||
5 | if test -e ${WORKDIR}/install/$p/lib/modules; then | ||
6 | modules="`find ${WORKDIR}/install/$p/lib/modules -name \*${KERNEL_OBJECT_SUFFIX}`" | ||
7 | if [ -n "$modules" ]; then | ||
8 | for module in $modules ; do | ||
9 | if ! [ -d "$module" ] ; then | ||
10 | ${STRIP} -v -g $module | ||
11 | fi | ||
12 | done | ||
13 | # NM="${STAGING_BINDIR_NATIVE}/${HOST_PREFIX}nm" OBJCOPY="${STAGING_BINDIR_NATIVE}/${HOST_PREFIX}objcopy" strip_module $modules | ||
14 | fi | ||
15 | fi | ||
16 | done | ||
17 | } | ||
18 | |||
19 | python do_package_append () { | ||
20 | if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'): | ||
21 | bb.build.exec_func('do_strip_modules', d) | ||
22 | } | ||
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 8611d94774..d8e480f1ff 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -155,6 +155,10 @@ def runstrip(file, d): | |||
155 | strip = bb.data.getVar("STRIP", d, True) | 155 | strip = bb.data.getVar("STRIP", d, True) |
156 | objcopy = bb.data.getVar("OBJCOPY", d, True) | 156 | objcopy = bb.data.getVar("OBJCOPY", d, True) |
157 | 157 | ||
158 | # Handle kernel modules specifically - .debug directories here are pointless | ||
159 | if file.find("/lib/modules/") != -1 and file.endswith(".ko"): | ||
160 | return os.system("%s'%s' -g --remove-section=.comment --remove-section=.note '%s'" % (pathprefix, strip, file)) | ||
161 | |||
158 | newmode = None | 162 | newmode = None |
159 | if not os.access(file, os.W_OK): | 163 | if not os.access(file, os.W_OK): |
160 | origmode = os.stat(file)[stat.ST_MODE] | 164 | origmode = os.stat(file)[stat.ST_MODE] |