Merge pull request #1814 from sdetweil/newscripts

updates for libc6++ on pi 0, node 10
This commit is contained in:
Michael Teeuw 2019-12-29 00:00:03 +01:00 committed by GitHub
commit 305b55cb2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 417 additions and 204 deletions

View File

@ -13,6 +13,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- updated compliments.js to handle newline in text, as textfields to not interpolate contents - updated compliments.js to handle newline in text, as textfields to not interpolate contents
- updated raspberry.sh installer script to handle new platform issues, split node/npm, pm2, and screen saver changes - updated raspberry.sh installer script to handle new platform issues, split node/npm, pm2, and screen saver changes
- improve handling for armv6l devices, where electron support has gone away, add optional serveronly config option - improve handling for armv6l devices, where electron support has gone away, add optional serveronly config option
- improved run-start.sh to handle for serveronly mode, by choice, or when electron not available
- change electron version - change electron version
❤️ **Donate:** Enjoying MagicMirror²? [Please consider a donation!](https://magicmirror.builders/donate) With your help we can continue to improve the MagicMirror² core. ❤️ **Donate:** Enjoying MagicMirror²? [Please consider a donation!](https://magicmirror.builders/donate) With your help we can continue to improve the MagicMirror² core.

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Define the tested version of Node.js. # Define the tested version of Node.js.
NODE_TESTED="v5.1.0" NODE_TESTED="v10.1.0"
NPM_TESTED="V6.0.0" NPM_TESTED="V6.0.0"
USER=`whoami` USER=`whoami`
PM2_FILE=pm2_MagicMirror.json PM2_FILE=pm2_MagicMirror.json
@ -22,7 +22,14 @@ if [ -d ~/MagicMirror ]; then
cd - >/dev/null cd - >/dev/null
fi fi
logfile=$logdir/pm2_setup.log logfile=$logdir/pm2_setup.log
echo the log will be saved in $logfile
date +"pm2 setup starting - %a %b %e %H:%M:%S %Z %Y" >>$logfile date +"pm2 setup starting - %a %b %e %H:%M:%S %Z %Y" >>$logfile
echo system is $(uname -a) >> $logfile
if [ "$mac" == "Darwin" ]; then
echo the os is macOS $(sw_vers -productVersion) >> $logfile
else
echo the os is $(lsb_release -a 2>/dev/null) >> $logfile
fi
node_installed=$(which node) node_installed=$(which node)
if [ "$node_installed." == "." ]; then if [ "$node_installed." == "." ]; then
# node not installed # node not installed
@ -105,10 +112,25 @@ if [ -d ~/MagicMirror ]; then
fi fi
fi fi
fi fi
echo command = $v >>$logfile echo startup command = $v >>$logfile
# execute the command returned # execute the command returned
$v 2>/dev/null >>$logfile $v 2>&1 >>$logfile
echo pm2 startup done >>$logfile echo pm2 startup command done >>$logfile
# is this is mac
# need to fix pm2 startup, only on catalina
if [ $mac == 'Darwin' ]; then
if [ $(sw_vers -productVersion | head -c 6) == '10.15.' ]; then
# only do if the faulty tag is present (pm2 may fix this, before the script is fixed)
if [ $(grep -m 1 UserName /Users/$USER/Library/LaunchAgents/pm2.$USER.plist | wc -l) -eq 1 ]; then
# copy the pm2 startup file config
cp /Users/$USER/Library/LaunchAgents/pm2.$USER.plist .
# edit out the UserName key/value strings
sed -e '/UserName/{N;d;}' pm2.$USER.plist > pm2.$USER.plist.new
# copy the file back
sudo cp pm2.$USER.plist.new /Users/$USER/Library/LaunchAgents/pm2.$USER.plist
fi
fi
fi
# if the user is no pi, we have to fixup the pm2 json file # if the user is no pi, we have to fixup the pm2 json file
echo configure the pm2 config file for MagicMirror >>$logfile echo configure the pm2 config file for MagicMirror >>$logfile

View File

@ -3,6 +3,11 @@
# that it can detect if you have Node installed, run a binary script # that it can detect if you have Node installed, run a binary script
# and then download and run MagicMirror2. # and then download and run MagicMirror2.
if [ $USER == 'root' ]; then
echo Please logon as a user to execute the MagicMirror installation, not root
exit 1
fi
echo -e "\e[0m" echo -e "\e[0m"
echo '$$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\' echo '$$\ $$\ $$\ $$\ $$\ $$\ $$$$$$\'
echo '$$$\ $$$ | \__| $$$\ $$$ |\__| $$ __$$\' echo '$$$\ $$$ | \__| $$$\ $$$ |\__| $$ __$$\'
@ -21,7 +26,7 @@ doInstall=1
true=1 true=1
false=0 false=0
# Define the tested version of Node.js. # Define the tested version of Node.js.
NODE_TESTED="v5.1.0" NODE_TESTED="v10.1.0"
NPM_TESTED="V6.0.0" NPM_TESTED="V6.0.0"
USER=`whoami` USER=`whoami`
PM2_FILE=pm2_MagicMirror.json PM2_FILE=pm2_MagicMirror.json
@ -37,6 +42,8 @@ trim() {
echo -n "$var" echo -n "$var"
} }
mac=$(uname -s) mac=$(uname -s)
if [ $mac == 'Darwin' ]; then if [ $mac == 'Darwin' ]; then
echo this is a mac | tee -a $logfile echo this is a mac | tee -a $logfile
@ -67,6 +74,7 @@ echo install log being saved to $logfile
date +"install starting - %a %b %e %H:%M:%S %Z %Y" >>$logfile date +"install starting - %a %b %e %H:%M:%S %Z %Y" >>$logfile
ARM=$(uname -m) ARM=$(uname -m)
echo installing on $ARM processor system >>$logfile echo installing on $ARM processor system >>$logfile
echo the os is $(lsb_release -a 2>/dev/null) >> $logfile
# Check the Raspberry Pi version. # Check the Raspberry Pi version.
if [ "$ARM" != "armv7l" ]; then if [ "$ARM" != "armv7l" ]; then
read -p "this appears not to be a Raspberry Pi 2 or 3, do you want to continue installation (y/N)?" choice read -p "this appears not to be a Raspberry Pi 2 or 3, do you want to continue installation (y/N)?" choice
@ -74,13 +82,13 @@ if [ "$ARM" != "armv7l" ]; then
echo user stopped install on $ARM hardware >>$logfile echo user stopped install on $ARM hardware >>$logfile
echo -e "\e[91mSorry, your Raspberry Pi is not supported." echo -e "\e[91mSorry, your Raspberry Pi is not supported."
echo -e "\e[91mPlease run MagicMirror on a Raspberry Pi 2 or 3." echo -e "\e[91mPlease run MagicMirror on a Raspberry Pi 2 or 3."
echo -e "\e[91mIf this is a Pi Zero, you are in the same boat as the original Raspberry Pi. You must run in server only mode." echo -e "\e[91mIf this is a Pi Zero, the setup will configure to run in server only mode wih a local browser."
exit; exit;
fi fi
#if [ "$ARM" == "armv6l" ]; then #if [ "$ARM" == "armv6l" ]; then
# echo forcing armv71 architecture for pi 0 >>$logfile # echo forcing armv71 architecture for pi 0 >>$logfile
# force_arch=-'--arch=armv7l' # force_arch=-'--arch=armv7l'
#fi # fi
fi fi
# Define helper methods. # Define helper methods.
@ -90,14 +98,38 @@ function verlt() { [ "$1" = "$2" ] && return 1 || verlte $1 $2 ;}
# Update before first apt-get # Update before first apt-get
if [ $mac != 'Darwin' ]; then if [ $mac != 'Darwin' ]; then
echo -e "\e[96mUpdating packages ...\e[90m" | tee -a $logfile echo -e "\e[96mUpdating packages ...\e[90m" | tee -a $logfile
sudo apt-get update || echo -e "\e[91mUpdate failed, carrying on installation ...\e[90m" | tee -a $logfile upgrade=$false
fi update=$(sudo apt-get update 2>&1)
echo $update >> $logfile
update_rc=$?
if [ $update_rc -ne 0 ]; then
echo -e "\e[91mUpdate failed, retrying installation ...\e[90m" | tee -a $logfile
if [ $(echo $update | grep "apt-secure" | wc -l) -eq 1 ]; then
update=$(sudo apt-get update --allow-releaseinfo-change 2>&1)
update_rc=$?
echo $update >> $logfile
if [ $update_rc -ne 0 ]; then
echo "second apt-get update failed" $update | tee -a $logfile
exit 1
else
echo "second apt-get update completed ok" >> $logfile
upgrade=$true
fi
fi
else
echo "apt-get update completed ok" >> $logfile
upgrade=$true
fi
if [ $upgrade -eq $true ]; then
upgrade_result=$(sudo apt-get upgrade 2>&1)
upgrade_rc=$?
echo apt upgrade result ="rc=$upgrade_rc $upgrade_result" >> $logfile
fi
if [ $mac != 'Darwin' ]; then # Installing helper tools
# Installing helper tools echo -e "\e[96mInstalling helper tools ...\e[90m" | tee -a $logfile
echo -e "\e[96mInstalling helper tools ...\e[90m" | tee -a $logfile sudo apt-get --assume-yes install curl wget git build-essential unzip || exit
sudo apt-get --assume-yes install curl wget git build-essential unzip || exit
fi fi
# Check if we need to install or upgrade Node.js. # Check if we need to install or upgrade Node.js.
@ -106,6 +138,10 @@ NODE_INSTALL=false
if command_exists node; then if command_exists node; then
echo -e "\e[0mNode currently installed. Checking version number." | tee -a $logfile echo -e "\e[0mNode currently installed. Checking version number." | tee -a $logfile
NODE_CURRENT=$(node -v) NODE_CURRENT=$(node -v)
if [ "$NODE_CURRENT." == "." ]; then
NODE_CURRENT="V1.0.0"
echo forcing low Node version >> $logfile
fi
echo -e "\e[0mMinimum Node version: \e[1m$NODE_TESTED\e[0m" | tee -a $logfile echo -e "\e[0mMinimum Node version: \e[1m$NODE_TESTED\e[0m" | tee -a $logfile
echo -e "\e[0mInstalled Node version: \e[1m$NODE_CURRENT\e[0m" | tee -a $logfile echo -e "\e[0mInstalled Node version: \e[1m$NODE_CURRENT\e[0m" | tee -a $logfile
if verlte $NODE_CURRENT $NODE_TESTED; then if verlte $NODE_CURRENT $NODE_TESTED; then
@ -117,6 +153,7 @@ if command_exists node; then
if pgrep "node" > /dev/null; then if pgrep "node" > /dev/null; then
echo -e "\e[91mA Node process is currently running. Can't upgrade." | tee -a $logfile echo -e "\e[91mA Node process is currently running. Can't upgrade." | tee -a $logfile
echo "Please quit all Node processes and restart the installer." | tee -a $logfile echo "Please quit all Node processes and restart the installer." | tee -a $logfile
echo $(ps -ef | grep node | grep -v \-\-color) | tee -a $logfile
exit; exit;
fi fi
@ -128,7 +165,6 @@ else
echo -e "\e[93mNode.js is not installed.\e[0m" | tee -a $logfile echo -e "\e[93mNode.js is not installed.\e[0m" | tee -a $logfile
NODE_INSTALL=true NODE_INSTALL=true
fi fi
# Install or upgrade node if necessary. # Install or upgrade node if necessary.
if $NODE_INSTALL; then if $NODE_INSTALL; then
@ -141,12 +177,38 @@ if $NODE_INSTALL; then
brew install node brew install node
else else
NODE_STABLE_BRANCH="10.x" NODE_STABLE_BRANCH="10.x"
curl -sL https://deb.nodesource.com/setup_$NODE_STABLE_BRANCH | sudo -E bash - # sudo apt-get install --only-upgrade libstdc++6
node_info=$(curl -sL https://deb.nodesource.com/setup_$NODE_STABLE_BRANCH | sudo -E bash - )
echo Node release info = $node_info >> $logfile
if [ "$(echo $node_info | grep "not currently supported")." == "." ]; then
sudo apt-get install -y nodejs sudo apt-get install -y nodejs
else
echo node $NODE_STABLE_BRANCH version installer not available, doing manually >>$logfile
# no longer supported install
sudo apt-get install -y --only-upgrade libstdc++6 >> $logfile
# have to do it manually
node_vnum=$(echo $NODE_STABLE_BRANCH | awk -F. '{print $1}')
# get the highest release number in the stable branch line for this processor architecture
node_ver=$(curl -sL https://unofficial-builds.nodejs.org/download/release/index.tab | grep $ARM | grep -m 1 v$node_vnum | awk '{print $1}')
echo latest release in the $NODE_STABLE_BRANCH family for $ARM is $node_ver >> $logfile
curl -sL https://unofficial-builds.nodejs.org/download/release/$node_ver/node-$node_ver-linux-$ARM.tar.gz >node_release-$node_ver.tar.gz
cd /usr/local
echo using release tar file = node_release-$node_ver.tar.gz >> $logfile
sudo tar --strip-components 1 -xzf $HOME/node_release-$node_ver.tar.gz
cd - >/dev/null
rm ./node_release-$node_ver.tar.gz
fi
# get the new node version number
new_ver=$(node -v 2>&1)
# if there is a failure to get it due to a missing library
if [ $(echo $new_ver | grep "not found" | wc -l) -ne 0 ]; then
#
sudo apt-get install -y --only-upgrade libstdc++6 >> $logfile
fi
echo node version is $(node -v 2>&1 >>$logfile)
fi fi
echo -e "\e[92mNode.js installation Done! version=$(node -v)\e[0m" | tee -a $logfile echo -e "\e[92mNode.js installation Done! version=$(node -v)\e[0m" | tee -a $logfile
fi fi
# Check if we need to install or upgrade npm. # Check if we need to install or upgrade npm.
echo -e "\e[96mCheck current NPM installation ...\e[0m" | tee -a $logfile echo -e "\e[96mCheck current NPM installation ...\e[0m" | tee -a $logfile
NPM_INSTALL=false NPM_INSTALL=false
@ -190,11 +252,11 @@ if $NPM_INSTALL; then
# #
# if this is a mac, npm was installed with node # if this is a mac, npm was installed with node
if [ $mac != 'Darwin' ]; then if [ $mac != 'Darwin' ]; then
sudo apt-get install -y npm sudo apt-get install -y npm >>$logfile
fi fi
# update to the latest. # update to the latest.
echo upgrading npm to latest >> $logfile echo upgrading npm to latest >> $logfile
sudo npm i -g npm sudo npm i -g npm >>$logfile
echo -e "\e[92mnpm installation Done! version=V$(npm -v)\e[0m" | tee -a $logfile echo -e "\e[92mnpm installation Done! version=V$(npm -v)\e[0m" | tee -a $logfile
fi fi
@ -206,7 +268,7 @@ if [ $doInstall == 1 ]; then
echo -e "To prevent overwriting, the installer will be aborted." | tee -a $logfile echo -e "To prevent overwriting, the installer will be aborted." | tee -a $logfile
echo -e "Please rename the \e[1m~/MagicMirror\e[0m\e[93m folder and try again.\e[0m" | tee -a $logfile echo -e "Please rename the \e[1m~/MagicMirror\e[0m\e[93m folder and try again.\e[0m" | tee -a $logfile
echo "" echo ""
echo -e "If you want to upgrade your installation run \e[1m\e[97mgit pull\e[0m from the ~/MagicMirror directory." | tee -a $logfile echo -e "If you want to upgrade your installation run \e[1m\e[97mupgrade-script\e[0m from the ~/MagicMirror/installers directory." | tee -a $logfile
echo "" echo ""
exit; exit;
fi fi
@ -220,6 +282,11 @@ if [ $doInstall == 1 ]; then
fi fi
cd ~/MagicMirror || exit cd ~/MagicMirror || exit
if [ $(grep version package.json | awk -F: '{print $2}') == '"2.9.0",' -a $ARM == 'armv6l' ]; then
git fetch https://github.com/MichMich/MagicMirror.git develop >/dev/null 2>&1
git branch develop FETCH_HEAD > /dev/null 2>&1
git checkout develop > /dev/null 2>&1
fi
echo -e "\e[96mInstalling dependencies ...\e[90m" | tee -a $logfile echo -e "\e[96mInstalling dependencies ...\e[90m" | tee -a $logfile
if npm install $force_arch; then if npm install $force_arch; then
echo -e "\e[92mDependencies installation Done!\e[0m" | tee -a $logfile echo -e "\e[92mDependencies installation Done!\e[0m" | tee -a $logfile
@ -244,12 +311,14 @@ if command_exists plymouth; then
fi fi
if sudo cp ~/MagicMirror/splashscreen/splash.png $THEME_DIR/MagicMirror/splash.png && sudo cp ~/MagicMirror/splashscreen/MagicMirror.plymouth $THEME_DIR/MagicMirror/MagicMirror.plymouth && sudo cp ~/MagicMirror/splashscreen/MagicMirror.script $THEME_DIR/MagicMirror/MagicMirror.script; then if sudo cp ~/MagicMirror/splashscreen/splash.png $THEME_DIR/MagicMirror/splash.png && sudo cp ~/MagicMirror/splashscreen/MagicMirror.plymouth $THEME_DIR/MagicMirror/MagicMirror.plymouth && sudo cp ~/MagicMirror/splashscreen/MagicMirror.script $THEME_DIR/MagicMirror/MagicMirror.script; then
echo -e "\e[90mSplashscreen: Theme copied successfully.\e[0m" | tee -a $logfile echo
if [ "$(which plymouth-set-default-theme)." != "." ]; then
if sudo plymouth-set-default-theme -R MagicMirror; then if sudo plymouth-set-default-theme -R MagicMirror; then
echo -e "\e[92mSplashscreen: Changed theme to MagicMirror successfully.\e[0m" | tee -a $logfile echo -e "\e[92mSplashscreen: Changed theme to MagicMirror successfully.\e[0m" | tee -a $logfile
else else
echo -e "\e[91mSplashscreen: Couldn't change theme to MagicMirror!\e[0m" | tee -a $logfile echo -e "\e[91mSplashscreen: Couldn't change theme to MagicMirror!\e[0m" | tee -a $logfile
fi fi
fi
else else
echo -e "\e[91mSplashscreen: Copying theme failed!\e[0m" | tee -a $logfile echo -e "\e[91mSplashscreen: Copying theme failed!\e[0m" | tee -a $logfile
fi fi
@ -292,7 +361,7 @@ if [[ $choice =~ ^[Yy]$ ]]; then
if [ "$pm2_installed." == "." ]; then if [ "$pm2_installed." == "." ]; then
# install it. # install it.
echo pm2 not installed, installing >>$logfile echo pm2 not installed, installing >>$logfile
result=$(sudo npm install $up -g pm2) result=$(sudo npm install $up -g pm2 2>&1)
echo pm2 install result $result >>$logfile echo pm2 install result $result >>$logfile
# if this is a mac # if this is a mac
if [ $mac == 'Darwin' ]; then if [ $mac == 'Darwin' ]; then
@ -322,7 +391,21 @@ if [[ $choice =~ ^[Yy]$ ]]; then
# execute the command returned # execute the command returned
$v 2>&1 >>$logfile $v 2>&1 >>$logfile
echo pm2 startup command done >>$logfile echo pm2 startup command done >>$logfile
# is this is mac
# need to fix pm2 startup, only on catalina
if [ $mac == 'Darwin' ];then
if [ $(sw_vers -productVersion | head -c 6) == '10.15.' ]; then
# only do if the faulty tag is present (pm2 may fix this, before the script is fixed)
if [ $(grep -m 1 UserName /Users/$USER/Library/LaunchAgents/pm2.$USER.plist | wc -l) -eq 1 ]; then
# copy the pm2 startup file config
cp /Users/$USER/Library/LaunchAgents/pm2.$USER.plist .
# edit out the UserName key/value strings
sed -e '/UserName/{N;d;}' pm2.$USER.plist > pm2.$USER.plist.new
# copy the file back
sudo cp pm2.$USER.plist.new /Users/$USER/Library/LaunchAgents/pm2.$USER.plist
fi
fi
fi
# if the user is no pi, we have to fixup the pm2 json file # if the user is no pi, we have to fixup the pm2 json file
echo configure the pm2 config file for MagicMirror >>$logfile echo configure the pm2 config file for MagicMirror >>$logfile
if [ "$USER" != "pi" ]; then if [ "$USER" != "pi" ]; then
@ -436,16 +519,13 @@ if [[ $choice =~ ^[Yy]$ ]]; then
echo "please configure it manually" | tee -a $logfile echo "please configure it manually" | tee -a $logfile
;; ;;
esac esac
elif [ -d "/etc/xdg/lxsession" ]; then elif [ -e "/etc/lightdm/lightdm.conf" ]; then
currently_set=$(grep -m1 '\-dpms' /etc/xdg/lxsession/LXDE-pi/autostart) # if screen saver NOT already disabled?
if [ "$currently_set." == "." ]; then if [ $(grep 'xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf | wc -l) == 0 ]; then
echo disable screensaver via lxsession >> $logfile echo install screensaver via lightdm.conf >> $logfile
# turn it off for the future sudo sed -i '/^\[Seat:\*\]/a xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf
sudo su -c "echo -e '@xset s noblank\n@xset s off\n@xset -dpms' >> /etc/xdg/lxsession/LXDE-pi/autostart"
# turn it off now
export DISPLAY=:0; xset s noblank;xset s off;xset -dpms
else else
echo lxsession screen saver already disabled >> $logfile echo screensaver via lightdm already disabled >> $logfile
fi fi
elif [ $(which gsettings | wc -l) == 1 ]; then elif [ $(which gsettings | wc -l) == 1 ]; then
setting=$(gsettings get org.gnome.desktop.screensaver lock-enabled) setting=$(gsettings get org.gnome.desktop.screensaver lock-enabled)
@ -458,13 +538,16 @@ if [[ $choice =~ ^[Yy]$ ]]; then
else else
echo gsettings screen saver already disabled >> $logfile echo gsettings screen saver already disabled >> $logfile
fi fi
elif [ -e "/etc/lightdm/lightdm.conf" ]; then elif [ -d "/etc/xdg/lxsession" ]; then
# if screen saver NOT already disabled? currently_set=$(grep -m1 '\-dpms' /etc/xdg/lxsession/LXDE-pi/autostart)
if [ $(grep 'xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf | wc -l) == 0 ]; then if [ "$currently_set." == "." ]; then
echo install screensaver via lightdm.conf >> $logfile echo disable screensaver via lxsession >> $logfile
sudo sed -i '/^\[Seat:\*\]/a xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf # turn it off for the future
sudo su -c "echo -e '@xset s noblank\n@xset s off\n@xset -dpms' >> /etc/xdg/lxsession/LXDE-pi/autostart"
# turn it off now
export DISPLAY=:0; xset s noblank;xset s off;xset -dpms
else else
echo screensaver via lightdm already disabled >> $logfile echo lxsession screen saver already disabled >> $logfile
fi fi
else else
echo " " echo " "

101
installers/screensaveroff.sh Executable file
View File

@ -0,0 +1,101 @@
#/bin/bash
logfile=~/screensaver.log
mac=$(uname -s)
if [ $mac == 'Darwin' ]; then
setting=$(defaults -currentHost read com.apple.screensaver idleTime)
if [ $setting != 0 ] ; then
echo disable screensaver via mac profile >> $logfile
defaults -currentHost write com.apple.screensaver idleTime 0
else
echo mac profile screen saver already disabled >> $logfile
fi
else
# find out if some screen saver running
# get just the running processes and args
# just want the program name
# find the 1st with 'saver' in it (should only be one)
# if the process name is a path, parse it and get the last field ( the actual pgm name)
screen_saver_running=$(ps -A -o args | awk '{print $1}' | grep -m1 [s]aver | awk -F\/ '{print $NF}');
# if we found something
if [ "$screen_saver_running." != "." ]; then
# some screensaver running
case "$screen_saver_running" in
mate-screensaver) echo 'mate screen saver' >>$logfile
#killall mate-screensaver >/dev/null 2>&1
#ms=$(which mate-screensaver-command)
#$ms -d >/dev/null 2>&1
gsettings set org.mate.screensaver lock-enabled false 2>/dev/null
gsettings set org.mate.screensaver idle-activation-enabled false 2>/dev/null
gsettings set org.mate.screensaver lock_delay 0 2>/dev/null
echo " $screen_saver_running disabled" >> $logfile
DISPLAY=:0 mate-screensaver >/dev/null 2>&1 &
;;
gnome-screensaver) echo 'gnome screen saver' >>$logfile
gnome_screensaver-command -d >/dev/null 2>&1
echo " $screen_saver_running disabled" >> $logfile
;;
xscreensaver) echo 'xscreensaver running' | tee -a $logfile
if [ $(grep -m1 'mode:' ~/.xscreensaver | awk '{print $2}') != 'off' ]; then
sed -i 's/$xsetting/mode: off/' ~/.xscreensaver
echo " xscreensaver set to off" >> $logfile
else
echo " xscreensaver already disabled" >> $logfile
fi
;;
gsd-screensaver | gsd-screensaver-proxy)
setting=$(gsettings get org.gnome.desktop.screensaver lock-enabled)
setting1=$(gsettings get org.gnome.desktop.session idle-delay)
if [ "$setting $setting1" != 'false uint32 0' ]; then
echo disable screensaver via gsettings was $setting and $setting1>> $logfile
gsettings set org.gnome.desktop.screensaver lock-enabled false
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
gsettings set org.gnome.desktop.session idle-delay 0
else
echo gsettings screen saver already disabled >> $logfile
fi
;;
*) echo "some other screensaver $screen_saver_running" found | tee -a $logfile
echo "please configure it manually" | tee -a $logfile
;;
esac
elif [ -e "/etc/lightdm/lightdm.conf" ]; then
# if screen saver NOT already disabled?
if [ $(grep 'xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf | wc -l) == 0 ]; then
echo install screensaver via lightdm.conf >> $logfile
sudo sed -i '/^\[Seat:\*\]/a xserver-command=X -s 0 -dpms' /etc/lightdm/lightdm.conf
#sudo cp _myconf /etc/lightdm/lightdm.conf
#rm _myconf >/dev/null
else
echo screensaver via lightdm already disabled >> $logfile
fi
elif [ $(which gsettings | wc -l) == 1 ]; then
setting=$(gsettings get org.gnome.desktop.screensaver lock-enabled)
setting1=$(gsettings get org.gnome.desktop.session idle-delay)
if [ "$setting $setting1" != 'false uint32 0' ]; then
echo disable screensaver via gsettings was $setting and $setting1>> $logfile
gsettings set org.gnome.desktop.screensaver lock-enabled false
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
gsettings set org.gnome.desktop.session idle-delay 0
else
echo gsettings screen saver already disabled >> $logfile
fi
elif [ -d "/etc/xdg/lxsession" ]; then
currently_set=$(grep -m1 '\-dpms' /etc/xdg/lxsession/LXDE-pi/autostart)
if [ "$currently_set." == "." ]; then
echo disable screensaver via lxsession >> $logfile
# turn it off for the future
sudo su -c "echo -e '@xset s noblank\n@xset s off\n@xset -dpms' >> /etc/xdg/lxsession/LXDE-pi/autostart"
# turn it off now
export DISPLAY=:0; xset s noblank;xset s off;xset -dpms
else
echo lxsession screen saver already disabled >> $logfile
fi
else
echo " "
echo -e "unable to disable screen saver, /etc/xdg/lxsession does not exist" | tee >>$logfile
fi
fi

View File

@ -44,10 +44,11 @@ if [ -d ~/MagicMirror ]; then
cd - >/dev/null cd - >/dev/null
fi fi
logfile=$logdir/upgrade.log logfile=$logdir/upgrade.log
echo the log will be $logfile
echo >>$logfile echo >>$logfile
date +"Upgrade started - %a %b %e %H:%M:%S %Z %Y" >>$logfile date +"Upgrade started - %a %b %e %H:%M:%S %Z %Y" >>$logfile
echo system is $(uname -a) >> $logfile
echo the os is $(lsb_release -a) >> $logfile
# because of how its executed from the web, p0 gets overlayed with parm # because of how its executed from the web, p0 gets overlayed with parm
# check to see if a parm was passed .. easy apply without editing # check to see if a parm was passed .. easy apply without editing
@ -81,7 +82,7 @@ if [ -d ~/MagicMirror ]; then
if [ $justActive == $true ]; then if [ $justActive == $true ]; then
if [ ! -f ~/MagicMirror/installers/dumpactivemodules.js ]; then if [ ! -f ~/MagicMirror/installers/dumpactivemodules.js ]; then
echo downloading dumpactivemodules script >> $logfile echo downloading dumpactivemodules script >> $logfile
curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/develop/installers/dumpactivemodules.js > ~/MagicMirror/installers/dumpactivemodules.js curl -sL https://www.dropbox.com/s/wwe6bfg2lcjmj43/dumpactivemodules.js?dl=0 > ~/MagicMirror/installers/dumpactivemodules.js
fi fi
fi fi
echo update log will be in $logfile echo update log will be in $logfile
@ -151,13 +152,16 @@ if [ -d ~/MagicMirror ]; then
# get the latest upgrade # get the latest upgrade
echo fetching latest revisions | tee -a $logfile echo fetching latest revisions | tee -a $logfile
git fetch $remote >/dev/null
if git fetch $remote; then rc=$?
echo git fetch rc=$rc >>$logfile
if [ $rc -eq 0 ]; then
# need to get the current branch # need to get the current branch
current_branch=$(git branch | grep "*" | awk '{print $2}') current_branch=$(git branch | grep "*" | awk '{print $2}')
echo current branch = $current_branch >>$logfile echo current branch = $current_branch >>$logfile
$(git status 2>&1)>>$logfile
git status 2>&1 >>$logfile
# get the names of the files that are different locally # get the names of the files that are different locally
diffs=$(git status 2>&1 | grep modified | awk -F: '{print $2}') diffs=$(git status 2>&1 | grep modified | awk -F: '{print $2}')
@ -238,11 +242,11 @@ if [ -d ~/MagicMirror ]; then
if [ $doinstalls == $true ]; then if [ $doinstalls == $true ]; then
# if this is a pi zero # if this is a pi zero
echo processor architecture is $arch >> $logfile echo processor architecture is $arch >> $logfile
#if [ "$arch" == "armv6l" ]; then if [ "$arch" == "armv6l" ]; then
# # force to look like pi 2 # force to look like pi 2
# echo forcing architecture armv7l >>$logfile echo forcing architecture armv7l >>$logfile
# forced_arch='--arch=armv7l' forced_arch='--arch=armv7l'
#fi fi
echo "updating MagicMirror runtime, please wait" | tee -a $logfile echo "updating MagicMirror runtime, please wait" | tee -a $logfile
npm install $forced_arch 2>&1 | tee -a $logfile npm install $forced_arch 2>&1 | tee -a $logfile
done_update=`date +"completed - %a %b %e %H:%M:%S %Z %Y"` done_update=`date +"completed - %a %b %e %H:%M:%S %Z %Y"`

155
package-lock.json generated
View File

@ -14,15 +14,15 @@
} }
}, },
"@babel/core": { "@babel/core": {
"version": "7.7.5", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
"integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==", "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.5.5", "@babel/code-frame": "^7.5.5",
"@babel/generator": "^7.7.4", "@babel/generator": "^7.7.7",
"@babel/helpers": "^7.7.4", "@babel/helpers": "^7.7.4",
"@babel/parser": "^7.7.5", "@babel/parser": "^7.7.7",
"@babel/template": "^7.7.4", "@babel/template": "^7.7.4",
"@babel/traverse": "^7.7.4", "@babel/traverse": "^7.7.4",
"@babel/types": "^7.7.4", "@babel/types": "^7.7.4",
@ -66,9 +66,9 @@
"dev": true "dev": true
}, },
"resolve": { "resolve": {
"version": "1.13.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz",
"integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", "integrity": "sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==",
"dev": true, "dev": true,
"requires": { "requires": {
"path-parse": "^1.0.6" "path-parse": "^1.0.6"
@ -83,9 +83,9 @@
} }
}, },
"@babel/generator": { "@babel/generator": {
"version": "7.7.4", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz",
"integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/types": "^7.7.4", "@babel/types": "^7.7.4",
@ -197,15 +197,15 @@
} }
}, },
"@babel/parser": { "@babel/parser": {
"version": "7.7.5", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.5.tgz", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz",
"integrity": "sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig==", "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==",
"dev": true "dev": true
}, },
"@babel/runtime": { "@babel/runtime": {
"version": "7.7.6", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.6.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
"integrity": "sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw==", "integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
"dev": true, "dev": true,
"requires": { "requires": {
"regenerator-runtime": "^0.13.2" "regenerator-runtime": "^0.13.2"
@ -1292,9 +1292,9 @@
"integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001015", "version": "1.0.30001017",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001017.tgz",
"integrity": "sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ==", "integrity": "sha512-EDnZyOJ6eYh6lHmCvCdHAFbfV4KJ9lSdfv4h/ppEhrU/Yudkl7jujwMZ1we6RX7DXqBfT04pVMQ4J+1wcTlsKA==",
"dev": true "dev": true
}, },
"caseless": { "caseless": {
@ -2545,21 +2545,22 @@
} }
}, },
"es-abstract": { "es-abstract": {
"version": "1.16.3", "version": "1.17.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz",
"integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==", "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==",
"dev": true, "dev": true,
"requires": { "requires": {
"es-to-primitive": "^1.2.1", "es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"has": "^1.0.3", "has": "^1.0.3",
"has-symbols": "^1.0.1", "has-symbols": "^1.0.1",
"is-callable": "^1.1.4", "is-callable": "^1.1.5",
"is-regex": "^1.0.4", "is-regex": "^1.0.5",
"object-inspect": "^1.7.0", "object-inspect": "^1.7.0",
"object-keys": "^1.1.1", "object-keys": "^1.1.1",
"string.prototype.trimleft": "^2.1.0", "object.assign": "^4.1.0",
"string.prototype.trimright": "^2.1.0" "string.prototype.trimleft": "^2.1.1",
"string.prototype.trimright": "^2.1.1"
}, },
"dependencies": { "dependencies": {
"object-keys": { "object-keys": {
@ -2635,9 +2636,9 @@
} }
}, },
"eslint": { "eslint": {
"version": "6.7.2", "version": "6.8.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.2.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
"integrity": "sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng==", "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
@ -3912,18 +3913,18 @@
} }
}, },
"grunt-markdownlint": { "grunt-markdownlint": {
"version": "2.7.0", "version": "2.8.0",
"resolved": "https://registry.npmjs.org/grunt-markdownlint/-/grunt-markdownlint-2.7.0.tgz", "resolved": "https://registry.npmjs.org/grunt-markdownlint/-/grunt-markdownlint-2.8.0.tgz",
"integrity": "sha512-HcZQmsQEjYETviZ0l/TlNJXCjmujDlK9CWQZHVmt8n3D0FgMDgXR/pBPjW/cutIKMbWfUWv/iX2xPfRKm8vG8Q==", "integrity": "sha512-3HNNKB1C+qC+iB9ecDGymQMv2CVx+XHFxP3e1n/d1lE44GvJOaJFYCS6IgAc//Fhcz4v4X9XJCHDCTfAWuq5gg==",
"dev": true, "dev": true,
"requires": { "requires": {
"markdownlint": "^0.17.0" "markdownlint": "^0.18.0"
} }
}, },
"grunt-stylelint": { "grunt-stylelint": {
"version": "0.12.0", "version": "0.13.0",
"resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.12.0.tgz", "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.13.0.tgz",
"integrity": "sha512-6ntxeja38tCZHg3xVgRzRm6taiCuAU9PwqsOdPFwXg1VOR+kx/d8tQvgO9Suf4ouo93zq4bYsMX/JOBJIYEJvw==", "integrity": "sha512-Ju9N03UBvPwcdoJYL77pDk0k0E8VD4oYtTfoRwvvPM1ON2MjOXWwPyaeIoYPnhUwcfN9D7TaXnTtuhNoWNsyrQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "^2.4.2" "chalk": "^2.4.2"
@ -4352,9 +4353,9 @@
"integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4="
}, },
"inquirer": { "inquirer": {
"version": "7.0.0", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz",
"integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==", "integrity": "sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-escapes": "^4.2.1", "ansi-escapes": "^4.2.1",
@ -4366,7 +4367,7 @@
"lodash": "^4.17.15", "lodash": "^4.17.15",
"mute-stream": "0.0.8", "mute-stream": "0.0.8",
"run-async": "^2.2.0", "run-async": "^2.2.0",
"rxjs": "^6.4.0", "rxjs": "^6.5.3",
"string-width": "^4.1.0", "string-width": "^4.1.0",
"strip-ansi": "^5.1.0", "strip-ansi": "^5.1.0",
"through": "^2.3.6" "through": "^2.3.6"
@ -4555,9 +4556,9 @@
} }
}, },
"is-callable": { "is-callable": {
"version": "1.1.4", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
"dev": true "dev": true
}, },
"is-data-descriptor": { "is-data-descriptor": {
@ -4587,9 +4588,9 @@
} }
}, },
"is-date-object": { "is-date-object": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
"dev": true "dev": true
}, },
"is-decimal": { "is-decimal": {
@ -4714,12 +4715,12 @@
"dev": true "dev": true
}, },
"is-regex": { "is-regex": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"has": "^1.0.1" "has": "^1.0.3"
} }
}, },
"is-regexp": { "is-regexp": {
@ -5307,9 +5308,9 @@
"dev": true "dev": true
}, },
"markdownlint": { "markdownlint": {
"version": "0.17.2", "version": "0.18.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.17.2.tgz", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.18.0.tgz",
"integrity": "sha512-vsxopn0qEdm0P2XI3S9sVA+jvjKjR8lHZ+0FKlusth+1UK9tI29mRFkKeZPERmbWsMehJcogfMieBUkMgNEFkQ==", "integrity": "sha512-nQAfK9Pbq0ZRoMC/abNGterEnV3kL8MZmi0WHhw8WJKoIbsm3cXGufGsxzCRvjW15cxe74KWcxRSKqwplS26Bw==",
"dev": true, "dev": true,
"requires": { "requires": {
"markdown-it": "10.0.0" "markdown-it": "10.0.0"
@ -5777,9 +5778,9 @@
} }
}, },
"node-releases": { "node-releases": {
"version": "1.1.42", "version": "1.1.44",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.42.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.44.tgz",
"integrity": "sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA==", "integrity": "sha512-NwbdvJyR7nrcGrXvKAvzc5raj/NkoJudkarh2yIpJ4t0NH4aqjUDz/486P+ynIW5eokKOfzGNRdYoLfBlomruw==",
"dev": true, "dev": true,
"requires": { "requires": {
"semver": "^6.3.0" "semver": "^6.3.0"
@ -5968,13 +5969,13 @@
} }
}, },
"object.getownpropertydescriptors": { "object.getownpropertydescriptors": {
"version": "2.0.3", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
"dev": true, "dev": true,
"requires": { "requires": {
"define-properties": "^1.1.2", "define-properties": "^1.1.3",
"es-abstract": "^1.5.1" "es-abstract": "^1.17.0-next.1"
} }
}, },
"object.pick": { "object.pick": {
@ -6309,9 +6310,9 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "7.0.24", "version": "7.0.25",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.24.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz",
"integrity": "sha512-Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA==", "integrity": "sha512-NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "^2.4.2", "chalk": "^2.4.2",
@ -7105,9 +7106,9 @@
} }
}, },
"rxjs": { "rxjs": {
"version": "6.5.3", "version": "6.5.4",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
@ -7622,9 +7623,9 @@
} }
}, },
"string.prototype.trimleft": { "string.prototype.trimleft": {
"version": "2.1.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
"integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
"dev": true, "dev": true,
"requires": { "requires": {
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
@ -7632,9 +7633,9 @@
} }
}, },
"string.prototype.trimright": { "string.prototype.trimright": {
"version": "2.1.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
"integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
"dev": true, "dev": true,
"requires": { "requires": {
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
@ -7694,9 +7695,9 @@
"dev": true "dev": true
}, },
"stylelint": { "stylelint": {
"version": "12.0.0", "version": "12.0.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-12.0.0.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-12.0.1.tgz",
"integrity": "sha512-TwqtATrFOT07SPlUGyHN7tVhWqxwitn5BlAvyBQy/ekA+Nwu4mLU9L1dvGQPNxHUBLowjvkSW18QzHHR6/FVVQ==", "integrity": "sha512-1mn39pqZiC/e8KUPoRMc1WMM83Upb2ILaSGxkCvKxALHutEOs2txcPQocJiXdO4Zx4FY4prGqjlkwrbthAxqig==",
"dev": true, "dev": true,
"requires": { "requires": {
"autoprefixer": "^9.7.1", "autoprefixer": "^9.7.1",

View File

@ -7,6 +7,7 @@ if [ -z "$DISPLAY" ]; then #If not set DISPLAY is SSH remote or tty
fi fi
# get the processor architecture # get the processor architecture
arch=$(uname -m) arch=$(uname -m)
false='false'
# get the config option, if any # get the config option, if any
# only check non comment lines # only check non comment lines