build error; missing dependencies on *every* new applet

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Tue Nov 24 22:31:44 UTC 2009


On Tue, Nov 24, 2009 at 10:22:57PM +0100, Denys Vlasenko wrote:
>On Tue, Nov 24, 2009 at 8:05 PM, Bernhard Reutner-Fischer
><rep.dot.nop at gmail.com> wrote:
>> Hi there,
>>
>> another applet, the same old freaking breakage.

>> Perhaps some brave sould could *please* fix that annoyance!
s/sould/soul/
>
>Dreaded Makefiles.

partially de-annoyed. Thanks!
Partially as it still doesn't work for me, see below.
>
>Try attached.

I must (still) be doing something wrong, i fear!
If .config is changed, no noteworthy rebuild is triggered (for me)?
I'm left with the old set of applets, no notion of newly turned on
applets on my end?!

I sense brokenness, or am i just blind?

Consider these 3 cases:
-)

$ git reset --hard 102ff76c845746f9c0bae65299176a0a49f85260; make distclean ; git pull --rebase && make allnoconfig > /dev/null;for i in NIH TRUE FALSE;do echo "# $i" ; sed -i -e "/CONFIG_$i/s/.*/CONFIG_$i=y/" .config ; egrep "(NIH|TRUE|FALSE)" .config ; make -j > /dev/null && size busybox && set -x && ./busybox $(echo $i | tr '[[:upper:]]' '[[:lower:]]') ; echo $?; set +x ; done
HEAD is now at 102ff76 mount: clean up #defines. No code changes
  CLEAN   applets
  CLEAN   .tmp_versions
  CLEAN   busybox busybox_unstripped busybox_unstripped.map busybox_unstripped.out .kernelrelease
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config
  CLEAN   .config .config.old include/autoconf.h include/bbconfigopts.h include/usage_compressed.h include/applet_tables.h applets/usage .kernelrelease
First, rewinding head to replay your work on top of it...
Fast-forwarded master to b24c1139fb4fb6e1bf8ca5a753ee95b497717b17.
# NIH
# CONFIG_FALSE is not set
# CONFIG_TRUE is not set
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo NIH
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox nih
nih: applet not found
+ echo 1
1
+ set +x
# TRUE
# CONFIG_FALSE is not set
CONFIG_TRUE=y
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo TRUE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox true
true: applet not found
+ echo 1
1
+ set +x
# FALSE
CONFIG_FALSE=y
CONFIG_TRUE=y
   text	   data	    bss	    dec	    hex	filename
   1306	    280	     24	   1610	    64a	busybox
++ echo FALSE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox false
+ echo 0
0
+ set +x

$ didn't work out^C
-)
$ git reset --hard 102ff76c845746f9c0bae65299176a0a49f85260 && make defconfig > /dev/null ; make distclean > /dev/null; git pull --rebase && make allnoconfig > /dev/null;for i in NIH TRUE FALSE;do make distclean > /dev/null && make allnoconfig > /dev/null ; echo "# $i" ; sed -i -e "/CONFIG_$i/s/.*/CONFIG_$i=y/" .config ; egrep "(NIH|TRUE|FALSE)" .config ; make -j > /dev/null && size busybox && set -x && ./busybox $(echo $i | tr '[[:upper:]]' '[[:lower:]]') ; echo $?; set +x ; done
HEAD is now at 102ff76 mount: clean up #defines. No code changes
First, rewinding head to replay your work on top of it...
Fast-forwarded master to b24c1139fb4fb6e1bf8ca5a753ee95b497717b17.
# NIH
# CONFIG_FALSE is not set
# CONFIG_TRUE is not set
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo NIH
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox nih
nih: applet not found
+ echo 1
1
+ set +x
# TRUE
# CONFIG_FALSE is not set
CONFIG_TRUE=y
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo TRUE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox true
true: applet not found
+ echo 1
1
+ set +x
# FALSE
CONFIG_FALSE=y
# CONFIG_TRUE is not set
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo FALSE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox false
false: applet not found
+ echo 1
1
+ set +x

$ neither did that one. Let's try to touch .config inbetween^C
-)
$ git reset --hard 102ff76c845746f9c0bae65299176a0a49f85260 && make defconfig > /dev/null ; make distclean > /dev/null; git pull --rebase && make allnoconfig > /dev/null;for i in NIH TRUE FALSE;do make distclean > /dev/null && make allnoconfig > /dev/null ; echo "# $i" ; sed -i -e "/CONFIG_$i/s/.*/CONFIG_$i=y/" .config ; touch .config ; egrep "(NIH|TRUE|FALSE)" .config ; make -j > /dev/null && size busybox && set -x && ./busybox $(echo $i | tr '[[:upper:]]' '[[:lower:]]') ; echo $?; set +x ; done
HEAD is now at 102ff76 mount: clean up #defines. No code changes
First, rewinding head to replay your work on top of it...
Fast-forwarded master to b24c1139fb4fb6e1bf8ca5a753ee95b497717b17.
# NIH
# CONFIG_FALSE is not set
# CONFIG_TRUE is not set
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo NIH
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox nih
nih: applet not found
+ echo 1
1
+ set +x
# TRUE
# CONFIG_FALSE is not set
CONFIG_TRUE=y
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo TRUE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox true
true: applet not found
+ echo 1
1
+ set +x
# FALSE
CONFIG_FALSE=y
# CONFIG_TRUE is not set
   text	   data	    bss	    dec	    hex	filename
   4837	    329	     24	   5190	   1446	busybox
++ echo FALSE
++ tr '[[:upper:]]' '[[:lower:]]'
+ ./busybox false
false: applet not found
+ echo 1
1
+ set +x

/me scratches head
foobar


More information about the busybox mailing list