+++ /dev/null
-# NB: this all assumes we're run from script's parent directory
-PARENT_DIR=$(dirname $(pwd))
-DEBIAN_RELEASE=$(basename ${PARENT_DIR})
-PATH_REPO=$(dirname ${PARENT_DIR})
-PATH_CONF="${PATH_REPO}/${DEBIAN_RELEASE}"
-PATH_CONF_HOME="${PATH_CONF}/home"
-
-USERNAME=plom
-PATH_USER_HOME="/home/${USERNAME}"
-
-expect_min_n_args() {
- MIN_ARGS="$1"
- EXPLAINER="$2"
- shift 2
- if [ "$#" -lt "${MIN_ARGS}" ]; then
- echo "Need at least ${MIN_ARGS} arguments … ${EXPLAINER}"
- false
- fi
-}
-
-_abort() {
- echo "Aborting: $1"
- exit 1
-}
-
-abort_if_exists() {
- if [ -e "$1" ]; then
- _abort "$1 already exists."
- fi
-}
-
-abort_if_not_user() {
- if [ "$(whoami)" != "$1" ]; then
- _abort "Must be run as ${1}."
- fi
-}
-
-abort_if_offline() {
- if ! ping -c1 -W2 1.1.1.1 > /dev/null 2>&1; then
- _abort 'Must be run online.'
- fi
-}
set -e
cd $(dirname "$0")
-. ./_config_scripts_lib.sh
-# for:
-# abort_if_exists
-# abort_if_not_user
-# abort_if_offline
-# - USERNAME
+. lib/constants # USERNAME
+. lib/abort
+. lib/abort_if_exists
+. lib/abort_if_not_user
+. lib/abort_if_offline
PATH_REPOS="${HOME}/repos"
PATH_BORGKEYS="${HOME}/.config/borg/keys"
if [ "${RESULT}" = "0" ]; then
break
elif [ "${RESULT}" != "2" ]; then
- echo "Aborting due to unexpected ${NAME_BORGAPP} error."
- exit 1
+ abort "Aborting due to unexpected ${NAME_BORGAPP} error."
fi
done
--- /dev/null
+abort() {
+ echo "$1"
+ exit 1
+}
--- /dev/null
+abort_if_exists() {
+ if [ -e "$1" ]; then
+ abort "$1 already exists."
+ fi
+}
+
--- /dev/null
+. lib/abort
+
+abort_if_not_user() {
+ if [ "$(whoami)" != "$1" ]; then
+ abort "Must be run as ${1}."
+ fi
+}
--- /dev/null
+. lib/abort
+
+abort_if_offline() {
+ if ! ping -c1 -W2 1.1.1.1 > /dev/null 2>&1; then
+ abort 'Must be run online.'
+ fi
+}
--- /dev/null
+USERNAME=plom
+PATH_USER_HOME="/home/${USERNAME}"
--- /dev/null
+expect_min_n_args() {
+ MIN_ARGS="$1"
+ EXPLAINER="$2"
+ shift 2
+ if [ "$#" -lt "${MIN_ARGS}" ]; then
+ echo "Need at least ${MIN_ARGS} arguments … ${EXPLAINER}"
+ false
+ fi
+}
set -e
cd $(dirname "$0")
-. ./_config_scripts_lib.sh
-# for:
-# - abort_if_offline
-# - expect_min_n_args
-# - PATH_CONF
-# - PATH_CONF_HOME
-# - PATH_REPO
-# - PATH_USER_HOME
-# - USERNAME
+. lib/constants # PATH_USER_HOME, USERNAME
+. lib/expect_min_n_args
+. lib/abort
+. lib/abort_if_offline
+
+PARENT_DIR=$(dirname $(pwd))
+DEBIAN_RELEASE=$(basename ${PARENT_DIR})
+PATH_REPO=$(dirname ${PARENT_DIR})
+PATH_CONF="${PATH_REPO}/${DEBIAN_RELEASE}"
+PATH_CONF_HOME="${PATH_CONF}/home"
PATH_REL_ETC=etc
PATH_CONF_ETC="${PATH_CONF}/${PATH_REL_ETC}"
return 0
fi
done
- echo "Need legal system name."
- exit 1
+ abort 'Need legal system name.'
}
upgrade_from_older_release() {
set -e
cd $(dirname "$0")
-. ./_config_scripts_lib.sh
-# for:
-# - abort_if_exists
-# - abort_if_not_user
-# - abort_if_offline
-# - expect_min_n_args
-# - PATH_USER_HOME
-# - USERNAME
+. lib/constants # PATH_USER_HOME, USERNAME
+. lib/expect_min_n_args
+. lib/abort
+. lib/abort_if_exists
+. lib/abort_if_not_user
+. lib/abort_if_offline
. "${PATH_USER_HOME}/.plomlib.sh/get_passphrase"
. "${PATH_USER_HOME}/.plomlib.sh/path_tmp_timestamped"
PATH_REL_SECRETS=to_usb
export PATH_SECRETS="${PATH_USER_HOME}/${PATH_REL_SECRETS}"
-abort_if_not_user root
-abort_if_offline
-
# Mount secrets device and copy over its content.
abort_if_exists "${PATH_SECRETS}"
expect_min_n_args 1 "(device name, e.g. 'sda')" "$@"
if [ "${RESULT}" = "0" ]; then
break
elif [ "${RESULT}" != "100" ]; then
- echo "Aborting due to pmount error:"
- cat "${PATH_PMOUNT_ERR}"
+ PMOUNT_ERR="$(cat ${PATH_PMOUNT_ERR})"
rm "${PATH_PMOUNT_ERR}"
- exit 1
+ abort "Aborting due to pmount error: ${PMOUNT_ERR}"
fi
done
cp -a "${PATH_SOURCE}" "${PATH_SECRETS}"