crosstool-ng/scripts/upgrade
Alexey Neyman 196f62e18c Upgrade script for uClibc retirement
Run samples through upgrade and fix accumulated breakages:

*-centos6-*: After 2.12.2 retirement, the samples selected most recent
glibc (2.34) which also forced kernels 3.2+. Revert to 2.12.1 and
2.6.32.71, respectively. Interestingly, 2.12.1 was marked as being used
in CentOS6, but the samples selected 2.12.2. Anyway, CentOS6 is EOL now
and glibc 2.12 is going to be marked obsolete, and retired soon.

arc-*: Make TARGET_VENDOR match the sample's name; otherwise `ct-ng
saveconfig` places the config file into a different location.

Fix 'savedefconfig' which was not saving the configuration file version
(CT_VCHECK was set to 'load' after CT_LoadConfig call).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
..
README Improve upgradability of defconfig files 2019-02-09 14:09:20 -08:00
v0 Improve upgradability of defconfig files 2019-02-09 14:09:20 -08:00
v1 Improve upgradability of defconfig files 2019-02-09 14:09:20 -08:00
v2 Move GDB build into a common backend function 2019-03-09 18:01:30 -08:00
v3 Upgrade script for uClibc retirement 2022-02-11 00:47:50 -08:00

Upgrade scripts for specific versions of the config file.
Each script must define a function `upgrade` that can
assume `${opt}` and `${val}` variables set on input. On
output, if `${opt}` is unset - so will be the corresponding
option.

One thing to keep in mind is that this script may be invoked
on full config - or on a defconfig. Do not assume that all
options will be present! If an option is not specified, use
the value it had as a default for the fallback; to check if
it has been specified, use `$selected_opts` associative
array to check if it has been present in the config file
(otherwise, you an option not being set after sourcing the
previous version of the config is ambiguous - it could be
that the option is called out as `# CT_FOO is not set` (i.e.
selected as false) or not present at all (i.e. selected as
default).

If it is not possible to determine the settings of an option
because a different controlling option is not set, either
err out (see CT_LIBC_UCLIBC_CUSTOM in v0 for an example)
or select a sane default and issue a warning (see CT_GDB_CUSTOM
in v0 for an example).