diff options
Diffstat (limited to 'meta/recipes-core/busybox')
-rw-r--r-- | meta/recipes-core/busybox/busybox.inc | 23 |
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 | ||
143 | do_compile() { | 147 | do_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 | ||
201 | do_install () { | 208 | do_install () { |