summaryrefslogtreecommitdiff
path: root/resources/scripts/modify/defconfig/options
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-08-21 00:40:35 +0100
committerLeah Rowe <leah@libreboot.org>2023-08-21 00:58:26 +0100
commit7be4706552845824888b58054120dfac99bfdf63 (patch)
treefb173e704061b8193f97fd67472e31a6b79b53c4 /resources/scripts/modify/defconfig/options
parent0faf2a0c6f3e6a52885e1669751c96c2b7265052 (diff)
unify build/defconfig and modify/defconfig
they fundamentally perform the same action: copy the .config file and run make, but build runs make-all, while modify runs make-oldconfig or make-menuconfig merge this functionality together also: ./handle config file ^ this is the new syntax, not: ./build defconfig for for example: ./handle config file -b coreboot x200_8mb <-- build x200 rom ./handle config file -m coreboot x200_8mb <-- modify configs ./handle config file -u coreboot x200_8mb <-- make-oldconfig ./handle config file -u seabios ./handle config file -b u-boot yes, 1 script and a sloccount reduction of 52. and the audit? it continues. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/scripts/modify/defconfig/options')
-rwxr-xr-xresources/scripts/modify/defconfig/options107
1 files changed, 0 insertions, 107 deletions
diff --git a/resources/scripts/modify/defconfig/options b/resources/scripts/modify/defconfig/options
deleted file mode 100755
index 2f5c2f61..00000000
--- a/resources/scripts/modify/defconfig/options
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env sh
-
-#
-# helper script: update project configs (based on defconfig)
-#
-# Copyright (C) 2021, 2023 Leah Rowe <info@minifree.org>
-# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-cfgsdir=""
-mode=""
-project=""
-
-main()
-{
- while getopts m:u: option
- do
- case "${1}" in
- -u)
- mode="oldconfig"
- shift ;;
- -m)
- mode="menuconfig"
- shift ;;
- *)
- err "Invalid option" ;;
- esac
- project="${OPTARG}"
- shift
- done
- [ -z "${mode}" ] && err "mode not given (-m menuconfig or -u oldconfig)"
- cfgsdir="resources/${project}"
- [ -f "${cfgsdir}/build.list" ] || err "Invalid project name given"
-
- printf "Updating %s configs using: make %s\n\n" "${project}" "${mode}"
-
- if [ $# -gt 0 ]; then
- for target in "${@}"; do
- configure_target "${target}"
- done
- else
- for target in ${cfgsdir}/*; do
- [ ! -d "${target}" ] && continue
- configure_target "${target##*/}"
- done
- fi
-}
-
-configure_target()
-{
- target=${1}
-
- targetdir="${cfgsdir}/${target}"
-
- if [ ! -f "${targetdir}/target.cfg" ]; then
- printf "\nmodify/defconfig %s: no target.cfg for %s. SKIP!\n" \
- "${project}" "${target}"
- return 0
- fi
-
- tree="undefined"
- . "${targetdir}/target.cfg"
- [ "${tree}" = "undefined" ] && return 0
-
- codedir="${project}/${tree}"
- [ -d "${codedir}" ] || ./fetch_trees ${project} ${tree} || \
- err "cant download $project"
-
- for cfg in "${targetdir}/config/"*; do
- [ ! -f "${cfg}" ] && continue
- make distclean -BC "${codedir}"
-
- [ -f "${cfg}_" ] && err "${cfg}_ exists from old run"
- cp "${cfg}" "${cfg}_"
-
- cp "${cfg}_" "${codedir}/.config"
- make ${mode} -BC "${codedir}"
- mv "${codedir}/.config" "${cfg}"
-
- make distclean -BC "${codedir}"
- rm -f "${cfg}_"
- done
-}
-
-err()
-{
- printf "ERROR: modify/defconfig: %s\n" "${1}" 1>&2
- exit 1
-}
-
-main $@