blob: 70c919a3826acd783ce0a94168ca8a688340cd56 [file] [log] [blame]
Chirayu Desai23e49012022-07-07 02:49:22 +05301#!/bin/bash
Chirayu Desaicc931dc2022-07-08 19:43:32 +05302
3# SPDX-FileCopyrightText: 2022 The Calyx Institute
4#
5# SPDX-License-Identifier: Apache-2.0
6
Chirayu Desai23e49012022-07-07 02:49:22 +05307#
8# update-vars:
9#
10# Update Pixel device-specific variables by parsing Google's pages
11#
12#
13##############################################################################
14
15
16### SET ###
17
18# use bash strict mode
19set -euo pipefail
20
21
22### TRAPS ###
23
24# trap signals for clean exit
25trap 'error_m interrupted!' SIGINT
26
27### CONSTANTS ###
28readonly script_path="$(cd "$(dirname "$0")";pwd -P)"
Jis G Jacob4c84cfa2024-02-09 11:20:03 -050029readonly vars_path="${script_path}/../../../vendor/bliss/vars"
Chirayu Desai23e49012022-07-07 02:49:22 +053030
31source "${vars_path}/pixels"
32
33## HELP MESSAGE (USAGE INFO)
34# TODO
35
36### FUNCTIONS ###
37
38
39
40# error message
41# ARG1: error message for STDERR
42# ARG2: error status
43error_m() {
44 echo "ERROR: ${1:-'failed.'}" 1>&2
45 return "${2:-1}"
46}
47
48# print help message.
49help_message() {
50 echo "${help_message:-'No help available.'}"
51}
52
53main() {
54 local key="${1}"
55 local value="${2}"
56 shift; shift
57 if [[ $# -ne 0 ]]; then
58 local files="${@}"
59 else
60 local files="${devices[@]}"
61 fi
62
63 for f in ${files}; do
64 (
65 local fv="${vars_path}/${f}"
66 source "${fv}"
67 sed -i "/ prev_${key}=/c\readonly prev_${key}=\"${!key}\"" "${fv}"
68 sed -i "/ ${key}=/c\readonly ${key}=\"$value\"" "${fv}"
69 )
70 done
71}
72
73### RUN PROGRAM ###
74
75main "${@}"
76
77
78##