Use 'make olddefconfig' in uClibc/uClibc-ng configuration

instead of 'make oldconfig' and responding 'y'. This avoids 'Broken pipe'
errors in the log, as well as selects default setting for all options not
explicitly set.

This requires a small fix in the old uClibc. Won't have to maintain that fix
for long though :)

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman 2017-02-04 21:16:10 -08:00
parent 344d324d19
commit df68f203b4
3 changed files with 42 additions and 9 deletions

View File

@ -0,0 +1,41 @@
diff -urpN uClibc-0.9.33.2.orig/extra/config/conf.c uClibc-0.9.33.2/extra/config/conf.c
--- uClibc-0.9.33.2.orig/extra/config/conf.c 2017-02-04 12:57:38.488808014 -0800
+++ uClibc-0.9.33.2/extra/config/conf.c 2017-02-04 20:26:28.613244457 -0800
@@ -435,6 +435,7 @@ int main(int ac, char **av)
const char *name;
const char *configname = conf_get_configname();
struct stat tmpstat;
+ int olddefconfig = 0;
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
@@ -451,6 +452,7 @@ int main(int ac, char **av)
break;
case 'd':
input_mode = set_default;
+ olddefconfig = 1;
break;
case 'D':
input_mode = set_default;
@@ -514,7 +516,7 @@ int main(int ac, char **av)
switch (input_mode) {
case set_default:
if (!defconfig_file)
- defconfig_file = conf_get_default_confname();
+ defconfig_file = olddefconfig ? NULL : conf_get_default_confname();
if (conf_read(defconfig_file)) {
printf(_("***\n"
"*** Can't find default configuration \"%s\"!\n"
diff -urpN uClibc-0.9.33.2.orig/Makefile.in uClibc-0.9.33.2/Makefile.in
--- uClibc-0.9.33.2.orig/Makefile.in 2017-02-04 12:57:38.484807980 -0800
+++ uClibc-0.9.33.2/Makefile.in 2017-02-04 12:59:34.625789324 -0800
@@ -460,6 +460,9 @@ allyesconfig: $(conf)
allnoconfig: $(conf)
$(Q)$< -n extra/Configs/Config.in
+olddefconfig: $(conf)
+ $(Q)$< -d extra/Configs/Config.in
+
defconfig: $(conf)
$(Q)$< -D extra/Configs/defconfigs/$(ARCH)/$@ extra/Configs/Config.in

View File

@ -138,7 +138,7 @@ do_libc_backend_once() {
fi
manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}"
CT_DoYes | CT_DoExecLog ALL make "${make_args[@]}" oldconfig
CT_DoExecLog ALL make "${make_args[@]}" olddefconfig
# Now filter the multilib flags. manage_uClibc_config did the opposite of
# what Rules.mak in uClibc would do: by the multilib's CFLAGS, it determined

View File

@ -585,14 +585,6 @@ CT_DoForceRmdir() {
done
}
# Echoes the specified string on stdout until the pipe breaks.
# Doesn't fail
# $1: string to echo
# Usage: CT_DoYes "" |make oldconfig
CT_DoYes() {
yes "$1" || true
}
# Add the specified directory to LD_LIBRARY_PATH, and export it
# If the specified patch is already present, just export
# $1: path to add