#!/bin/sh CMD=$(basename ${0}) . gettext.sh TEXTDOMAIN="tails" export TEXTDOMAIN TORDATE_DIR=/var/run/tordate TORDATE_DONE_FILE="${TORDATE_DIR}/done" INOTIFY_TIMEOUT=60 MIN_MEMFREE=$((125 * 1024)) MIN_TOTAL_MEMFREE=$((500 * 1024)) RUN_AS_USER=tails-upgrade-frontend ### Functions error () { local cli_text="${CMD}: `gettext \"error:\"` ${@}" local dialog_text="`gettext \"Error\"` ${@}" echo "${cli_text}" >&2 zenity --error --title "" --text "${dialog_text}" exit 1 } check_free_memory () { local min_memfree min_total_memfree memfree buffers cached total_memfree local errormsg min_memfree="$1" min_total_memfree="$2" memfree=$(awk '/^MemFree:/{print $2}' /proc/meminfo) buffers=$(awk '/^Buffers:/{print $2}' /proc/meminfo) cached=$(awk '/^Cached:/{print $2}' /proc/meminfo) total_memfree=$(($memfree + $buffers + $cached)) errormsg="`gettext \"Not enough memory available to check for upgrades. Make sure this system satisfies the requirements for running Tails. See file:///usr/share/doc/tails/website/doc/about/requirements.en.html Try to restart Tails to check for upgrades again. Or do a manual upgrade. See https://tails.boum.org/doc/first_steps/upgrade#manual\"`" if [ "$memfree" -lt "$MIN_MEMFREE" ] ; then echo "Only $memfree MemFree, while $MIN_MEMFREE is needed." >&2 error "$errormsg" fi if [ "$total_memfree" -lt "$MIN_TOTAL_MEMFREE" ] ; then echo "Only $total_memfree MemFree + Buffers + Cached, while $MIN_TOTAL_MEMFREE is needed." >&2 error "$errormsg" fi } ### Main sleep 30 check_free_memory "$MIN_MEMFREE" "$MIN_TOTAL_MEMFREE" # Go to a place where everyone, especially Archive::Tar::Wrapper called by # tails-install-iuk, can chdir back after it has chdir'd elsewhere to do # its job. cd / xhost +SI:localuser:"$RUN_AS_USER" sudo -u "$RUN_AS_USER" /usr/bin/tails-upgrade-frontend $@ xhost -SI:localuser:"$RUN_AS_USER"