From 57e5be632d4e40314cd8d1a67973ee1e58d3dfb8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 20 Jan 2019 16:42:12 -0800 Subject: Basic framework for checking config file version Signed-off-by: Alexey Neyman --- config/global.in | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'config') diff --git a/config/global.in b/config/global.in index 0dff199c..a19667b7 100644 --- a/config/global.in +++ b/config/global.in @@ -1,14 +1,47 @@ # Overall toolchain configuration: paths, jobs, etc... -config CT_VERSION +config VERSION string option env="CT_VERSION" +# Config version checking framework. If CONFIG_VERSION is unset in the current .config +# or defconfig, it is loaded as 0 (possibly triggering a user prompt during 'ct-ng oldconfig'). +# If the value of CONFIG_VERSION is older than CONFIG_VERSION_CURRENT, we'll advice the user +# to run the configuration through an upgrade. If it is newer, we'll error out - I have no +# crystal orb to perform the downgrade. + +# Hack to make kconfig save/load the value for CONFIG_VERSION. Set to empty value (for +# normal operations like 'ct-ng menuconfig'); 'load' for creating a configuration from a (potentially) +# old file, i.e. 'ct-ng ' or 'ct-ng oldconfig'; 'save' for saving the current configuration, +# i.e. 'ct-ng saveconfig' or 'ct-ng savedefconfig'. +config VCHECK + string + option env="CT_VCHECK" + +config CONFIG_VERSION_CURRENT + string + default -1 if VCHECK = "save" + default 1 + +config CONFIG_VERSION + string + prompt "** make it changeable **" if VCHECK = "load" || VCHECK = "save" + default 0 if VCHECK = "load" || VCHECK = "save" + default CONFIG_VERSION_CURRENT + +if VCHECK = "warning" +comment "*************************************************************************" +comment "Loaded configuration was generated by a previous version of crosstool-NG." +comment "Saving it will mark the configuration as up-to-date without verifying it." +comment "It is recommended to run \"ct-ng upgradeconfig\" before making any " +comment "changes to the configuration. " +comment "*************************************************************************" +endif + # Allow unconditional usage of tristates config MODULES - bool + def_bool y option modules - default y menu "Paths and misc options" -- cgit v1.2.3 From adc16046f769fdf27db9b533260609fe675d8c6b Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 27 Jan 2019 19:04:15 -0800 Subject: Add upgrade logic to version-check.sh Slightly rework config version detector to catch the case where neither CONFIG_VERSION/CONFIG_VERSION_CURRENT is defined in the config file. Add olddefconfig and use it after the upgrade. Signed-off-by: Alexey Neyman --- bash-completion/ct-ng.in | 2 +- config/global.in | 15 +- ct-ng.in | 22 ++- samples/samples.mk | 6 +- scripts/upgrade.sed | 25 --- scripts/version-check.sh | 483 ++++++++++++++++++++++++++++++++++++++++++++++- 6 files changed, 515 insertions(+), 38 deletions(-) delete mode 100644 scripts/upgrade.sed (limited to 'config') diff --git a/bash-completion/ct-ng.in b/bash-completion/ct-ng.in index f38c8810..9991906e 100644 --- a/bash-completion/ct-ng.in +++ b/bash-completion/ct-ng.in @@ -16,7 +16,7 @@ _ct_ng () { stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;') actions='help menuconfig nconfig oldconfig saveconfig extractconfig - defconfig savedefconfig + defconfig savedefconfig olddefconfig upgradeconfig build build-all wiki-samples list-samples list-samples-short check-samples list-steps diff --git a/config/global.in b/config/global.in index a19667b7..f5df002d 100644 --- a/config/global.in +++ b/config/global.in @@ -18,15 +18,24 @@ config VCHECK string option env="CT_VCHECK" +# Kconfig's idiosynchrasy: it does not output the config settings declared with 'option env' +# to the generated .config file. Must use one extra level of indirection. +config CONFIG_VERSION_ENV + string + option env="CT_CONFIG_VERSION_CURRENT" + +# Up-to-date version of the configuration file. If saving a defconfig, choose a default that +# is guaranteed not to match - so that kconfig saves the value to .config. config CONFIG_VERSION_CURRENT string - default -1 if VCHECK = "save" - default 1 + default CONFIG_VERSION_ENV +# Version used by the config being loaded (e.g. as part of 'oldconfig' or recalling +# a defconfig. Make it changeable while loading/saving to force writing it to defconfig. config CONFIG_VERSION string prompt "** make it changeable **" if VCHECK = "load" || VCHECK = "save" - default 0 if VCHECK = "load" || VCHECK = "save" + default "0" if VCHECK = "load" || VCHECK = "save" default CONFIG_VERSION_CURRENT if VCHECK = "warning" diff --git a/ct-ng.in b/ct-ng.in index fddc4645..6f08032b 100644 --- a/ct-ng.in +++ b/ct-ng.in @@ -1,5 +1,5 @@ #!@MAKE@ -rf -# vim: set filetype=make : +# vim: set filetype=make noet : # Makefile for crosstool-NG. # Copyright 2006 Yann E. MORIN @@ -37,6 +37,12 @@ export CT_VERSION:=@PACKAGE_VERSION@ # user-visible configurators, and suppresses a warning from kconfig. export CT_VCHECK= +# Current version of the configuration file. Defined here, because we also +# need to pass it to the upgrade script - which may receive an input that +# was not preprocessed by kconfig, and hence have no string for "up-to-date" +# version. +export CT_CONFIG_VERSION_CURRENT=1 + # Download agents used by scripts.mk CT_WGET := @wget@ CT_CURL := @curl@ @@ -106,7 +112,8 @@ CONF-nconfig := $(CT_LIBEXEC_DIR)/nconf # TBD needed? We do supply the defconfig name explicitly below export srctree=$(CT_LIB_DIR) -.PHONY: menuconfig nconfig oldconfig savedefconfig defconfig check-config +.PHONY: menuconfig nconfig oldconfig olddefconfig savedefconfig defconfig check-config extractconfig +.PHONY: upgradeconfig check-config: @[ ! -e .config -o -f .config ] || { echo ".config is not a regular file:"; ls -dl .config; exit 1; } >&2 @@ -124,6 +131,11 @@ oldconfig: .config check-config @$(bash) $(CT_LIB_DIR)/scripts/version-check.sh .config $(SILENT)$(CONF) --silent$@ $(KCONFIG_TOP) +olddefconfig: .config check-config + @$(CT_ECHO) " CONF $@" + @$(bash) $(CT_LIB_DIR)/scripts/version-check.sh .config + $(SILENT)$(CONF) --$@ $(KCONFIG_TOP) + savedefconfig: .config check-config @$(CT_ECHO) ' GEN $@' $(SILENT)CT_VCHECK=save $(CONF) --savedefconfig=$${DEFCONFIG-defconfig} $(KCONFIG_TOP) @@ -132,6 +144,11 @@ defconfig: check-config @$(CT_ECHO) ' CONF $@' $(SILENT)CT_VCHECK=save $(CONF) --defconfig=$${DEFCONFIG-defconfig} $(KCONFIG_TOP) +upgradeconfig: .config check-config + $(SILENT)CT_UPGRADECONFIG=yes $(bash) $(CT_LIB_DIR)/scripts/version-check.sh .config + $(SILENT)$(CONF) --olddefconfig $(KCONFIG_TOP) + @$(CT_ECHO) "Done. You may now run 'ct-ng menuconfig' to edit the configuration." + # Always be silent, the stdout an be >.config extractconfig: @$(awk) 'BEGIN { dump=0; } \ @@ -206,6 +223,7 @@ help-config:: @echo ' menuconfig - Update current config using a menu based program' @echo ' nconfig - Update current config using a menu based program' @echo ' oldconfig - Update current config using a provided .config as base' + @echo ' upgradeconfig - Upgrade config file to current crosstool-NG' @echo ' extractconfig - Extract to stdout the configuration items from a' @echo ' build.log file piped to stdin' @echo ' savedefconfig - Save current config as a mini-defconfig to $${DEFCONFIG}' diff --git a/samples/samples.mk b/samples/samples.mk index 63058009..3c4d4c34 100644 --- a/samples/samples.mk +++ b/samples/samples.mk @@ -21,7 +21,6 @@ CT_UPDATE_SAMPLES := no help-config:: @echo ' show-config - Show a brief overview of current configuration' @echo ' saveconfig - Save current config as a preconfigured target' - @echo ' upgradeconfig - Upgrade config file to current crosstool-NG' help-samples:: @echo ' list-samples - Prints the list of all samples (for scripting)' @@ -94,7 +93,7 @@ list-samples-short: FORCE # Check one sample PHONY += $(patsubst %,check-%,$(CT_SAMPLES)) $(patsubst %,check-%,$(CT_SAMPLES)): check-%: - @eset -e; xport KCONFIG_CONFIG=$$(pwd)/.config.sample; \ + @set -e; export KCONFIG_CONFIG=$$(pwd)/.config.sample; \ CT_NG_SAMPLE=$(call sample_dir,$*)/crosstool.config; \ CT_VCHECK=load $(CONF) -s --defconfig=$${CT_NG_SAMPLE} $(KCONFIG_TOP) &>/dev/null; \ CT_UPGRADECONFIG=yes $(bash) $(CT_LIB_DIR)/scripts/version-check.sh .config.sample; \ @@ -129,9 +128,6 @@ samples: saveconfig: .config samples $(SILENT)CT_VCHECK=save CONF=$(CONF) $(bash) $(CT_LIB_DIR)/scripts/saveSample.sh -upgradeconfig: .config - $(SILENT)CT_UPGRADECONFIG=yes $(bash) $(CT_LIB_DIR)/scripts/version-check.sh .config - # The 'sample_dir' function prints the directory in which the sample is, # searching first in local samples, then in global samples define sample_dir diff --git a/scripts/upgrade.sed b/scripts/upgrade.sed deleted file mode 100644 index 995b804e..00000000 --- a/scripts/upgrade.sed +++ /dev/null @@ -1,25 +0,0 @@ -# After 1.23.0, generated config options were standardized to upper case -s/\/CT_ARCH_\U\1/g -s/\/CT_BINUTILS_BINUTILS/g -s/\/CT_CC_GCC/g -s/\/CT_COMP_TOOLS_\U\1/g -s/\/CT_DEBUG_\U\1/g -s/\/CT_KERNEL_\U\1/g -s/\/CT_LIBC_\U\1/g - -# Also after 1.23.0, package versions were brought to the same format -s/\/CT_ANDROID_NDK_V_R\U\1/g -s/\/CT_ANDROID_NDK_V_R15B/g -s/\&2 -exit 1 +is_set() +{ + if [ "x${val+set}" = "xset" ]; then + return 0 + else + return 1 + fi +} + +info() +{ + # $opt comes from the caller + echo "INFO ${opt:+:: ${opt} }:: $1" >&2 +} + +warning() +{ + # $opt comes from the caller + echo "WARN ${opt:+:: ${opt} }:: $1" >&2 +} + +warning_if_set() +{ + if is_set; then + warning "$@" + fi +} + +# When a symbol is replaced with a newer version. If it is a choice and +# the replacement existed in the old version as well, add a replacement_for +# handler for the other symbol to avoid kconfig warnings. +replace() +{ + local newopt="${1}" + + if is_set; then + info "No longer supported; replacing with '${newopt}'". + opt="${newopt}" + else + # Wasn't set; just drop it silently + unset opt + fi +} + +# Avoid multiple definitions for a symbol when multiple old symbols are folded into one +# in a new version. If any of the variable names passed as arguments are set, skip +# emitting this variable (which, presumably, is "not set"). +replacement_for() +{ + while [ -n "${1}" ]; do + if [ -n "${!1}" ]; then + unset opt + return + fi + shift + done +} + +# Upgrade from v0: select Linaro as the vendor if a Linaro version was selected +# (in v0, both GNU and Linaro versions were combined in a single list). GNU is +# the default, leave it to olddefconfig to select it if we don't see a Linaro version. +# We don't depend on CT_xxx_SHOW_LINARO symbols: they just enabled showing Linaro +# versions in that list, but it may have been GNU version that was actually selected. +select_linaro() +{ + if is_set; then + echo "# CT_${1}_USE_GNU is not set" + echo "CT_${1}_USE_LINARO=y" + fi +} + + +### Per-version upgrade drivers. Called with ${opt} and ${val} set, +### may modify these variables + +# Upgrade from version 0 (which is 1.23, as released) to version 1 +# (current state of master as of 2019/01/20). Upgrades in the interim +# versions may be broken. +upgrade_v0() +{ + case "${opt}" in + CT_ARCH_alpha|CT_ARCH_arm|CT_ARCH_avr|CT_ARCH_m68k|CT_ARCH_microblaze|\ + CT_ARCH_mips|CT_ARCH_nios2|CT_ARCH_powerpc|CT_ARCH_s390|CT_ARCH_sh|\ + CT_ARCH_sparc|CT_ARCH_x86|CT_ARCH_xtensa|\ + CT_BINUTILS_binutils|\ + CT_CC_gcc|\ + CT_COMP_TOOLS_autoconf|CT_COMP_TOOLS_automake|CT_COMP_TOOLS_libtool|\ + CT_COMP_TOOLS_m4|CT_COMP_TOOLS_make|\ + CT_DEBUG_duma|CT_DEBUG_gdb|CT_DEBUG_ltrace|CT_DEBUG_strace|\ + CT_KERNEL_bare_metal|CT_KERNEL_linux|CT_KERNEL_windows|\ + CT_LIBC_avr_libc|CT_LIBC_glibc|CT_LIBC_musl|CT_LIBC_newlib|CT_LIBC_none|\ + CT_LIBC_uClibc) + # Renamed to upper-case + opt=${opt^^} + ;; + CT_ARCH_XTENSA_CUSTOM_NAME) + replace CT_OVERLAY_NAME + ;; + CT_ARCH_XTENSA_CUSTOM_OVERLAY_LOCATION) + replace CT_OVERLAY_LOCATION + ;; + CT_LIBC_mingw) + # Renamed to MINGW_W64 + opt=CT_LIBC_MINGW_W64 + ;; + CT_ARCH_*_AVAILABLE|CT_KERNEL_*_AVAILABLE|CT_LIBC_*_AVAILABLE) + # Previously used "backend selectors". Autogenerated, no warning + unset opt + ;; + CT_CONFIGURE_has_*) + # Configure-detected build machine options. Drop, will use current. + unset opt + ;; + CT_*_or_later) + # Automatically selected version constraints. Drop, will auto-select current ones. + unset opt + ;; + CT_BACKEND_ARCH|CT_BACKEND_KERNEL|CT_BACKEND_LIBC|CT_IS_A_BACKEND) + warning "Option ${opt} is no longer supported, dropping" + unset opt + ;; + CT_*_SHOW_LINARO) + # Used to just include Linaro versions into the list. We'll infer whether Linaro is + # actually used from the actual version selected, below. + unset opt + ;; + CT_CC_GCC_4_8|CT_CC_GCC_4_9|CT_CC_GCC_5|CT_CC_GCC_6|\ + CT_LIBC_NEWLIB_2_0|CT_LIBC_NEWLIB_2_1|CT_LIBC_NEWLIB_2_2|CT_LIBC_NEWLIB_2_3|CT_LIBC_NEWLIB_2_4|CT_LIBC_NEWLIB_2_5) + # In 1.23.0, each package had its own ad-hoc version constraints. Drop, new ones + # will be autoselected. + unset opt + ;; + # Custom location: translate to the new framework. No generic way to interpret the version + # string user may have configured; just warn him to select it manually. + CT_BINUTILS_CUSTOM) + warning_if_set "Assuming custom location contains GNU sources; edit the configuration if it was Linaro version" + replace CT_BINUTILS_SRC_CUSTOM + ;; + CT_CC_GCC_CUSTOM) + warning_if_set "Assuming custom location contains GNU sources; edit the configuration if it was Linaro version" + replace CT_GCC_SRC_CUSTOM + ;; + CT_CC_GCC_CUSTOM_LOCATION) + replace CT_GCC_CUSTOM_LOCATION + ;; + CT_ELF2FLT_CUSTOM) + replace CT_ELF2FLT_SRC_CUSTOM + ;; + CT_ELF2FLT_GIT) + if is_set; then + echo "CT_ELF2FLT_SRC_DEVEL=y" + fi + replace CT_ELF2FLT_DEVEL_VCS_git + ;; + CT_ELF2FLT_GIT_CSET) + replace CT_ELF2FLT_DEVEL_REVISION + ;; + CT_GDB_CUSTOM) + warning_if_set "Assuming custom location contains GNU sources; edit the configuration if it was Linaro version" + replace CT_GDB_SRC_CUSTOM + ;; + CT_KERNEL_LINUX_CUSTOM) + replace CT_LINUX_SRC_CUSTOM + ;; + CT_KERNEL_LINUX_CUSTOM_LOCATION) + replace CT_LINUX_CUSTOM_LOCATION + ;; + CT_LIBC_AVR_LIBC_CUSTOM) + replace CT_AVR_LIBC_SRC_CUSTOM + ;; + CT_LIBC_AVR_LIBC_CUSTOM_LOCATION) + replace CT_AVR_LIBC_CUSTOM_LOCATION + ;; + CT_LIBC_GLIBC_CUSTOM) + warning_if_set "Assuming custom location contains GNU sources; edit the configuration if it was Linaro version" + replace CT_GLIBC_SRC_CUSTOM + ;; + CT_LIBC_GLIBC_CUSTOM_LOCATION) + replace CT_GLIBC_CUSTOM_LOCATION + ;; + CT_LIBC_MUSL_CUSTOM) + replace CT_MUSL_SRC_CUSTOM + ;; + CT_LIBC_MUSL_CUSTOM_LOCATION) + replace CT_MUSL_CUSTOM_LOCATION + ;; + CT_LIBC_NEWLIB_CUSTOM) + warning_if_set "Assuming custom location contains GNU sources; edit the configuration if it was Linaro version" + replace CT_NEWLIB_SRC_CUSTOM + ;; + CT_LIBC_NEWLIB_CUSTOM_LOCATION) + replace CT_NEWLIB_CUSTOM_LOCATION + ;; + CT_LIBC_UCLIBC_CUSTOM) + if [ "${CT_LIBC_UCLIBC_CUSTOM_UCLIBC}" = "y" ]; then + replace CT_UCLIBC_SRC_CUSTOM + else + replace CT_UCLIBC_NG_SRC_CUSTOM + fi + ;; + CT_LIBC_UCLIBC_CUSTOM_UCLIBC) + replace CT_UCLIBC_SRC_CUSTOM + ;; + CT_LIBC_UCLIBC_CUSTOM_UCLIBC_NG) + replace CT_UCLIBC_NG_SRC_CUSTOM + ;; + CT_LIBC_UCLIBC_CUSTOM_UCLIBC_NG_OLD) + warning_if_set "uClibc-NG versions before 1.0.15 no longer supported" + replace CT_UCLIBC_NG_SRC_CUSTOM + ;; + CT_LIBC_UCLIBC_CUSTOM_LOCATION) + if [ "${CT_LIBC_UCLIBC_CUSTOM_UCLIBC}" = "y" ]; then + replace CT_UCLIBC_CUSTOM_LOCATION + else + replace CT_UCLIBC_NG_CUSTOM_LOCATION + fi + ;; + CT_WINAPI_V_DEVEL) + replace CT_MINGW_W64_SRC_DEVEL + ;; + CT_WINAPI_V_select) + # Internal selector + unset opt + ;; + CT_BINUTILS_CUSTOM_VERSION|CT_CC_GCC_CUSTOM_VERSION|CT_ELF2FLT_CUSTOM_VERSION|CT_KERNEL_LINUX_CUSTOM_VERSION|\ + CT_LIBC_AVR_LIBC_CUSTOM_VERSION|CT_LIBC_GLIBC_CUSTOM_VERSION|CT_LIBC_MUSL_CUSTOM_VERSION|\ + CT_LIBC_NEWLIB_CUSTOM_VERSION|CT_LIBC_UCLIBC_CUSTOM_VERSION|CT_GDB_CUSTOM_VERSION) + warning_if_set "Cannot automatically convert custom version; edit configuration to select it" + unset opt + ;; + CT_CC_GCC_VERSION|CT_CC_VERSION|CT_KERNEL_VERSION|CT_WINAPI_VERSION|CT_LIBC_VERSION) + # Auto-selected; the symbol was just renamed + unset opt + ;; + CT_LIBC_glibc_family) + # Internal selector, not user-visible + unset opt + ;; + CT_LIBC_ADDONS_LIST) + warning_if_set "Support for custom add-ons has been removed. If using libidn add-on, edit the configuration." + ;; + CT_LIBC_DISABLE_VERSIONING) + replace CT_GLIBC_DISABLE_VERSIONING + ;; + CT_LIBC_ENABLE_FORTIFIED_BUILD) + replace CT_GLIBC_ENABLE_FORTIFIED_BUILD + ;; + CT_LIBC_GLIBC_CONFIGPARMS|CT_LIBC_GLIBC_EXTRA_CFLAGS|CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY|\ + CT_LIBC_GLIBC_FORCE_UNWIND|CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS|CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN|\ + CT_LIBC_GLIBC_KERNEL_VERSION_NONE|CT_LIBC_GLIBC_MIN_KERNEL|CT_LIBC_GLIBC_MIN_KERNEL_VERSION) + replace CT_GLIBC_${opt#CT_LIBC_GLIBC_} + ;; + CT_LIBC_LOCALES) + replace CT_GLIBC_LOCALES + ;; + CT_LIBC_OLDEST_ABI) + replace CT_GLIBC_OLDEST_ABI + ;; + CT_LIBC_GLIBC_NEEDS_PORTS|CT_LIBC_GLIBC_PORTS_EXTERNAL|CT_LIBC_GLIBC_USE_PORTS) + # Auto-selected + unset opt + ;; + CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA) + warning_if_set "Support for pregenerated locales in uClibc has been removed" + unset opt + ;; + # Trivial version replacements + CT_AUTOMAKE_V_1_11_1) replace CT_AUTOMAKE_V_1_11_6;; + CT_AUTOMAKE_V_1_11_6) replacement_for CT_AUTOMAKE_V_1_11_1;; + CT_AUTOMAKE_V_1_14) replace CT_AUTOMAKE_V_1_14_1;; + CT_AUTOMAKE_V_1_15) replace CT_AUTOMAKE_V_1_15_1;; + CT_BINUTILS_V_2_26) replace CT_BINUTILS_V_2_26_1;; + CT_BINUTILS_V_2_28) replace CT_BINUTILS_V_2_28_1;; + CT_BINUTILS_LINARO_V_2_23_2) select_linaro BINUTILS; replace CT_BINUTILS_LINARO_V_2_23_2_2013_10_4;; + CT_BINUTILS_LINARO_V_2_24) select_linaro BINUTILS; replace CT_BINUTILS_LINARO_V_2_24_0_2014_11_2;; + CT_BINUTILS_LINARO_V_2_25) select_linaro BINUTILS; replace CT_BINUTILS_LINARO_V_2_25_0_2015_01_2;; + CT_CC_GCC_V_4_8_5) replace CT_GCC_V_4_8_5;; + CT_CC_GCC_V_4_9_4) replace CT_GCC_V_4_9_4;; + CT_CC_GCC_V_5_4_0) replace CT_GCC_V_5_5_0;; + CT_CC_GCC_V_6_3_0) replace CT_GCC_V_6_5_0;; + CT_CC_GCC_V_linaro_4_8) select_linaro GCC; replace CT_GCC_LINARO_V_4_8_2015_06;; + CT_CC_GCC_V_linaro_4_9) select_linaro GCC; replace CT_GCC_LINARO_V_4_9_2017_01;; + CT_CC_GCC_V_linaro_5_4) select_linaro GCC; replace CT_GCC_LINARO_V_5_5_2017_10;; + CT_CC_GCC_V_linaro_6_3) select_linaro GCC; replace CT_GCC_LINARO_V_6_4_2018_05;; + CT_CLOOG_V_0_18_0) replace CT_CLOOG_V_0_18_1;; + CT_CLOOG_V_0_18_1) replacement_for CT_CLOOG_V_0_18_0;; + CT_EXPAT_V_2_2_0) replace CT_EXPAT_V_2_2_6;; # 2.2.6 was not available in ct-ng 1.23.0 - no replacement_for + CT_GDB_V_6_8a) replace CT_GDB_V_6_8A;; + CT_GDB_V_7_0a) replace CT_GDB_V_7_0_1A;; + CT_GDB_V_7_0_1a) replace CT_GDB_V_7_0_1A;; + CT_GDB_V_7_1a) replace CT_GDB_V_7_1A;; + CT_GDB_V_7_2a) replace CT_GDB_V_7_2A;; + CT_GDB_V_7_3a) replace CT_GDB_V_7_3A;; + CT_GDB_V_7_4) replace CT_GDB_V_7_4_1;; + CT_GDB_V_7_7) replace CT_GDB_V_7_7_1;; + CT_GDB_V_7_8|CT_GDB_V_7_8_1) replace CT_GDB_V_7_8_2;; + CT_GDB_V_7_8_2) replacement_for CT_GDB_V_7_8 CT_GDB_V_7_8_1;; + CT_GDB_V_7_9) replace CT_GDB_V_7_9_1;; + CT_GDB_V_7_10) replace CT_CT_GDB_V_7_10_1;; + CT_GDB_V_linaro_7_3) select_linaro GDB; replace CT_GDB_LINARO_V_7_3_2011_12;; + CT_GDB_V_linaro_7_4) select_linaro GDB; replace CT_GDB_LINARO_V_7_4_2012_06;; + CT_GDB_V_linaro_7_5) select_linaro GDB; replace CT_GDB_LINARO_V_7_5_2012_12;; + CT_GDB_V_linaro_7_6) select_linaro GDB; replace CT_GDB_LINARO_V_7_6_1_2013_10;; + CT_GDB_V_linaro_7_7) select_linaro GDB; replace CT_GDB_LINARO_V_7_7_1_2014_06_1;; + CT_GDB_V_linaro_7_7_1) select_linaro GDB; replace CT_GDB_LINARO_V_7_7_1_2014_06_1;; + CT_GDB_V_linaro_7_8) select_linaro GDB; replace CT_GDB_LINARO_V_7_8_2014_09;; + CT_GMP_V_4_3_0|CT_GMP_V_4_3_1) replace CT_GMP_V_4_3_2;; + CT_GMP_V_4_3_2) replacement_for CT_GMP_V_4_3_0 CT_GMP_V_4_3_1;; + CT_GMP_V_5_0_1|CT_GMP_V_5_0_2) replace CT_GMP_V_5_0_5;; # 5.0.5 not in ct-ng 1.23.0 + CT_GMP_V_5_1_1) replace CT_GMP_V_5_1_3;; + CT_GMP_V_5_1_3) replacement_for CT_GMP_V_5_1_1;; + CT_GMP_V_6_0_0) replace CT_GMP_V_6_0_0A;; # 6.0.0a not in ct-ng 1.23.0 + CT_GMP_V_6_1_0) replace CT_GMP_V_6_1_2;; + CT_GMP_V_6_1_2) replacement_for CT_GMP_V_6_1_0;; + CT_ISL_V_0_11_1) replace CT_ISL_V_0_11_2;; + CT_ISL_V_0_14) replace CT_ISL_V_0_14_1;; + CT_KERNEL_V_2_6_32|CT_KERNEL_V_2_6_33|CT_KERNEL_V_2_6_34|CT_KERNEL_V_2_6_35|\ + CT_KERNEL_V_2_6_36|CT_KERNEL_V_2_6_37|CT_KERNEL_V_2_6_38|CT_KERNEL_V_2_6_39|\ + CT_KERNEL_V_3_0|CT_KERNEL_V_3_1|CT_KERNEL_V_3_2|CT_KERNEL_V_3_3|CT_KERNEL_V_3_4|CT_KERNEL_V_3_5|\ + CT_KERNEL_V_3_6|CT_KERNEL_V_3_7|CT_KERNEL_V_3_8|CT_KERNEL_V_3_9|CT_KERNEL_V_3_10|CT_KERNEL_V_3_11|\ + CT_KERNEL_V_3_12|CT_KERNEL_V_3_13|CT_KERNEL_V_3_14|CT_KERNEL_V_3_15|CT_KERNEL_V_3_16|\ + CT_KERNEL_V_3_17|CT_KERNEL_V_3_18|CT_KERNEL_V_3_19|\ + CT_KERNEL_V_4_0|CT_KERNEL_V_4_1|CT_KERNEL_V_4_2|CT_KERNEL_V_4_3|CT_KERNEL_V_4_4|\ + CT_KERNEL_V_4_5|CT_KERNEL_V_4_6|CT_KERNEL_V_4_7|CT_KERNEL_V_4_8|CT_KERNEL_V_4_9|CT_KERNEL_V_4_10) + replace CT_LINUX_${opt#CT_KERNEL_};; + CT_LIBC_AVR_LIBC_V_1_8_0) replace CT_AVR_LIBC_V_1_8_1;; + CT_LIBC_AVR_LIBC_V_1_8_1) replace CT_AVR_LIBC_V_1_8_1;; + CT_LIBC_AVR_LIBC_V_2_0_0) replace CT_AVR_LIBC_V_2_0_0;; + CT_LIBC_GLIBC_V_2_12_1|CT_LIBC_GLIBC_V_2_12_2|CT_LIBC_GLIBC_V_2_13|CT_LIBC_GLIBC_V_2_14|\ + CT_LIBC_GLIBC_V_2_14_1|CT_LIBC_GLIBC_V_2_15|CT_LIBC_GLIBC_V_2_16_0|CT_LIBC_GLIBC_V_2_17|\ + CT_LIBC_GLIBC_V_2_18|CT_LIBC_GLIBC_V_2_19|CT_LIBC_GLIBC_V_2_20|CT_LIBC_GLIBC_V_2_21|\ + CT_LIBC_GLIBC_V_2_22|CT_LIBC_GLIBC_V_2_23|CT_LIBC_GLIBC_V_2_24|CT_LIBC_GLIBC_V_2_25) + replace CT_GLIBC_${opt#CT_LIBC_GLIBC_};; + CT_LIBC_GLIBC_LINARO_V_2_20) replace CT_GLIBC_LINARO_V_2_20_2014_11;; + CT_LIBC_MUSL_V_1_1_15|CT_LIBC_MUSL_V_1_1_16) + replace CT_MUSL_${opt#CT_LIBC_MUSL_};; + CT_LIBC_NEWLIB_V_1_17_0|CT_LIBC_NEWLIB_V_1_18_0|CT_LIBC_NEWLIB_V_1_19_0|CT_LIBC_NEWLIB_V_1_20_0|\ + CT_LIBC_NEWLIB_V_2_0_0|CT_LIBC_NEWLIB_V_2_1_0|CT_LIBC_NEWLIB_V_2_2_0|CT_LIBC_NEWLIB_V_2_3_0|\ + CT_LIBC_NEWLIB_V_2_4_0|CT_LIBC_NEWLIB_V_2_5_0) + replace CT_NEWLIB_${opt#CT_LIBC_NEWLIB_};; + CT_LIBC_NEWLIB_LINARO_V_2_1_0) select_linaro NEWLIB; replace CT_NEWLIB_LINARO_V_2_1_0_2014;; + CT_LIBC_NEWLIB_LINARO_V_2_2_0) select_linaro NEWLIB; replace CT_NEWLIB_LINARO_V_2_2_0_2015;; + CT_LIBELF_V_0_8_12) replace CT_LIBELF_V_0_8_13;; + CT_LIBELF_V_0_8_13) replacement_for CT_LIBELF_V_0_8_12;; + CT_M4_V_1_4_13|CT_M4_V_1_4_17) replace CT_CT_M4_V_1_4_18;; + CT_M4_V_1_4_18) replacement_for CT_M4_V_1_4_13 CT_M4_V_1_4_17;; + CT_MPC_V_0_8_1) replace CT_MPC_V_0_8_2;; + CT_MPC_V_0_8_2) replacement_for CT_MPC_V_0_8_1;; + CT_MPC_V_1_0|CT_MPC_V_1_0_1|CT_MPC_V_1_0_2) + replace CT_MPC_V_1_0_3;; + CT_MPC_V_1_0_3) replacement_for CT_MPC_V_1_0 CT_MPC_V_1_0_1 CT_MPC_V_1_0_2;; + CT_MPFR_V_2_4_0|CT_MPFR_V_2_4_1) + replace CT_MPFR_V_2_4_2;; + CT_MPFR_V_2_4_2) replacement_for CT_MPFR_V_2_4_0 CT_MPFR_V_2_4_1;; + CT_MPFR_V_3_0_0) replace CT_MPFR_V_3_0_1;; + CT_MPFR_V_3_0_1) replacement_for CT_MPFR_V_3_0_0;; + CT_MPFR_V_3_1_0|CT_MPFR_V_3_1_2|CT_MPFR_V_3_1_3|CT_MPFR_V_3_1_5) + replace CT_MPFR_V_3_1_6;; + CT_MPFR_V_3_1_6) replacement_for CT_MPFR_V_3_1_0 CT_MPFR_V_3_1_2 CT_MPFR_V_3_1_3 CT_MPFR_V_3_1_5;; + CT_STRACE_V_4_5_18|CT_STRACE_V_4_5_19) + replace CT_STRACE_V_4_5_20;; + CT_STRACE_V_4_5_20) replacement_for CT_STRACE_V_4_5_18 CT_STRACE_V_4_5_19;; + CT_LIBC_UCLIBC_NG_V_1_0_20|CT_LIBC_UCLIBC_NG_V_1_0_21|CT_LIBC_UCLIBC_NG_V_1_0_22) + is_set && echo "CT_UCLIBC_USE_UCLIBC_NG_ORG=y" + replace CT_UCLIBC_NG_V_1_0_25 + ;; + CT_LIBC_UCLIBC_V_0_9_33_2) + is_set && echo "CT_UCLIBC_USE_UCLIBC_ORG=y" + replace CT_UCLIBC_V_0_9_33_2 + ;; + CT_WINAPI_V_2_0_7|CT_WINAPI_V_2_0_7|CT_WINAPI_V_2_0_9) + replace CT_MINGW_W64_V_V2_0_10;; + CT_WINAPI_V_3_0_0) replace CT_MINGW_W64_V_V3_0_0;; + CT_WINAPI_V_3_1_0) replace CT_MINGW_W64_V_V3_1_0;; + CT_WINAPI_V_3_2_0) replace CT_MINGW_W64_V_V3_2_0;; + CT_WINAPI_V_3_3_0) replace CT_MINGW_W64_V_V3_3_0;; + CT_WINAPI_V_4_0_0|CT_WINAPI_V_4_0_1|CT_WINAPI_V_4_0_2|CT_WINAPI_V_4_0_3|\ + CT_WINAPI_V_4_0_4|CT_WINAPI_V_4_0_5|CT_WINAPI_V_4_0_6) + replace CT_MINGW_W64_V_V4_0_6;; + CT_WINAPI_V_5_0_0|CT_WINAPI_V_5_0_1) + replace CT_MINGW_W64_V_V5_0_3;; + + # Misc + CT_CLOOG_NEEDS_AUTORECONF) + # Was unused in 1.23, just drop + unset opt + ;; + CT_PATCH_SINGLE) + # Internal selector in 1.23 + unset opt + ;; + CT_PATCH_BUNDLED_FALLBACK_LOCAL|CT_PATCH_LOCAL_FALLBACK_BUNDLED) + warning_if_set "Fallback patch order has been removed" + ;; + CT_CC_GCC_TARGET_FINAL) + warning_if_set "Option removed" + ;; + CT_COMPLIBS|CT_COMPLIBS_NEEDED|CT_CC_GCC_latest) + # Internal selectors + unset opt + ;; + esac + +} + +# Main upgrade driver. One version at a time, read line by line, interpret +# the options and replace anything that needs replacing. +cp "${CFGFILE}" "${CFGFILE}.before-upgrade" +v=${CT_CONFIG_VERSION} +input="${CFGFILE}" +while [ "${v}" -lt "${CT_CONFIG_VERSION_CURRENT}" ]; do + vn=$[ v + 1 ] + info "Upgrading v${v} to v${vn}" + { + while read ln; do + unset val + q= + case "${ln}" in + CT_CONFIG_VERSION_CURRENT=*|CT_CONFIG_VERSION=*) + continue + ;; + CT_*=*) + opt=${ln%%=*} + val=${ln#*=} + case "${val}" in + \"*\") + val="${val%\"}" + val="${val#\"}" + q=\" + ;; + esac + ;; + "# CT_"*" is not set") + opt=${ln#* } + opt=${opt%% *} + ;; + *) + echo "${ln}" + continue + ;; + esac + upgrade_v${v} + # Emit the option(s) + if [ x${opt+set} = x ]; then + continue + elif [ x${val+set} = x ]; then + echo "# ${opt} is not set" + else + echo "${opt}=${q}${val}${q}" + fi + done + echo "CT_CONFIG_VERSION=\"${vn}\"" + echo "CT_CONFIG_VERSION_CURRENT=\"${CT_CONFIG_VERSION_CURRENT}\"" + } < "${input}" > "${CFGFILE}.${vn}" + v=${vn} + rm -f "${input}" + input="${CFGFILE}.${vn}" + # Reload the next input so that the upgrade function can rely on other CT_xxx variables, + # not just the currently processed variable. + # TBD clean the environment first to avoid any stale values + . "${input}" + # Ideally, we'd do 'ct-ng olddefconfig' after each step with the appropriate + # Kconfig so that the next step would be able to use auto-set values from the + # previous step. However, that would require us to keep archived config/ trees + # from every config file version, which is not practical. So, I decided to defer + # this until it is actually needed. Even then, it is probably sufficient to only + # keep the versions where there is such a dependency. +done +mv "${CFGFILE}.${CT_CONFIG_VERSION_CURRENT}" "${CFGFILE}" +cp "${CFGFILE}" "${CFGFILE}.before-olddefconfig" +cat >&2 < Date: Wed, 30 Jan 2019 00:09:30 -0800 Subject: Config v2: select relevant parts of each package version Also, remove a couple of config options that dealt with package versions that have been since retired. Signed-off-by: Alexey Neyman --- config/cc/gcc.in | 5 ----- config/comp_libs/cloog.in | 7 ------- config/comp_libs/isl.in | 2 ++ ct-ng.in | 2 +- packages/android-ndk/package.desc | 1 + packages/automake/package.desc | 1 + packages/binutils/package.desc | 1 + packages/cloog/package.desc | 2 +- packages/dtc/package.desc | 1 + packages/expat/package.desc | 1 + packages/gcc-linaro/package.desc | 1 + packages/gcc/package.desc | 3 ++- packages/gdb-linaro/7.7-2014.05/chksum | 4 ---- packages/gdb-linaro/7.7-2014.05/version.desc | 2 -- packages/gdb-linaro/package.desc | 1 + packages/gdb/package.desc | 1 + packages/glibc-linaro/package.desc | 1 + packages/glibc/package.desc | 2 ++ packages/gmp/package.desc | 1 + packages/isl/package.desc | 1 + packages/libelf/package.desc | 1 + packages/libtool/package.desc | 1 + packages/m4/package.desc | 1 + packages/make/package.desc | 1 + packages/mingw-w64/package.desc | 1 + packages/mpc/package.desc | 1 + packages/mpfr/package.desc | 1 + packages/newlib-linaro/package.desc | 1 + packages/newlib/package.desc | 2 +- scripts/build/companion_libs/130-cloog.sh | 8 +++----- scripts/build/libc/musl.sh | 7 ------- 31 files changed, 31 insertions(+), 34 deletions(-) delete mode 100644 packages/gdb-linaro/7.7-2014.05/chksum delete mode 100644 packages/gdb-linaro/7.7-2014.05/version.desc (limited to 'config') diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 74fbb70a..f52a07b1 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -34,11 +34,6 @@ config CC_GCC_ENABLE_PLUGINS depends on BINUTILS_PLUGINS depends on ! STATIC_TOOLCHAIN -# Affects the build of musl -config GCC_BUG_61144 - bool - default y if GCC_4_9_or_later && !GCC_4_9_2_or_later - # If binutils installs gold, enable support for gold in gcc config CC_GCC_GOLD def_bool y diff --git a/config/comp_libs/cloog.in b/config/comp_libs/cloog.in index 54cb76b8..01318b4c 100644 --- a/config/comp_libs/cloog.in +++ b/config/comp_libs/cloog.in @@ -1,8 +1 @@ # CLooG options - -# CLooG 0.18.4 requires ISL 0.12 or newer -# CLooG 0.18.1/0.18.0 requires ISL 0.12 or older - -config CLOOG_HAS_WITH_GMP_ISL_OSL - bool - default y if CLOOG_0_18_or_later diff --git a/config/comp_libs/isl.in b/config/comp_libs/isl.in index e0358ee6..fe6fa8d4 100644 --- a/config/comp_libs/isl.in +++ b/config/comp_libs/isl.in @@ -1,4 +1,6 @@ # ISL options +# CLooG 0.18.4 requires ISL 0.12 or newer +# CLooG 0.18.1 requires ISL 0.12 or older ## select CLOOG_REQUIRE_0_18_1_or_older if CLOOG_NEEDED && !ISL_0_12_or_later ## select CLOOG_REQUIRE_0_18_4_or_later if CLOOG_NEEDED && !ISL_0_14_or_older diff --git a/ct-ng.in b/ct-ng.in index 6f08032b..0120d35d 100644 --- a/ct-ng.in +++ b/ct-ng.in @@ -41,7 +41,7 @@ export CT_VCHECK= # need to pass it to the upgrade script - which may receive an input that # was not preprocessed by kconfig, and hence have no string for "up-to-date" # version. -export CT_CONFIG_VERSION_CURRENT=1 +export CT_CONFIG_VERSION_CURRENT=2 # Download agents used by scripts.mk CT_WGET := @wget@ diff --git a/packages/android-ndk/package.desc b/packages/android-ndk/package.desc index 5be82225..8811b3c6 100644 --- a/packages/android-ndk/package.desc +++ b/packages/android-ndk/package.desc @@ -1,4 +1,5 @@ # We don't support building bionic (yet) so no official repository mirrors='https://dl.google.com/android/repository' +relevantpattern='r*|[a-z]' archive_filename='@{pkg_name}-@{version}-linux-x86_64' archive_formats='.zip' diff --git a/packages/automake/package.desc b/packages/automake/package.desc index c1998939..7e531e68 100644 --- a/packages/automake/package.desc +++ b/packages/automake/package.desc @@ -1,5 +1,6 @@ repository='git https://git.savannah.gnu.org/git/automake.git' bootstrap='./bootstrap' mirrors='$(CT_Mirrors GNU automake)' +relevantpattern='1.*|.' archive_formats='.tar.xz .tar.gz' signature_format='packed/.sig' diff --git a/packages/binutils/package.desc b/packages/binutils/package.desc index 317cd6c1..d5c9b221 100644 --- a/packages/binutils/package.desc +++ b/packages/binutils/package.desc @@ -1,5 +1,6 @@ repository='git git://sourceware.org/git/binutils-gdb.git' mirrors='$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)' +relevantpattern='*.*|.' origin='GNU' milestones='2.23 2.25 2.27 2.30' archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/cloog/package.desc b/packages/cloog/package.desc index 2a129949..7f01ea95 100644 --- a/packages/cloog/package.desc +++ b/packages/cloog/package.desc @@ -1,5 +1,5 @@ pkg_label='CLooG' repository='git git://repo.or.cz/cloog.git' mirrors='http://www.bastoul.net/cloog/pages/download ftp://gcc.gnu.org/pub/gcc/infrastructure' -milestones='0.18 0.18.1 0.18.4' +milestones='0.18.1 0.18.4' archive_formats='.tar.gz' diff --git a/packages/dtc/package.desc b/packages/dtc/package.desc index 97d6da8e..5f65d228 100644 --- a/packages/dtc/package.desc +++ b/packages/dtc/package.desc @@ -1,4 +1,5 @@ repository='git git://git.kernel.org/pub/scm/utils/dtc/dtc.git' mirrors='$(CT_Mirrors kernel.org dtc)' +relevantpattern='*.*|.' archive_formats='.tar.xz .tar.gz' signature_format='unpacked/.sign' diff --git a/packages/expat/package.desc b/packages/expat/package.desc index 6a541b36..4e3e1a01 100644 --- a/packages/expat/package.desc +++ b/packages/expat/package.desc @@ -3,3 +3,4 @@ repository_subdir='expat' bootstrap='./buildconf.sh && make -C doc all' mirrors='http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}' archive_formats='.tar.bz2' +relevantpattern='*.*|.' diff --git a/packages/gcc-linaro/package.desc b/packages/gcc-linaro/package.desc index fd475c19..814260b3 100644 --- a/packages/gcc-linaro/package.desc +++ b/packages/gcc-linaro/package.desc @@ -1,6 +1,7 @@ master='gcc' repository='git https://git.linaro.org/toolchain/gcc.git' mirrors='$(CT_Mirrors Linaro gcc ${CT_GCC_LINARO_VERSION})' +relevantpattern='4.*|- *|.' origin='Linaro' experimental='yes' archive_formats='.tar.xz' diff --git a/packages/gcc/package.desc b/packages/gcc/package.desc index 0bfc71bf..e6d98f88 100644 --- a/packages/gcc/package.desc +++ b/packages/gcc/package.desc @@ -1,5 +1,6 @@ repository='svn svn://gcc.gnu.org/svn/gcc' mirrors='$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})' +relevantpattern='4.*|. *|.' origin='GNU' -milestones='4.8 4.9 4.9.2 5 6 7' +milestones='4.8 4.9 5 6 7' archive_formats='.tar.xz .tar.gz' diff --git a/packages/gdb-linaro/7.7-2014.05/chksum b/packages/gdb-linaro/7.7-2014.05/chksum deleted file mode 100644 index 99f13abf..00000000 --- a/packages/gdb-linaro/7.7-2014.05/chksum +++ /dev/null @@ -1,4 +0,0 @@ -md5 gdb-linaro-7.7-2014.05.tar.bz2 af99ab893b970d8e36c6c0f62887e93e -sha1 gdb-linaro-7.7-2014.05.tar.bz2 5afccf133d08d7b389e2b58f44a4a854b407b5ba -sha256 gdb-linaro-7.7-2014.05.tar.bz2 b3d91cc1a0325a75cd5952bade5f1f8b1352c369b89f35b63300384dac69b383 -sha512 gdb-linaro-7.7-2014.05.tar.bz2 b4fa1cd607eda2cdfd568a4aeb8498a14a8b654ef49e9ab7aab08bcf630d90201660a19a1d4fac473d9c1806b0c76a59d5d5d3c4b451ead394f775c9698939fd diff --git a/packages/gdb-linaro/7.7-2014.05/version.desc b/packages/gdb-linaro/7.7-2014.05/version.desc deleted file mode 100644 index a114052d..00000000 --- a/packages/gdb-linaro/7.7-2014.05/version.desc +++ /dev/null @@ -1,2 +0,0 @@ -obsolete='yes' -archive_formats='.tar.bz2' diff --git a/packages/gdb-linaro/package.desc b/packages/gdb-linaro/package.desc index bc11a178..ad4ffb5d 100644 --- a/packages/gdb-linaro/package.desc +++ b/packages/gdb-linaro/package.desc @@ -1,6 +1,7 @@ master='gdb' repository='git https://git.linaro.org/toolchain/binutils-gdb.git' mirrors='$(CT_Mirrors Linaro gdb ${CT_GDB_LINARO_VERSION})' +relevantpattern='*.*|.*-20[0-9][0-9] *.*|-20[0-9][0-9]' origin='Linaro' experimental='yes' archive_formats='.tar.xz' diff --git a/packages/gdb/package.desc b/packages/gdb/package.desc index b432cf90..3ac65f84 100644 --- a/packages/gdb/package.desc +++ b/packages/gdb/package.desc @@ -1,5 +1,6 @@ origin='GNU' repository='git git://sourceware.org/git/binutils-gdb.git' mirrors='$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)' +relevantpattern='*.*|[a-z.]' milestones='7.0 7.2 7.12 8.0' archive_formats='.tar.xz .tar.gz' diff --git a/packages/glibc-linaro/package.desc b/packages/glibc-linaro/package.desc index 7c455d4d..ddf465a9 100644 --- a/packages/glibc-linaro/package.desc +++ b/packages/glibc-linaro/package.desc @@ -1,6 +1,7 @@ master='glibc' origin='Linaro' repository='git https://git.linaro.org/toolchain/glibc.git' +relevantpattern='*|-' mirrors='$(CT_Mirrors Linaro glibc ${CT_GLIBC_LINARO_VERSION})' experimental='yes' archive_formats='.tar.xz' diff --git a/packages/glibc/package.desc b/packages/glibc/package.desc index 0d256c90..64e14096 100644 --- a/packages/glibc/package.desc +++ b/packages/glibc/package.desc @@ -1,6 +1,8 @@ origin='GNU' repository='git git://sourceware.org/git/glibc.git' mirrors='$(CT_Mirrors GNU glibc)' +# Cannot use MAJOR.MINOR as the releant part because of 2.12: 2.12.2 was the most recent +# bugfix release, but it didn't have glibc-ports released alongside it. milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27' archive_formats='.tar.xz .tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/packages/gmp/package.desc b/packages/gmp/package.desc index 3bf7dc51..5936eea9 100644 --- a/packages/gmp/package.desc +++ b/packages/gmp/package.desc @@ -1,6 +1,7 @@ repository='hg https://gmplib.org/repo/gmp/' bootstrap='./.bootstrap' mirrors='https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)' +relevantpattern='*.*|.' milestones='5.0.0 5.1.0' archive_formats='.tar.xz .tar.lz .tar.bz2' signature_format='packed/.sig' diff --git a/packages/isl/package.desc b/packages/isl/package.desc index 3e1e9ca3..ffae478d 100644 --- a/packages/isl/package.desc +++ b/packages/isl/package.desc @@ -1,5 +1,6 @@ repository='git git://repo.or.cz/isl.git' bootstrap='./autogen.sh' mirrors='http://isl.gforge.inria.fr' +relevantpattern='*.*|.' milestones='0.12 0.13 0.14 0.15 0.18' archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/libelf/package.desc b/packages/libelf/package.desc index e809220a..9f65820c 100644 --- a/packages/libelf/package.desc +++ b/packages/libelf/package.desc @@ -1,4 +1,5 @@ # FIXME No public repository and no new releases. # Consider switching to/adding project elftoolchain? mirrors='http://www.mr511.de/software' +relevantpattern='*.*|.' archive_formats='.tar.gz' diff --git a/packages/libtool/package.desc b/packages/libtool/package.desc index 6c9d38dc..ff4127ae 100644 --- a/packages/libtool/package.desc +++ b/packages/libtool/package.desc @@ -1,5 +1,6 @@ repository='git git://git.savannah.gnu.org/libtool.git' bootstrap='./bootstrap' mirrors='$(CT_Mirrors GNU libtool)' +relevantpattern='*.*|.' archive_formats='.tar.xz .tar.gz' signature_format='packed/.sig' diff --git a/packages/m4/package.desc b/packages/m4/package.desc index 611f28ec..73def83d 100644 --- a/packages/m4/package.desc +++ b/packages/m4/package.desc @@ -1,5 +1,6 @@ repository='git git://git.sv.gnu.org/m4' bootstrap='./bootstrap' mirrors='$(CT_Mirrors GNU m4)' +relevantpattern='*.*|.' archive_formats='.tar.xz .tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/packages/make/package.desc b/packages/make/package.desc index fa678aa8..b72af79b 100644 --- a/packages/make/package.desc +++ b/packages/make/package.desc @@ -1,5 +1,6 @@ repository='git https://git.savannah.gnu.org/git/make.git' bootstrap='autoreconf -i' mirrors='$(CT_Mirrors GNU make)' +relevantpattern='*.*|.' archive_formats='.tar.bz2 .tar.gz' signature_format='packed/.sig' diff --git a/packages/mingw-w64/package.desc b/packages/mingw-w64/package.desc index ff2f3151..d2f7e6d2 100644 --- a/packages/mingw-w64/package.desc +++ b/packages/mingw-w64/package.desc @@ -1,5 +1,6 @@ repository='git https://git.code.sf.net/p/mingw-w64/mingw-w64' mirrors='http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/' +relevantpattern='v*.*|.' milestones='v4' archive_formats='.tar.bz2 .zip' signature_format='packed/.sig' diff --git a/packages/mpc/package.desc b/packages/mpc/package.desc index 028869e2..b834d37d 100644 --- a/packages/mpc/package.desc +++ b/packages/mpc/package.desc @@ -1,6 +1,7 @@ repository='git https://scm.gforge.inria.fr/anonscm/git/mpc/mpc.git' bootstrap='autoreconf -i' mirrors='http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)' +relevantpattern='*.*|.' archive_formats='.tar.gz' signature_format='packed/.sig' milestones='1.1.0' diff --git a/packages/mpfr/package.desc b/packages/mpfr/package.desc index aaddc7d7..43b8a36a 100644 --- a/packages/mpfr/package.desc +++ b/packages/mpfr/package.desc @@ -2,6 +2,7 @@ repository='svn https://scm.gforge.inria.fr/anonscm/svn/mpfr' # TBD: meta-package autoconf-archive to install extra m4's bootstrap='wget -O m4/ax_pthread.m4 \\"http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_pthread.m4\\" && ./autogen.sh' mirrors='http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)' +relevantpattern='*.*|.' archive_formats='.tar.xz .tar.bz2 .tar.gz .zip' signature_format='packed/.asc' milestones='3.0.0 4.0.0' diff --git a/packages/newlib-linaro/package.desc b/packages/newlib-linaro/package.desc index bc92a5b5..74d8f17b 100644 --- a/packages/newlib-linaro/package.desc +++ b/packages/newlib-linaro/package.desc @@ -2,5 +2,6 @@ origin='Linaro' master='newlib' repository='git https://git.linaro.org/toolchain/newlib.git' mirrors='$(CT_Mirrors Linaro newlib ${CT_NEWLIB_LINARO_VERSION})' +relevantpattern='*.*|.*-' experimental='yes' archive_formats='.tar.xz' diff --git a/packages/newlib/package.desc b/packages/newlib/package.desc index 0d2819b0..d9ebb3dc 100644 --- a/packages/newlib/package.desc +++ b/packages/newlib/package.desc @@ -4,5 +4,5 @@ repository='git git://sourceware.org/git/newlib-cygwin.git' # and gnu.org) only store some older releases of newlib (2.0.0 and before). mirrors='ftp://sourceware.org/pub/newlib' milestones='2.0 2.1 2.2' -relevantpattern='*.*.*|.' +relevantpattern='*.*|.*. *.*|.' archive_formats='.tar.gz' diff --git a/scripts/build/companion_libs/130-cloog.sh b/scripts/build/companion_libs/130-cloog.sh index 445d2597..e0f89ebb 100644 --- a/scripts/build/companion_libs/130-cloog.sh +++ b/scripts/build/companion_libs/130-cloog.sh @@ -79,11 +79,9 @@ do_cloog_backend() { eval "${arg// /\\ }" done - if [ "${CT_CLOOG_HAS_WITH_GMP_ISL_OSL}" = y ]; then - cloog_opts+=( --with-gmp=system --with-gmp-prefix="${prefix}" ) - cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" ) - cloog_opts+=( --without-osl ) - fi + cloog_opts+=( --with-gmp=system --with-gmp-prefix="${prefix}" ) + cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" ) + cloog_opts+=( --without-osl ) CT_DoLog EXTRA "Configuring CLooG" diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh index 0a93d10d..b8ea9b14 100644 --- a/scripts/build/libc/musl.sh +++ b/scripts/build/libc/musl.sh @@ -68,13 +68,6 @@ musl_backend_once() { extra_cflags=( ${multi_flags} ) - # From buildroot: - # gcc constant folding bug with weak aliases workaround - # See http://www.openwall.com/lists/musl/2014/05/15/1 - if [ "${CT_GCC_BUG_61144}" = "y" ]; then - extra_cflags+=("-fno-toplevel-reorder") - fi - if [ "${CT_LIBC_MUSL_DEBUG}" = "y" ]; then extra_config+=("--enable-debug") fi -- cgit v1.2.3