diff options
-rw-r--r-- | classes/kernel.bbclass | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index d94930b7b..13670f667 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass | |||
@@ -207,7 +207,14 @@ sysroot_stage_all_append() { | |||
207 | 207 | ||
208 | 208 | ||
209 | kernel_do_configure() { | 209 | kernel_do_configure() { |
210 | yes '' | oe_runmake oldconfig | 210 | # Copy defconfig to .config if .config does not exist. This allows |
211 | # recipes to manage the .config themselves in do_configure_prepend(). | ||
212 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then | ||
213 | cp "${WORKDIR}/defconfig" "${S}/.config" | ||
214 | fi | ||
215 | |||
216 | yes '' | oe_runmake oldconfig | ||
217 | |||
211 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then | 218 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then |
212 | for img in cpio.gz cpio.lzo cpio.lzma; do | 219 | for img in cpio.gz cpio.lzo cpio.lzma; do |
213 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then | 220 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then |
@@ -220,6 +227,9 @@ kernel_do_configure() { | |||
220 | kernel_do_configure[depends] += "${INITRAMFS_TASK}" | 227 | kernel_do_configure[depends] += "${INITRAMFS_TASK}" |
221 | 228 | ||
222 | do_menuconfig() { | 229 | do_menuconfig() { |
230 | export DISPLAY='${DISPLAY}' | ||
231 | export DBUS_SESSION_BUS_ADDRESS='${DBUS_SESSION_BUS_ADDRESS}' | ||
232 | export XAUTHORITY='${XAUTHORITY}' | ||
223 | export TERMWINDOWTITLE="${PN} Kernel Configuration" | 233 | export TERMWINDOWTITLE="${PN} Kernel Configuration" |
224 | export SHELLCMDS="make menuconfig" | 234 | export SHELLCMDS="make menuconfig" |
225 | ${TERMCMDRUN} | 235 | ${TERMCMDRUN} |
@@ -318,13 +328,16 @@ module_conf_rfcomm = "alias bt-proto-3 rfcomm" | |||
318 | 328 | ||
319 | python populate_packages_prepend () { | 329 | python populate_packages_prepend () { |
320 | def extract_modinfo(file): | 330 | def extract_modinfo(file): |
321 | import re | 331 | import tempfile, re |
322 | tmpfile = os.tmpnam() | 332 | tempfile.tempdir = bb.data.getVar("WORKDIR", d, 1) |
333 | tf = tempfile.mkstemp() | ||
334 | tmpfile = tf[1] | ||
323 | cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (bb.data.getVar("PATH", d, 1), bb.data.getVar("HOST_PREFIX", d, 1) or "", file, tmpfile) | 335 | cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (bb.data.getVar("PATH", d, 1), bb.data.getVar("HOST_PREFIX", d, 1) or "", file, tmpfile) |
324 | os.system(cmd) | 336 | os.system(cmd) |
325 | f = open(tmpfile) | 337 | f = open(tmpfile) |
326 | l = f.read().split("\000") | 338 | l = f.read().split("\000") |
327 | f.close() | 339 | f.close() |
340 | os.close(tf[0]) | ||
328 | os.unlink(tmpfile) | 341 | os.unlink(tmpfile) |
329 | exp = re.compile("([^=]+)=(.*)") | 342 | exp = re.compile("([^=]+)=(.*)") |
330 | vals = {} | 343 | vals = {} |