summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r--meta/recipes-core/busybox/busybox.inc23
1 files changed, 15 insertions, 8 deletions
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index 5f1c473d5e..dff4a5dec9 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -138,19 +138,23 @@ do_configure () {
138 do_prepare_config 138 do_prepare_config
139 merge_config.sh -m .config ${@" ".join(find_cfgs(d))} 139 merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
140 cml1_do_configure 140 cml1_do_configure
141
142 # Save a copy of .config and autoconf.h.
143 cp .config .config.orig
144 cp include/autoconf.h include/autoconf.h.orig
141} 145}
142 146
143do_compile() { 147do_compile() {
144 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 148 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
145 export KCONFIG_NOTIMESTAMP=1 149 export KCONFIG_NOTIMESTAMP=1
146 150
151 # Ensure we start do_compile with the original .config and autoconf.h.
152 # These files should always have matching timestamps.
153 cp .config.orig .config
154 cp include/autoconf.h.orig include/autoconf.h
155
147 if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then 156 if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
148 # split the .config into two parts, and make two busybox binaries 157 # split the .config into two parts, and make two busybox binaries
149 if [ -e .config.orig ]; then
150 # Need to guard again an interrupted do_compile - restore any backup
151 cp .config.orig .config
152 fi
153 cp .config .config.orig
154 oe_runmake busybox.cfg.suid 158 oe_runmake busybox.cfg.suid
155 oe_runmake busybox.cfg.nosuid 159 oe_runmake busybox.cfg.nosuid
156 160
@@ -187,15 +191,18 @@ do_compile() {
187 bbfatal "busybox suid binary incorrectly provides /bin/sh" 191 bbfatal "busybox suid binary incorrectly provides /bin/sh"
188 fi 192 fi
189 193
190 # copy .config.orig back to .config, because the install process may check this file
191 cp .config.orig .config
192 # cleanup 194 # cleanup
193 rm .config.orig .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps 195 rm .config.app.suid .config.app.nosuid .config.disable.apps .config.nonapps
194 else 196 else
195 oe_runmake busybox_unstripped 197 oe_runmake busybox_unstripped
196 cp busybox_unstripped busybox 198 cp busybox_unstripped busybox
197 oe_runmake busybox.links 199 oe_runmake busybox.links
198 fi 200 fi
201
202 # restore original .config and autoconf.h, because the install process
203 # may check these files
204 cp .config.orig .config
205 cp include/autoconf.h.orig include/autoconf.h
199} 206}
200 207
201do_install () { 208do_install () {