MagiskHidePropsConf/config.sh

500 lines
15 KiB
Bash
Raw Normal View History

2017-12-25 21:21:25 +00:00
##########################################################################################
#
# Magisk Module Template Config Script
# by topjohnwu
#
##########################################################################################
##########################################################################################
# Configs
##########################################################################################
AUTOMOUNT=true
PROPFILE=false
2018-03-18 15:39:43 +00:00
POSTFSDATA=true
2019-02-02 12:37:20 +00:00
LATESTARTSERVICE=true
2017-12-25 21:21:25 +00:00
##########################################################################################
# Installation Message
##########################################################################################
print_modname() {
2018-05-06 09:57:49 +00:00
MODVERSION=$(echo $(get_file_value $INSTALLER/module.prop "version=") | sed 's|-.*||')
2017-12-25 21:21:25 +00:00
ui_print "*******************************"
2018-12-05 15:22:57 +00:00
ui_print "MagiskHide Props Config $MODVERSION"
ui_print " By Didgeridoohan @XDA"
2017-12-25 21:21:25 +00:00
ui_print "*******************************"
}
##########################################################################################
# Replace list
##########################################################################################
REPLACE="
"
##########################################################################################
# Permissions
##########################################################################################
set_permissions() {
2018-08-07 11:50:01 +00:00
set_perm_recursive $MODPATH 0 0 0755 0644
set_perm $MODPATH/system/$BIN/props 0 0 0777
set_perm $LATEFILE 0 0 0755
2017-12-25 21:21:25 +00:00
}
2018-06-19 09:56:08 +00:00
##########################################################################################
# Installation variables and functions for the Magisk module "MagiskHide Props Config"
2019-02-02 12:37:20 +00:00
# Copyright (c) 2018-2019 Didgeridoohan @ XDA Developers.
# Licence: MIT
2018-06-19 09:56:08 +00:00
##########################################################################################
2018-03-18 15:39:43 +00:00
# Finding file values
get_file_value() {
2019-02-02 12:37:20 +00:00
grep $2 $1 | sed "s|.*$2||" | sed 's|\"||g'
2018-03-18 15:39:43 +00:00
}
2018-10-25 06:37:05 +00:00
# Get left side of =
get_eq_left() {
2019-02-02 12:37:20 +00:00
echo $1 | cut -f 1 -d '='
2018-10-25 06:37:05 +00:00
}
# Get first word in string
get_first() {
case $1 in
*\ *) echo $1 | sed 's|\ .*||'
;;
*=*) get_eq_left "$1"
;;
esac
}
2018-03-18 15:39:43 +00:00
# Variables
2018-11-18 06:31:58 +00:00
if [ "$MAGISK_VER_CODE" -ge 17316 ]; then
COREPATH=/sbin/.magisk
else
COREPATH=/sbin/.core
fi
ADBPATH=/data/adb
2018-07-26 09:03:13 +00:00
BIMGPATH=$COREPATH/img
2018-04-25 22:17:32 +00:00
$BOOTMODE && IMGPATH=$BIMGPATH || IMGPATH=$MOUNTPATH
2018-11-18 06:31:58 +00:00
if [ "$MAGISK_VER_CODE" -ge 17316 ]; then
POSTPATH=$ADBPATH/post-fs-data.d
SERVICEPATH=$ADBPATH/service.d
2018-11-19 12:55:58 +00:00
LATEHOLDER=$ADBPATH/service.d/propsconf_late
2018-11-18 06:31:58 +00:00
else
POSTPATH=$IMGPATH/.core/post-fs-data.d
SERVICEPATH=$IMGPATH/.core/service.d
2018-11-19 12:55:58 +00:00
LATEHOLDER=$BIMGPATH/.core/service.d/propsconf_late
2018-11-18 06:31:58 +00:00
fi
2018-05-29 07:29:19 +00:00
POSTFILE=$POSTPATH/propsconf_post
LATEFILE=$SERVICEPATH/propsconf_late
POSTLATEFILE=$POSTPATH/propsconf_late
2018-03-18 15:39:43 +00:00
UPDATELATEFILE=$INSTALLER/common/propsconf_late
2019-02-02 12:37:20 +00:00
MIRRORLOC=/sbin/.magisk/mirror/system
2018-04-29 09:14:35 +00:00
if [ -z $SLOT ]; then
CACHELOC=/cache
else
CACHELOC=/data/cache
fi
2019-02-02 12:37:20 +00:00
CONFFILELST="
$CACHELOC/propsconf_conf
/data/propsconf_conf
/sdcard/propsconf_conf
"
2018-04-29 09:14:35 +00:00
INSTLOG=$CACHELOC/propsconf_install.log
2018-03-18 15:39:43 +00:00
UPDATEV=$(get_file_value $UPDATELATEFILE "SCRIPTV=")
2018-08-07 11:50:01 +00:00
UPDATETRANSF=$(get_file_value $UPDATELATEFILE "SETTRANSF=")
NOTTRANSF=$(get_file_value $UPDATELATEFILE "NOTTRANSF=")
2018-03-18 15:39:43 +00:00
SETTINGSLIST="
FINGERPRINTENB
2019-02-02 12:37:20 +00:00
PRINTMODULE
2018-03-18 15:39:43 +00:00
PRINTEDIT
2019-02-02 12:37:20 +00:00
PRINTVEND
DEVSIM
2018-03-18 15:39:43 +00:00
BUILDPROPENB
FILESAFE
BUILDEDIT
DEFAULTEDIT
PROPCOUNT
PROPEDIT
2018-04-25 22:17:32 +00:00
CUSTOMEDIT
2018-06-19 09:56:08 +00:00
DELEDIT
2018-03-18 15:39:43 +00:00
REBOOTCHK
2019-02-02 12:37:20 +00:00
PRINTCHK
2018-05-29 07:29:19 +00:00
OPTIONLATE
2018-04-15 22:05:33 +00:00
OPTIONCOLOUR
OPTIONWEB
2019-02-02 12:37:20 +00:00
OPTIONUPDATE
BRANDSET
NAMESET
DEVICESET
RELEASESET
IDSET
INCREMENTALSET
DESCRIPTIONSET
2018-04-15 22:05:33 +00:00
"
PROPSETTINGSLIST="
2018-03-18 15:39:43 +00:00
MODULEDEBUGGABLE
MODULESECURE
MODULETYPE
MODULETAGS
MODULESELINUX
MODULEFINGERPRINT
2019-02-02 12:37:20 +00:00
SIMBRAND
SIMNAME
SIMDEVICE
SIMRELEASE
SIMID
SIMINCREMENTAL
SIMDESCRIPTION
2018-04-15 22:05:33 +00:00
CUSTOMPROPS
2018-09-04 07:55:57 +00:00
CUSTOMPROPSPOST
CUSTOMPROPSLATE
2018-06-19 09:56:08 +00:00
DELETEPROPS
2018-03-18 15:39:43 +00:00
"
PROPSLIST="
debuggable
secure
type
tags
selinux
fingerprint
"
2018-12-05 15:22:57 +00:00
USNFLIST="xiaomi-safetynet-fix safetynet-fingerprint-fix VendingVisa DeviceSpoofingTool4Magisk universal-safetynet-fix samodx-safetyskipper safetypatcher petnoires-safetyspoofer"
2018-03-18 15:39:43 +00:00
2018-08-07 11:50:01 +00:00
# Log functions
2018-04-29 09:14:35 +00:00
log_handler() {
echo "" >> $INSTLOG
2019-02-02 12:37:20 +00:00
echo -e "$(date +"%Y-%m-%d %H:%M:%S:%N") - $1" >> $INSTLOG 2>&1
2018-04-29 09:14:35 +00:00
}
log_start() {
if [ -f "$INSTLOG" ]; then
rm -f $INSTLOG
fi
touch $INSTLOG
2018-08-07 11:50:01 +00:00
echo "***************************************************" >> $INSTLOG 2>&1
echo "******** MagiskHide Props Config $MODVERSION ********" >> $INSTLOG 2>&1
echo "**************** By Didgeridoohan ***************" >> $INSTLOG 2>&1
echo "***************************************************" >> $INSTLOG 2>&1
2018-04-29 09:14:35 +00:00
log_handler "Starting module installation script"
}
log_print() {
ui_print "$1"
log_handler "$1"
}
2018-04-15 22:05:33 +00:00
# Places various module scripts in their proper places
2018-03-18 15:39:43 +00:00
script_placement() {
2018-06-19 09:56:08 +00:00
if [ -f "$LATEFILE" ]; then
2019-02-02 13:38:40 +00:00
FILEV=$(get_file_value $LATEFILE "SCRIPTV=")
FILETRANSF=$(get_file_value $LATEFILE "SETTRANSF=")
2018-06-19 09:56:08 +00:00
else
FILEV=0
2018-08-07 11:50:01 +00:00
FILETRANSF=$UPDATETRANSF
2018-06-19 09:56:08 +00:00
fi
2018-04-29 09:14:35 +00:00
log_print "- Installing scripts"
2018-08-07 11:50:01 +00:00
cp -af $INSTALLER/common/util_functions.sh $MODPATH/util_functions.sh >> $INSTLOG 2>&1
cp -af $INSTALLER/common/prints.sh $MODPATH/prints.sh >> $INSTLOG 2>&1
cp -af $UPDATELATEFILE $MODPATH/propsconf_late >> $INSTLOG 2>&1
2018-09-04 07:55:57 +00:00
if [ "$FILEV" ]; then
# New script
if [ "$UPDATEV" -gt "$FILEV" ]; then
# Fresh install
if [ "$FILEV" == 0 ]; then
log_print "- Placing settings script"
# Updated script with a required clearing of settings
elif [ "$UPDATETRANSF" -gt "$FILETRANSF" ] && [ -z "$NOTTRANSF" ]; then
log_print "- Settings cleared (script updated)"
# Updated script
else
log_print "- Script updated"
log_print "- Transferring settings from old script"
# Prop settings
for ITEM in $SETTINGSLIST; do
# Checking if a script update requires some options not to transfer
case "$NOTTRANSF" in
*${ITEM}*)
if [ "$UPDATETRANSF" -gt "$FILETRANSF" ]; then
TRANSFOPT=1
else
TRANSFOPT=0
fi
;;
*)
2018-08-07 11:50:01 +00:00
TRANSFOPT=0
2018-09-04 07:55:57 +00:00
;;
esac
if [ "$TRANSFOPT" == 1 ]; then
log_handler "Not transfering settings for ${ITEM}."
else
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
SNEW=$(get_file_value $UPDATELATEFILE "${ITEM}=")
if [ "$SOLD" ] && [ "$SOLD" != "$SNEW" ]; then
log_handler "Setting ${ITEM} from ${SNEW} to ${SOLD}."
sed -i "s|${ITEM}=${SNEW}|${ITEM}=${SOLD}|" $UPDATELATEFILE
2018-08-07 11:50:01 +00:00
fi
2018-09-04 07:55:57 +00:00
fi
done
# Prop values
for ITEM in $PROPSETTINGSLIST; do
2018-08-07 11:50:01 +00:00
SOLD=$(get_file_value $LATEFILE "${ITEM}=")
2018-09-04 07:55:57 +00:00
if [ "$SOLD" ]; then
log_handler "Setting ${ITEM} to ${SOLD}."
sed -i "s|${ITEM}=\"\"|${ITEM}=\"${SOLD}\"|" $UPDATELATEFILE
2018-08-07 11:50:01 +00:00
fi
2018-09-04 07:55:57 +00:00
done
# Prop and file edits
for ITEM in $PROPSLIST; do
REPROP=$(echo "RE${ITEM}" | tr '[:lower:]' '[:upper:]')
SETPROP=$(echo "SET${ITEM}" | tr '[:lower:]' '[:upper:]')
REOLD=$(get_file_value $LATEFILE "${REPROP}=")
SETOLD=$(get_file_value $LATEFILE "${SETPROP}=")
if [ "$REOLD" ] && [ "$REOLD" != "false" ]; then
log_handler "Setting sensitive prop ${ITEM} to ${REOLD}."
sed -i "s/${REPROP}=false/${REPROP}=${REOLD}/" $UPDATELATEFILE
fi
if [ "$SETOLD" ] && [ "$SETOLD" != "false" ]; then
log_handler "Setting file edit ${ITEM} to ${SETOLD}."
sed -i "s/${SETPROP}=false/${SETPROP}=${SETOLD}/" $UPDATELATEFILE
fi
done
fi
log_handler "Setting up late_start settings script."
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# Downgraded script (flashed old module version)
elif [ "$UPDATEV" -lt "$FILEV" ]; then
log_print "- Settings cleared (script downgraded)"
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
# No update of script
else
log_print "- Module settings preserved"
2018-03-18 15:39:43 +00:00
fi
2018-09-04 07:55:57 +00:00
else
log_print "- Placing settings script"
2018-06-19 09:56:08 +00:00
log_handler "Setting up late_start settings script."
2018-08-07 11:50:01 +00:00
cp -af $UPDATELATEFILE $LATEFILE >> $INSTLOG 2>&1
2018-03-18 15:39:43 +00:00
fi
}
2018-10-25 06:37:05 +00:00
# Create fingerprint files
print_files() {
log_print "- Creating fingerprint files."
rm -rf $MODPATH/printfiles >> $INSTLOG 2>&1
mkdir -pv $MODPATH/printfiles >> $INSTLOG 2>&1
# Loading prints
. $MODPATH/prints.sh
# Saving manufacturers
log_handler "Saving manufacturers"
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for ITEM in $PRINTSLIST; do
TMPOEMLIST=$(echo "$OEMLIST $(get_first $ITEM)" | sed 's|^[ \t]*||')
OEMLIST="$TMPOEMLIST"
done
IFS=$SAVEIFS
TMPOEMLIST=$(echo $(printf '%s\n' $OEMLIST | sort -u))
OEMLIST="$TMPOEMLIST"
log_handler "Creating files"
for OEM in $OEMLIST; do
echo -e "PRINTSLIST=\"" >> $MODPATH/printfiles/${OEM}\.sh
2019-02-02 12:37:20 +00:00
grep $OEM >> $MODPATH/printfiles/${OEM}\.sh $MODPATH/prints.sh
2018-10-25 06:37:05 +00:00
echo -e "\"" >> $MODPATH/printfiles/${OEM}\.sh
done
2019-02-02 12:37:20 +00:00
# Check for updated fingerprint
device_print_update
}
device_print_update() {
if [ "$OPTIONUPDATE" == 1 ]; then
if [ "$FINGERPRINTENB" == 1 -o "$PRINTMODULE" == 0 ] && [ "$PRINTEDIT" == 1 ] && [ "$MODULEFINGERPRINT" ]; then
TMPDEV="${VARBRAND}\.${VARNAME}\.${VARDEVICE}"
TMPPRINT=$(echo $PRINTSLIST | grep $TMPDEV )
if [ "$TMPDEV" ] && [ "$TMPPRINT" ]; then
if [ "$(echo $MODULEFINGERPRINT | sed 's|\_\_.*||')" != "$(echo $TMPPRINT | cut -f 2 -d '=' | sed 's|\_\_.*||')" ]; then
log_handler "Updating module fingerprint."
sed -i "s|MODULEFINGERPRINT=$MODULEFINGERPRINT|MODULEFINGERPRINT=$(echo $TMPPRINT | cut -f 2 -d '=')|" $LATEFILE
log_handler "Changing device fingerprint to $(echo $TMPPRINT | cut -f 2 -d '=' | sed 's|\_\_.*||')."
# Reloading module settings
load_settings
fi
fi
fi
fi
2018-10-25 06:37:05 +00:00
}
2018-04-29 09:14:35 +00:00
# Updates placeholders
2018-03-18 15:39:43 +00:00
placeholder_update() {
FILEVALUE=$(get_file_value $1 "$2=")
2018-04-29 09:14:35 +00:00
log_handler "Checking for ${3} in ${1}. Current value is ${FILEVALUE}."
2018-03-18 15:39:43 +00:00
case $FILEVALUE in
2018-05-06 09:57:49 +00:00
*PLACEHOLDER*) sed -i "s|${2}=${3}|${2}=\"${4}\"|g" $1
2018-04-29 09:14:35 +00:00
log_handler "Placeholder ${3} updated to ${4} in ${1}."
2018-03-18 15:39:43 +00:00
;;
esac
}
# Checks if any other module is using a local copy of build.prop
build_prop_check() {
2018-04-29 09:14:35 +00:00
log_print "- Checking for build.prop conflicts"
2018-03-18 15:39:43 +00:00
for D in $(ls $IMGPATH); do
if [ "$D" != "$MODID" ]; then
2019-02-02 12:37:20 +00:00
if [ -f "$IMGPATH/$D/system/build.prop" ] || [ "$D" == "safetypatcher" ]; then
2018-03-18 15:39:43 +00:00
NAME=$(get_file_value $IMGPATH/$D/module.prop "name=")
2018-12-05 15:22:57 +00:00
ui_print "!"
2018-04-29 09:14:35 +00:00
log_print "! Another module editing build.prop detected!"
log_print "! Module - '$NAME'!"
log_print "! Modification of build.prop disabled!"
2018-12-05 15:22:57 +00:00
ui_print "!"
2018-10-25 06:37:05 +00:00
sed -i 's/BUILDPROPENB=1/BUILDPROPENB=0/' $UPDATELATEFILE
2018-03-18 15:39:43 +00:00
fi
fi
done
}
# Checks for the Universal SafetyNet Fix module and similar modules editing device fingerprint
usnf_check() {
2018-04-29 09:14:35 +00:00
log_print "- Checking for fingerprint conflicts"
2018-03-18 15:39:43 +00:00
for USNF in $USNFLIST; do
if [ -d "$IMGPATH/$USNF" ]; then
NAME=$(get_file_value $IMGPATH/$USNF/module.prop "name=")
2018-12-05 15:22:57 +00:00
ui_print "!"
2018-04-29 09:14:35 +00:00
log_print "! Module editing fingerprint detected!"
log_print "! Module - '$NAME'!"
log_print "! Fingerprint modification disabled!"
2018-12-05 15:22:57 +00:00
ui_print "!"
2018-03-18 15:39:43 +00:00
sed -i 's/FINGERPRINTENB=1/FINGERPRINTENB=0/' $UPDATELATEFILE
fi
done
}
# Check for bin/xbin
bin_check() {
2018-07-26 09:03:13 +00:00
$BOOTMODE && BINCHECK=$COREPATH/mirror/system/xbin || BINCHECK=/system/xbin
2018-07-23 11:13:43 +00:00
if [ -d "$BINCHECK" ]; then
2018-03-18 15:39:43 +00:00
BIN=xbin
else
BIN=bin
fi
2018-04-29 09:14:35 +00:00
log_handler "Using /system/$BIN."
2018-08-07 11:50:01 +00:00
mv -f $MODPATH/system/binpath $MODPATH/system/$BIN >> $INSTLOG 2>&1
2018-03-18 15:39:43 +00:00
}
2018-05-29 07:29:19 +00:00
# Magisk installation check
install_check() {
2018-07-19 19:47:43 +00:00
if [ ! -d "$SERVICEPATH" ] || [ ! -d "$POSTPATH" ]; then
2018-12-05 15:22:57 +00:00
log_print "- Fresh Magisk installation detected."
2018-05-29 07:29:19 +00:00
log_handler "Creating path for boot script."
2018-08-07 11:50:01 +00:00
mkdir -pv $POSTPATH >> $INSTLOG 2>&1
mkdir -pv $SERVICEPATH >> $INSTLOG 2>&1
2018-05-29 07:29:19 +00:00
fi
}
2019-02-02 12:37:20 +00:00
# Check for late_start service boot script in post-fs-data.d, in case someone's moved it and also delete the old propsconf_post boot script if present
2018-05-29 07:29:19 +00:00
post_check() {
if [ -f "$POSTLATEFILE" ]; then
2018-12-05 15:22:57 +00:00
log_handler "Removing late_start service boot script from post-fs-data.d."
2018-05-29 07:29:19 +00:00
rm -f $POSTLATEFILE
fi
2019-02-02 12:37:20 +00:00
if [ -f "$POSTFILE" ]; then
log_handler "Removing old post-fs-data boot script from post-fs-data.d"
rm -f $POSTFILE
fi
if [ -f "$CACHELOC/propsconf_postfile.log" ]; then
log_handler "Removing old post-fs-data log from /cache."
rm -f $CACHELOC/propsconf_postfile.log
fi
}
# Save props values from fingerprint parts
print_parts() {
DLIM1=1
DLIM2=1
for ITEM in $PROPSETTINGSLIST; do
case $ITEM in
SIMDESCRIPTION) # Do nothing with the description variable
;;
SIM*)
TMPVAR="$(echo $ITEM | sed 's|SIM||')"
TMPVALUE=$(echo $1 | sed 's|\:user/release-keys.*||' | cut -f $DLIM1 -d ':' | cut -f $DLIM2 -d '/')
eval "VAR${TMPVAR}='$TMPVALUE'"
DLIM2=$(($DLIM2 + 1))
if [ "$DLIM2" == 4 ]; then
DLIM1=2
DLIM2=1
fi
;;
esac
done
VARDESCRIPTION="${VARNAME}-user $VARRELEASE $VARID $VARINCREMENTAL release-keys"
}
# Update the device simulation variables if a fingerprint is set
devsim_update() {
if [ "$MODULEFINGERPRINT" ]; then
log_handler "Updating device simulation variables."
print_parts $MODULEFINGERPRINT
for ITEM in $PROPSETTINGSLIST; do
case $ITEM in
SIM*)
SUBA="$(get_file_value $LATEFILE "${ITEM}=")"
TMPVAR="$(echo $ITEM | sed 's|SIM|VAR|')"
TMPPROP="$(eval "echo \$$TMPVAR")"
sed -i "s|${ITEM}=\"${SUBA}\"|${ITEM}=\"${TMPPROP}\"|" $LATEFILE
;;
esac
done
# Reload module settings
load_settings
fi
}
# Load module settings and reapply the MODPATH variable
load_settings() {
2019-02-02 13:38:40 +00:00
log_handler "Loading/reloading module settings."
2019-02-02 12:37:20 +00:00
. $LATEFILE
MODPATH=$MOUNTPATH/$MODID
2018-05-29 07:29:19 +00:00
}
2018-04-15 22:05:33 +00:00
# Installs everything
2018-03-18 15:39:43 +00:00
script_install() {
build_prop_check
usnf_check
bin_check
2018-05-29 07:29:19 +00:00
post_check
2018-03-18 15:39:43 +00:00
script_placement
2018-04-29 09:14:35 +00:00
log_print "- Updating placeholders"
2018-04-15 22:05:33 +00:00
placeholder_update $LATEFILE CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
2019-02-02 12:37:20 +00:00
placeholder_update $LATEFILE COREPATH CORE_PLACEHOLDER "$COREPATH"
2018-04-15 22:05:33 +00:00
placeholder_update $MODPATH/util_functions.sh BIN BIN_PLACEHOLDER "$BIN"
placeholder_update $MODPATH/util_functions.sh USNFLIST USNF_PLACEHOLDER "$USNFLIST"
2019-02-02 12:37:20 +00:00
placeholder_update $MODPATH/util_functions.sh MIRRORLOC MIRROR_PLACEHOLDER "$MIRRORLOC"
2018-04-15 22:05:33 +00:00
placeholder_update $MODPATH/util_functions.sh CACHELOC CACHE_PLACEHOLDER "$CACHELOC"
2018-11-19 12:55:58 +00:00
placeholder_update $MODPATH/util_functions.sh LATEFILE LATE_PLACEHOLDER "$LATEHOLDER"
2018-05-29 07:29:19 +00:00
placeholder_update $MODPATH/util_functions.sh MODVERSION VER_PLACEHOLDER "$MODVERSION"
2018-11-19 12:55:58 +00:00
placeholder_update $MODPATH/system/$BIN/props LATEFILE LATE_PLACEHOLDER "$LATEHOLDER"
2018-07-26 09:03:13 +00:00
placeholder_update $MODPATH/system/$BIN/props COREPATH CORE_PLACEHOLDER "$COREPATH"
2019-02-02 12:37:20 +00:00
load_settings
devsim_update
2018-10-25 06:37:05 +00:00
print_files
2018-12-05 15:22:57 +00:00
ui_print ""
ui_print "- Make sure to have Busybox installed."
ui_print "- osm0sis' Busybox is recommended."
ui_print ""
2019-02-02 12:37:20 +00:00
log_handler "Installation complete."
# Checks for configuration file
CONFFILE=""
for ITEM in $CONFFILELST; do
if [ -s "$ITEM" ]; then
CONFFILE="$ITEM"
break
fi
done
if [ "$CONFFILE" ]; then
. $MODPATH/util_functions.sh
LOGFILE=$INSTLOG
MODPATH=$MOUNTPATH/$MODID
ui_print "- Configuration file found."
ui_print "- Installing..."
ui_print ""
config_file
fi
2018-03-18 15:39:43 +00:00
}