BR2_PACKAGE_BUSYBOX_CONFIG ignored
AFAICT the filename passed in BR2_PACKAGE_BUSYBOX_CONFIG is ignored and the .config file in output/build/busybox-1.33.0 is always read and then rewritten.
There is a lot of makefile 'goop' to read through, so I'm not sure how it is expected to get passed through.
A quick look at the busybox config sources seemed to imply that NULL was passed in as the old config file name - so it always looked for a default (.config or /dev/null).
--
Sent from: http://buildroot-busybox.2317881.n4.nabble.com/
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"David" == David Laight <[email protected]> writes:
AFAICT the filename passed in
BR2_PACKAGE_BUSYBOX_CONFIGis ignored and the .config file in output/build/busybox-1.33.0 is always read and then rewritten.There is a lot of makefile 'goop' to read through, so I'm not sure how it is expected to get passed through.
A quick look at the busybox config sources seemed to imply that NULL was passed in as the old config file name - so it always looked for a default (.config or/dev/null).
What makes you think it doesn't work?
make BR2_PACKAGE_BUSYBOX_CONFIG=/tmp/no-such-file busybox-configure
for f in /tmp/no-such-file ; do if [ ! -f "${f}" ]; then printf "Kconfig file or fragment '%s' for '%s' does not exist\n" "${f}" "busybox"; exit 1; fi; done Kconfig file or fragment '/tmp/no-such-file' for 'busybox' does not exist
make[1]: *** [package/busybox/busybox.mk:409: /tmp/no-such-file] Error 1
echo -e 'CONFIG_BRCTL=y\n# CONFIG_HTTPD is not set' > /tmp/config make BR2_PACKAGE_BUSYBOX_CONFIG=/tmp/config busybox-configure ..
make busybox-menuconfig
..
[*] brctl (4.7 kb)
[ ] httpd (32 kb)
Signature · 1 line
Bye, Peter Korsgaard
From: Peter Korsgaard
Quoted 22 lines
Sent: 14 May 2021 16:00
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"David" == David Laight <[email protected]> writes:
AFAICT the filename passed in
BR2_PACKAGE_BUSYBOX_CONFIGis ignored and the .config file in output/build/busybox-1.33.0 is always read and then rewritten.There is a lot of makefile 'goop' to read through, so I'm not sure how it is expected to get passed through.
A quick look at the busybox config sources seemed to imply that NULL was passed in as the old config file name - so it always looked for a default (.config or/dev/null).What makes you think it doesn't work?
make BR2_PACKAGE_BUSYBOX_CONFIG=/tmp/no-such-file busybox-configure
for f in/tmp/no-such-file; do if [ ! -f "${f}" ]; then printf "Kconfigfile or fragment '%s' for '%s' does not exist\n" "${f}" "busybox"; exit 1; fi; doneKconfigfile or fragment '/tmp/no-such-file' for 'busybox' does not exist
make[1]: *** [package/busybox/busybox.mk:409:/tmp/no-such-file] Error 1
Quoted 4 lines
echo -e '
CONFIG_BRCTL=y\n#CONFIG_HTTPDis not set' >/tmp/configmake BR2_PACKAGE_BUSYBOX_CONFIG=/tmp/config busybox-configure ..
make busybox-menuconfig
I think it must go wrong after those checks.
I've a local copy of busybox.config referenced from my buildroot config file. There is also the default busybox.config inside buildroot.
And finally a .config file inside the busybox tree.
When I run 'make busybox-menuconfig' it only reads and updates the latter. Even if I copy the .config to my busybox.config to ensure it is valid.
I think this used to work (about three years ago) because our own scripts recover the updated file so it can be saved under source control. (Not that I actually remember doing that.)
I've just run: strace -oz -f make busybox-menuconfig
There is only one reference to busybox.config about 14% of the way through. It's existence is checked for between .stamp_dotconfig and .stamp_patched.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"David" == David Laight <[email protected]> writes:
Hi,
Quoted 8 lines
I think it must go wrong after those checks.
I've a local copy of busybox.config referenced from my buildroot config file. There is also the default busybox.config inside buildroot.
And finally a .config file inside the busybox tree.When I run 'make busybox-menuconfig' it only reads and updates the latter. Even if I copy the .config to my busybox.config to ensure it is valid.
Just to make sure I follow you, you are doing this from a clean tree, right? The config file is only copied to output/build/busybox-*/.config once (unless you run make busybox-clean-kconfig-for-reconfigure).
It works here:
make savedefconfig
cat defconfig
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
BR2_PACKAGE_BUSYBOX_CONFIG="/tmp/config"
# BR2_TARGET_ROOTFS_TAR is not set
cat /tmp/configCONFIG_BRCTL=y
# CONFIG_HTTPD is not set
make busybox-dirclean && make busybox-menuconfig
..
[*] brctl (4.7 kb)
[ ] httpd (32 kb)
What Buildroot version are you using?
Quoted 3 lines
I think this used to work (about three years ago) because our own scripts recover the updated file so it can be saved under source control. (Not that I actually remember doing that.)
We already have 'make busybox-update-config' for that:
make busybox-update-config
cp -f /home/peko/source/buildroot/output-busybox/build/busybox-1.33.0/.config /tmp/config
Signature · 1 line
Bye, Peter Korsgaard
From: Peter Korsgaard
Quoted 1 line
Sent: 14 May 2021 17:19
...
Quoted 4 lines
We already have 'make busybox-update-config' for that:
make busybox-update-config
cp -f/home/peko/source/buildroot/output-busybox/build/busybox-1.33.0/.config/tmp/config
Ah, I was expecting the files to be copied both ways all the time. I don't remember spotting that target in the documentation.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)