Files
poky/meta/classes/cml1.bbclass
Maciej Borzecki a346777b83 cml1.bbclass: fix diffconfig diff command
Commit 6a7b989933 introduced a typo in
command, a whitespace was missing between --new-line-format and path to
original file. As a result, diffconfig task did not work, diff failed
with exit status 2, resulting in empty fragment.cfg.

(From OE-Core rev: 8c75aa7c30cc5a796962d099896ca2a9a16c3a06)

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:47 +01:00

74 lines
2.2 KiB
Plaintext

cml1_do_configure() {
set -e
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake oldconfig
}
EXPORT_FUNCTIONS do_configure
addtask configure after do_unpack do_patch before do_compile
inherit terminal
OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS HOST_LOADLIBES TERMINFO"
HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
HOSTLDFLAGS = "${BUILD_LDFLAGS}"
HOST_LOADLIBES = "-lncurses"
TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
python do_menuconfig() {
import shutil
try:
mtime = os.path.getmtime(".config")
shutil.copy(".config", ".config.orig")
except OSError:
mtime = 0
oe_terminal("${SHELL} -c \"make menuconfig; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"", '${PN} Configuration', d)
# FIXME this check can be removed when the minimum bitbake version has been bumped
if hasattr(bb.build, 'write_taint'):
try:
newmtime = os.path.getmtime(".config")
except OSError:
newmtime = 0
if newmtime > mtime:
bb.note("Configuration changed, recompile will be forced")
bb.build.write_taint('do_compile', d)
}
do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
do_menuconfig[nostamp] = "1"
addtask menuconfig after do_configure
python do_diffconfig() {
import shutil
import subprocess
workdir = d.getVar('WORKDIR', True)
fragment = workdir + '/fragment.cfg'
configorig = '.config.orig'
config = '.config'
try:
md5newconfig = bb.utils.md5_file(configorig)
md5config = bb.utils.md5_file(config)
isdiff = md5newconfig != md5config
except IOError as e:
bb.fatal("No config files found. Did you do menuconfig ?\n%s" % e)
if isdiff:
statement = 'diff --unchanged-line-format= --old-line-format= --new-line-format="%L" ' + configorig + ' ' + config + '>' + fragment
subprocess.call(statement, shell=True)
shutil.copy(configorig, config)
bb.plain("Config fragment has been dumped into:\n %s" % fragment)
else:
if os.path.exists(fragment):
os.unlink(fragment)
}
do_diffconfig[nostamp] = "1"
addtask diffconfig