mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-02-20 09:06:19 +00:00
samples: use savedefconfig when saving samples
When saving a sample, use savedefconfig instead of copying the full .config file. This reduces the saved .config, and reduces clutter when it is later upgraded. Also use defconfig when retrieving a sample. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
parent
27e8b280f9
commit
99a6ddf3be
@ -6,7 +6,8 @@
|
||||
# List all config files, wether sourced or generated
|
||||
|
||||
# The top-level config file to be used be configurators
|
||||
KCONFIG_TOP = config/config.in
|
||||
# We need it to savedefconfig in scripts/saveSample.sh
|
||||
export KCONFIG_TOP = config/config.in
|
||||
|
||||
# Build the list of all source config files
|
||||
STATIC_CONFIG_FILES = $(patsubst $(CT_LIB_DIR)/%,%,$(shell find $(CT_LIB_DIR)/config -type f \( -name '*.in' -o -name '*.in.2' \) 2>/dev/null))
|
||||
|
@ -10,7 +10,8 @@ PHONY += $(configurators)
|
||||
|
||||
$(configurators): config_files
|
||||
|
||||
CONF := $(CT_LIB_DIR)/kconfig/conf
|
||||
# We need CONF for savedefconfig in scripts/saveSample.sh
|
||||
export CONF := $(CT_LIB_DIR)/kconfig/conf
|
||||
MCONF := $(CT_LIB_DIR)/kconfig/mconf
|
||||
NCONF := $(CT_LIB_DIR)/kconfig/nconf
|
||||
|
||||
|
@ -83,9 +83,9 @@ endef
|
||||
|
||||
# How we do recall one sample
|
||||
PHONY += $(CT_SAMPLES)
|
||||
$(CT_SAMPLES):
|
||||
$(SILENT)cp $(call sample_dir,$@)/crosstool.config .config
|
||||
$(SILENT)$(MAKE) -rf $(CT_NG) V=$(V) oldconfig
|
||||
$(CT_SAMPLES): config_files
|
||||
@$(ECHO) " CONF $(KCONFIG_TOP)"
|
||||
$(SILENT)$(CONF) --defconfig=$(call sample_dir,$@)/crosstool.config $(KCONFIG_TOP)
|
||||
@echo
|
||||
@echo '***********************************************************'
|
||||
@echo
|
||||
|
@ -72,15 +72,16 @@ esac
|
||||
samp_dir="samples/${samp_name}"
|
||||
mkdir -p "${samp_dir}"
|
||||
|
||||
# Save the crosstool-NG config file
|
||||
# We need to save the real .config with kconfig's values,
|
||||
# not our mangled .config.2 with arrays
|
||||
# Tweak the .config file
|
||||
# We need to be based on the real .config with kconfig's values,
|
||||
# not our mangled .config.2 with shell arrays
|
||||
cp .config .defconfig
|
||||
"${sed}" -r -e 's|^(CT_PREFIX_DIR)=.*|\1="${HOME}/x-tools/${CT_TARGET}"|;' \
|
||||
-e 's|^# CT_LOG_TO_FILE is not set$|CT_LOG_TO_FILE=y|;' \
|
||||
-e 's|^# CT_LOG_FILE_COMPRESS is not set$|CT_LOG_FILE_COMPRESS=y|;' \
|
||||
-e 's|^(CT_LOCAL_TARBALLS_DIR)=.*|\1="${HOME}/src"|;' \
|
||||
<.config \
|
||||
>"${samp_dir}/crosstool.config"
|
||||
>.defconfig
|
||||
|
||||
# Function to copy a file to the sample directory
|
||||
# Needed in case the file is already there (think of a previously available sample)
|
||||
@ -106,7 +107,7 @@ if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
|
||||
# We save the file, and then point the saved sample to this file
|
||||
CT_DoAddFileToSample "${CT_LIBC_UCLIBC_CONFIG_FILE}" "${samp_dir}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
|
||||
"${sed}" -r -i -e 's|^(CT_LIBC_UCLIBC_CONFIG_FILE)=.+$|\1="'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"|;' \
|
||||
"${samp_dir}/crosstool.config"
|
||||
.defconfig
|
||||
else
|
||||
# remove any dangling files
|
||||
for f in "${samp_dir}/${CT_LIBC}-"*.config; do
|
||||
@ -114,6 +115,11 @@ else
|
||||
done
|
||||
fi
|
||||
|
||||
# Now, actually save the defconfig
|
||||
export KCONFIG_CONFIG="$(pwd)/.defconfig"
|
||||
${CONF} --savedefconfig="${samp_dir}/crosstool.config" "${KCONFIG_TOP}"
|
||||
rm -f .defconfig
|
||||
|
||||
# Restore stdout now, to be interactive
|
||||
exec >&7
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user