diff --git a/boot/System Volume Information/IndexerVolumeGuid b/boot/System Volume Information/IndexerVolumeGuid deleted file mode 100755 index 8886db008..000000000 Binary files a/boot/System Volume Information/IndexerVolumeGuid and /dev/null differ diff --git a/usr/bin/physlock b/usr/bin/physlock deleted file mode 100755 index 7847e3cc1..000000000 Binary files a/usr/bin/physlock and /dev/null differ diff --git a/usr/bin/webc-config b/usr/bin/webc-config index f63d1df03..56eedf139 100755 --- a/usr/bin/webc-config +++ b/usr/bin/webc-config @@ -21,6 +21,7 @@ fi . "$config_runtime" + for x in $(cmdline) do case $x in @@ -100,6 +101,91 @@ do esac done + +if cmdline_has wake +then + i=0 + IFS=$'\n'; for w in $(cmdline_get wake | tr ^ \\n) + do + sleep_time=0 + for t in $(echo ${w#*+} | grep -o '[0-9]*[A-Za-z]') + do + case $t in + *[Ww]) sleep_time=$(( $sleep_time + ${t%[Ww]}*60*60*24*7 ));; + *[Dd]) sleep_time=$(( $sleep_time + ${t%[Dd]}*60*60*24 ));; + *[Hh]) sleep_time=$(( $sleep_time + ${t%[Hh]}*60*60 ));; + *[Mm]) sleep_time=$(( $sleep_time + ${t%[Mm]}*60 ));; + *[Ss]) sleep_time=$(( $sleep_time + ${t%[Ss]} ));; + esac + done + wday=$(echo "$w" | grep -o '[0-9]\+:[0-9]\+\s') # Eg. 10:00 + dura=$(( $(date +%s --date="$wday") + $sleep_time )) # epoch + + wake[$i]=${w% +*} # Eg. Sun 10:0 + unwake[$i]=$(date +"${w% $wday*} %H:%M" -d "@$dura") # Eg. Mon-Fri 20:00 + logger "Wake at ${wake[$i]} till ${unwake[$i]}" + i=$(( $i + 1 )) + done + unset i + + cat > /etc/systemd/system/wake.timer < /etc/systemd/system/unwake.timer < /etc/systemd/system/wake.service < /etc/systemd/system/unwake.service <> /etc/systemd/system/wake.service + + systemctl daemon-reload + systemctl start unwake.timer + systemctl start wake.timer +else + systemctl stop unwake.timer + systemctl stop wake.timer +fi + + if cmdline_has debug then sshkey=$(cmdline_get ssh) @@ -135,83 +221,6 @@ then fi -if cmdline_has wake -then - wake=$(cmdline_get wake) - wake="${wake/_/ }" # TODO: Use &20 instead of _ - physlock -d & # Start screen locker first - - for t in $(echo ${wake#*+} | grep -o '[0-9]*[A-Za-z]') - do - case $t in - *[Ww]) sleep_time=$(( $sleep_time + ${t%[Ww]} * 7 * 24 * 60 * 60));; - *[Dd]) sleep_time=$(( $sleep_time + ${t%[Dd]} * 24 * 60 *60));; - *[Hh]) sleep_time=$(( $sleep_time + ${t%[Hh]} * 60 * 60));; - *[Mm]) sleep_time=$(( $sleep_time + ${t%[Mm]} * 60));; - *[Ss]) sleep_time=$(( $sleep_time + ${t%[Ss]} ));; - esac - done - - wday=$(echo $wake | grep -o '\s.*:.*\s') # Eg. 10:00 - tstart=$(date +%s --date="$wday") # Time to start (epoch) - tstop=$(( $tstart + $sleep_time )) # Time to stop (epoch) - unwake=$(date +"${wake%$wday*} %H:%M:%S" --date="@$tstop") # Eg. Mon-Fri 20:00 - - logger "Waking up system at ${wake%+*} and unwake at $unwake" - - if test "$wake" - then - cat > /etc/systemd/system/wake.timer < /etc/systemd/system/unwake.timer < /etc/systemd/system/wake.service < /etc/systemd/system/unwake.service <