update/project/trees: Add flags for more kconfig actions

Add an "-s" flag for "make savedefconfig", "-l" for "make olddefconfig"
and "-n" for "make nconfig" to the update script. The first two are
mainly useful for U-Boot, to compare our configs to the upstream
defconfigs and stay in sync with any upstream changes. The latter is
because the ncurses one has a nice "Symbol Search" that can point out
the menu entry for a config symbol we know.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
btrfsvols
Alper Nebi Yasak 2023-10-13 11:16:41 +03:00
parent 8b411963b7
commit b2d84213da
1 changed files with 10 additions and 4 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/env sh #!/usr/bin/env sh
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> # SPDX-FileCopyrightText: 2022-2023 Alper Nebi Yasak <alpernebiyasak@gmail.com>
# SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com> # SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org> # SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
@ -21,7 +21,7 @@ tmpclean="$(mktemp -d -t makeclean.XXXXXXXXXX)"
main() main()
{ {
while getopts f:b:m:u:c:x: option while getopts f:b:m:u:c:x:s:l:n: option
do do
_f="${1}" _f="${1}"
case "${1}" in case "${1}" in
@ -31,11 +31,14 @@ main()
-c) mode="distclean" ;; -c) mode="distclean" ;;
-x) mode="crossgcc-clean" ;; -x) mode="crossgcc-clean" ;;
-f) mode="fetch" ;; -f) mode="fetch" ;;
-s) mode="savedefconfig" ;;
-l) mode="olddefconfig" ;;
-n) mode="nconfig" ;;
*) err "Invalid option" ;; *) err "Invalid option" ;;
esac esac
shift; project="${OPTARG#src/}"; shift shift; project="${OPTARG#src/}"; shift
done done
[ -z "${_f}" ] && err "flag not specified (-m, -u, -b, -c or -x)" [ -z "${_f}" ] && err "flag not specified (-m, -u, -b, -c, -x, -f, -s, -l or -n)"
[ -z "${project}" ] && err "project name not specified" [ -z "${project}" ] && err "project name not specified"
if [ ! -f "config/${project}/build.list" ]; then if [ ! -f "config/${project}/build.list" ]; then
@ -263,8 +266,11 @@ handle_makefile()
if [ -e "${codedir}/.git" ] && [ "${project}" = "u-boot" ] && \ if [ -e "${codedir}/.git" ] && [ "${project}" = "u-boot" ] && \
[ "${mode}" = "distclean" ]; then [ "${mode}" = "distclean" ]; then
x_ git -C "${codedir}" clean -fdx x_ git -C "${codedir}" clean -fdx
elif [ "${mode}" = "oldconfig" ] || [ "${mode}" = "menuconfig" ]; then elif [ "${mode}" = "oldconfig" ] || [ "${mode}" = "olddefconfig" ] || \
[ "${mode}" = "menuconfig" ] || [ "${mode}" = "nconfig" ]; then
x_ cp "${codedir}/.config" "${config}" x_ cp "${codedir}/.config" "${config}"
elif [ "${mode}" = "savedefconfig" ]; then
x_ cp "${codedir}/defconfig" "${config}"
fi fi
} }