mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 10:13:03 +01:00
If used with some packages using kconfig mechanism, the diffconfig command generates wrong output format. Diff provides all options to format the output correctly. This method formats as intended, is more robust and works with the merge_config.h script from yocto-kernel-tools. (From OE-Core rev: 1d9d035f07be1cef2764949d84cecbff7dd428dd) Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
74 lines
2.2 KiB
Plaintext
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
|