tools: Add user configuration script

Signed-off-by: Kirill Kapranov <kirill.kapranov@compulab.co.il>
This commit is contained in:
Kirill Kapranov
2019-10-23 17:34:25 +03:00
parent 73403b8191
commit 040eeaf890
2 changed files with 70 additions and 12 deletions
+3 -12
View File
@@ -1,22 +1,13 @@
#!/bin/bash -x
MACHINE=${MACHINE:-ucm-imx8m-mini}
DISTRO=${DISTRO:-fsl-imx-xwayland}
EULA=1
. fsl-setup-release.sh $@
declare -a ENVIRONMENT=('../sources/meta-bsp-imx8mm/tools/setup-compulab-env')
declare -a ENVIRONMENT=('../sources/meta-bsp-imx8mm/tools/setup-compulab-env \
../sources/meta-bsp-imx8mm/tools/setup-user-env')
for env in ${ENVIRONMENT[@]};do
[ -f ${env} ] && FORCE=Yes source ${env}
done
eval DISTRO=$(awk '(/DISTRO.*=/)&&($0=$NF)' conf/local.conf)
[[ ${DISTRO} == 'fsl-imx-fb' ]] && return
cat << eom
--------------------- Chromium ---------------------
eom
echo -n "Would you like to add Chromium to the buid? (y/n) "
read value
[[ ${value} == 'y' ]] && awk '/IMAGE_INSTALL_append = \\/' RS="" ../README-IMXBSP >> conf/local.conf
+67
View File
@@ -0,0 +1,67 @@
#!/bin/bash -xv
user_local_conf=$(mktemp --dry-run --tmpdir=/tmp userXXX)
local_conf="conf/local.conf"
chrome=( yes no )
cfg_chrome() {
if [[ $1 == "yes" ]];then
cat << EOP >> ${user_local_conf}
# Add Chromium
IMAGE_INSTALL_append = \\
"\${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' chromium-ozone-wayland', \\
bb.utils.contains('DISTRO_FEATURES', 'x11', ' chromium-x11', \\
'', d), d)}"
EOP
fi
}
rootfs=( ro rw )
cfg_rootfs() {
if [[ $1 == "ro" ]];then
cat << EOP >> ${user_local_conf}
IMAGE_FEATURES += "read-only-rootfs"
EOP
fi
}
declare -A ARRAYNAME=( [chrome]="yes" [rootfs]="rw" )
cat << EOG
--- Users' Configurations started ---
EOG
for ARRAY in ${!ARRAYNAME[@]}; do
select_string='default '
eval array=\${${ARRAY}[@]}
for value in ${array[@]}; do
select_string+=${value}" "
done # for value
PS3="${ARRAY} configuration [ ${ARRAYNAME[${ARRAY}]} ] (Ctrl^C -- exit) : "
select i in $select_string; do
[[ -z ${i} ]] && echo "Invalid option -(" || case $i in
default)
break
;;
*)
ARRAYNAME[${ARRAY}]=${i}
break
;;
esac
done # select
done # for ARRAY
for ARRAY in ${!ARRAYNAME[@]}; do
command -v cfg_${ARRAY} &>/dev/null
[[ $? -eq 0 ]] && cfg_${ARRAY} ${ARRAYNAME[${ARRAY}]}
done
if [[ -f ${local_conf} ]];then
cat << EOH >> ${local_conf}
# Users' Configurations
EOH
cat ${user_local_conf} >> ${local_conf}
fi
rm -rf ${user_local_conf}