Rename TMPDIR environment variables to TEMPDIR to avoid overriding php temp dir.

Signed-off-by: Tobias Knöppler <6317548+theCalcaholic@users.noreply.github.com>
This commit is contained in:
Tobias Knöppler 2023-10-18 00:04:01 +02:00
parent 1d77f6d5c1
commit f1f6ca3bc7
No known key found for this signature in database
GPG Key ID: 3510056072886A8F
7 changed files with 34 additions and 32 deletions

View File

@ -2,18 +2,18 @@
# update latest available version in /var/run/.ncp-latest-version # update latest available version in /var/run/.ncp-latest-version
TMPDIR="$( mktemp -d /tmp/ncp-check.XXXXXX || ( echo "Failed to create temp dir. Exiting" >&2; exit 1 ) )" TEMPDIR="$( mktemp -d /tmp/ncp-check.XXXXXX || ( echo "Failed to create temp dir. Exiting" >&2; exit 1 ) )"
trap "rm -rf \"${TMPDIR}\"; exit 0" 0 1 2 3 15 trap "rm -rf \"${TEMPDIR}\"; exit 0" 0 1 2 3 15
BRANCH="master" BRANCH="master"
{ [[ -f /.dockerenv ]] || [[ -f /.docker-image ]] || [[ "$DOCKERBUILD" == 1 ]]; } && BRANCH="docker-stable" { [[ -f /.dockerenv ]] || [[ -f /.docker-image ]] || [[ "$DOCKERBUILD" == 1 ]]; } && BRANCH="docker-stable"
git clone -b "$BRANCH" --depth 20 -q --bare https://github.com/nextcloud/nextcloudpi.git "$TMPDIR" || { git clone -b "$BRANCH" --depth 20 -q --bare https://github.com/nextcloud/nextcloudpi.git "$TEMPDIR" || {
echo "The git clone command failed: No connectivity to https://github.com ?" >&2 echo "The git clone command failed: No connectivity to https://github.com ?" >&2
exit 1 exit 1
} }
cd "$TMPDIR" || exit 1 cd "$TEMPDIR" || exit 1
VER=$( git describe --always --tags | grep -oP "v\d+\.\d+\.\d+" ) VER=$( git describe --always --tags | grep -oP "v\d+\.\d+\.\d+" )
[[ -f "/usr/local/etc/instance.cfg" ]] && { [[ -f "/usr/local/etc/instance.cfg" ]] && {

View File

@ -16,32 +16,32 @@ DIR="$( cd "$( dirname "$BACKUPFILE" )" &>/dev/null && pwd )" #abspath
[[ -f "$BACKUPFILE" ]] || { echo "$BACKUPFILE not found" ; exit 1; } [[ -f "$BACKUPFILE" ]] || { echo "$BACKUPFILE not found" ; exit 1; }
[[ "$DIR" =~ "$NCDIR".* ]] && { echo "Refusing to restore from $NCDIR"; exit 1; } [[ "$DIR" =~ "$NCDIR".* ]] && { echo "Refusing to restore from $NCDIR"; exit 1; }
TMPDIR="$( mktemp -d "$( dirname "$BACKUPFILE" )"/ncp-restore.XXXXXX )" || { echo "Failed to create temp dir" >&2; exit 1; } TEMPDIR="$( mktemp -d "$( dirname "$BACKUPFILE" )"/ncp-restore.XXXXXX )" || { echo "Failed to create temp dir" >&2; exit 1; }
[[ "$(stat -fc%T "${TMPDIR}")" =~ ext|btrfs|zfs ]] || { echo "Can only restore from ext/btrfs/zfs filesystems (found '$(stat -fc%T "${TMPDIR}")" >&2; exit 1; } [[ "$(stat -fc%T "${TEMPDIR}")" =~ ext|btrfs|zfs ]] || { echo "Can only restore from ext/btrfs/zfs filesystems (found '$(stat -fc%T "${TEMPDIR}")" >&2; exit 1; }
TMPDIR="$( cd "$TMPDIR" &>/dev/null && pwd )" || { echo "$TMPDIR not found"; exit 1; } #abspath TEMPDIR="$( cd "$TEMPDIR" &>/dev/null && pwd )" || { echo "$TEMPDIR not found"; exit 1; } #abspath
cleanup(){ local RET=$?; echo "Cleanup..."; rm -rf "${TMPDIR}"; trap "" EXIT; exit $RET; } cleanup(){ local RET=$?; echo "Cleanup..."; rm -rf "${TEMPDIR}"; trap "" EXIT; exit $RET; }
trap cleanup INT TERM HUP ERR EXIT trap cleanup INT TERM HUP ERR EXIT
rm -rf "$TMPDIR" && mkdir -p "$TMPDIR" rm -rf "$TEMPDIR" && mkdir -p "$TEMPDIR"
[[ "$BACKUPFILE" =~ .*".tar.gz" ]] && compress_arg="-I pigz" [[ "$BACKUPFILE" =~ .*".tar.gz" ]] && compress_arg="-I pigz"
# CHECK FREE SPACE IN $TMPDIR # CHECK FREE SPACE IN $TEMPDIR
echo "check free space..." # allow at least ~100 extra MiB echo "check free space..." # allow at least ~100 extra MiB
extractedsize=$(tar $compress_arg -tvf "$BACKUPFILE" | awk '{s+=$3} END{printf "%.0f", (s/1024)}') # Size of extracted files in "KB" extractedsize=$(tar $compress_arg -tvf "$BACKUPFILE" | awk '{s+=$3} END{printf "%.0f", (s/1024)}') # Size of extracted files in "KB"
size=$(($extractedsize + 100*1024)) size=$(($extractedsize + 100*1024))
free=$( df "$TMPDIR" | tail -1 | awk '{ print $4 }' ) free=$( df "$TEMPDIR" | tail -1 | awk '{ print $4 }' )
[ $size -ge $free ] && { [ $size -ge $free ] && {
echo "free space check failed. Need $size KB in $TMPDIR"; echo "free space check failed. Need $size KB in $TEMPDIR";
exit 1; exit 1;
} }
# EXTRACT FILES # EXTRACT FILES
echo "extracting backup file $BACKUPFILE..." echo "extracting backup file $BACKUPFILE..."
tar $compress_arg -xf "$BACKUPFILE" -C "$TMPDIR" || exit 1 tar $compress_arg -xf "$BACKUPFILE" -C "$TEMPDIR" || exit 1
## SANITY CHECKS ## SANITY CHECKS
[[ -d "$TMPDIR"/nextcloud ]] && [[ -f "$( ls "$TMPDIR"/nextcloud-sqlbkp_*.bak 2>/dev/null )" ]] || { [[ -d "$TEMPDIR"/nextcloud ]] && [[ -f "$( ls "$TEMPDIR"/nextcloud-sqlbkp_*.bak 2>/dev/null )" ]] || {
echo "invalid backup file. Abort" echo "invalid backup file. Abort"
exit 1 exit 1
} }
@ -54,7 +54,7 @@ echo "restore files..."
mv -T "$NCDIR/data" "$DATA_BKP_DIR/" mv -T "$NCDIR/data" "$DATA_BKP_DIR/"
} }
rm -rf "$NCDIR" rm -rf "$NCDIR"
mv -T "$TMPDIR"/nextcloud "$NCDIR" || { echo "Error restoring base files"; exit 1; } mv -T "$TEMPDIR"/nextcloud "$NCDIR" || { echo "Error restoring base files"; exit 1; }
if [[ -n "$DATA_BKP_DIR" ]] if [[ -n "$DATA_BKP_DIR" ]]
then then
@ -91,7 +91,7 @@ EOFMYSQL
# shellcheck disable=SC2181 # shellcheck disable=SC2181
[ $? -ne 0 ] && { echo "Error configuring nextcloud database"; exit 1; } [ $? -ne 0 ] && { echo "Error configuring nextcloud database"; exit 1; }
mysql -u root nextcloud < "$TMPDIR"/nextcloud-sqlbkp_*.bak || { echo "Error restoring nextcloud database"; exit 1; } mysql -u root nextcloud < "$TEMPDIR"/nextcloud-sqlbkp_*.bak || { echo "Error restoring nextcloud database"; exit 1; }
## RESTORE DATADIR ## RESTORE DATADIR
@ -105,7 +105,7 @@ cd "$NCDIR"
### INCLUDEDATA=yes situation ### INCLUDEDATA=yes situation
NUMFILES=2 NUMFILES=2
if [[ $( ls "$TMPDIR" | wc -l ) -eq $NUMFILES ]]; then if [[ $( ls "$TEMPDIR" | wc -l ) -eq $NUMFILES ]]; then
[[ -e "$DATADIR" ]] && { [[ -e "$DATADIR" ]] && {
bk_target="$DATADIR-$( date '+%FT%s' )" bk_target="$DATADIR-$( date '+%FT%s' )"
@ -121,7 +121,7 @@ if [[ $( ls "$TMPDIR" | wc -l ) -eq $NUMFILES ]]; then
btrfs subvolume create "$DATADIR" || exit 1 btrfs subvolume create "$DATADIR" || exit 1
} }
chown www-data: "$DATADIR" chown www-data: "$DATADIR"
TMPDATA="$TMPDIR/$( basename "$DATADIR" )" TMPDATA="$TEMPDIR/$( basename "$DATADIR" )"
mv "$TMPDATA"/* "$TMPDATA"/.[!.]* "$DATADIR" || exit 1 mv "$TMPDATA"/* "$TMPDATA"/.[!.]* "$DATADIR" || exit 1
rmdir "$TMPDATA" || exit 1 rmdir "$TMPDATA" || exit 1

View File

@ -19,18 +19,18 @@ fi
BRANCH="${1:-master}" BRANCH="${1:-master}"
[[ "$BRANCH" != "master" ]] && echo "INFO: updating to development branch '$BRANCH'" [[ "$BRANCH" != "master" ]] && echo "INFO: updating to development branch '$BRANCH'"
TMPDIR="$( mktemp -d /tmp/ncp-update.XXXXXX || ( echo "Failed to create temp dir. Exiting" >&2; exit 1 ) )" TEMPDIR="$( mktemp -d /tmp/ncp-update.XXXXXX || ( echo "Failed to create temp dir. Exiting" >&2; exit 1 ) )"
trap 'cd /; rm -rf "${TMPDIR}"' EXIT trap 'cd /; rm -rf "${TEMPDIR}"' EXIT
echo -e "Downloading updates" echo -e "Downloading updates"
git clone --depth 20 -b "$BRANCH" -q https://github.com/nextcloud/nextcloudpi.git "$TMPDIR" || { git clone --depth 20 -b "$BRANCH" -q https://github.com/nextcloud/nextcloudpi.git "$TEMPDIR" || {
echo "No internet connectivity" echo "No internet connectivity"
exit 1 exit 1
} }
# shellcheck disable=SC2164 # shellcheck disable=SC2164
[[ -f /.ncp-image ]] || { [[ -f /.ncp-image ]] || {
cd "$TMPDIR" # update locally during build cd "$TEMPDIR" # update locally during build
[[ -z "$2" ]] || { [[ -z "$2" ]] || {
git fetch origin "$2" || { git fetch origin "$2" || {
@ -44,7 +44,7 @@ fi
echo -e "Performing updates" echo -e "Performing updates"
./update.sh || exit $? ./update.sh || exit $?
cd "$TMPDIR" || exit 1 cd "$TEMPDIR" || exit 1
git describe --always --tags --abbrev=0 2>/dev/null | grep -qoP "v\d+\.\d+\.\d+" || git fetch --unshallow --tags -q git describe --always --tags --abbrev=0 2>/dev/null | grep -qoP "v\d+\.\d+\.\d+" || git fetch --unshallow --tags -q
VER=$( git describe --always --tags --abbrev=0 | grep -oP "v\d+\.\d+\.\d+" ) VER=$( git describe --always --tags --abbrev=0 | grep -oP "v\d+\.\d+\.\d+" )

View File

@ -14,8 +14,8 @@ install()
apt-get update apt-get update
apt-get install --no-install-recommends -y make gcc libc-dev apt-get install --no-install-recommends -y make gcc libc-dev
local TMPDIR="$( mktemp -d /tmp/noip.XXXXXX )" local TEMPDIR="$( mktemp -d /tmp/noip.XXXXXX )"
cd "$TMPDIR" cd "$TEMPDIR"
wget -O- --content-disposition https://github.com/nachoparker/noip-DDNS/archive/master/latest.tar.gz \ wget -O- --content-disposition https://github.com/nachoparker/noip-DDNS/archive/master/latest.tar.gz \
| tar -xz \ | tar -xz \
|| return 1 || return 1
@ -41,7 +41,7 @@ EOF
chmod +x /etc/init.d/noip2 chmod +x /etc/init.d/noip2
cd - cd -
rm -r "$TMPDIR" rm -r "$TEMPDIR"
update-rc.d noip2 defaults update-rc.d noip2 defaults
update-rc.d noip2 disable update-rc.d noip2 disable

View File

@ -31,7 +31,9 @@ echo -e "\nInstalling NextCloudPi"
hostname -F /etc/hostname # fix 'sudo resolve host' errors hostname -F /etc/hostname # fix 'sudo resolve host' errors
CODE_DIR="$(pwd)" bash install.sh CODE_DIR="$(pwd)" DBG=x bash install.sh
echo -e "\nPostinstall..."
run_app_unsafe post-inst.sh run_app_unsafe post-inst.sh
# disable SSH by default, it can be enabled through ncp-web # disable SSH by default, it can be enabled through ncp-web

View File

@ -30,7 +30,7 @@ source etc/library.sh # sets RELEASE
prepare_dirs # tmp cache output prepare_dirs # tmp cache output
# get latest armbian # get latest armbian
[[ -d armbian ]] || git clone https://github.com/armbian/build armbian [[ -d armbian ]] || git clone --depth 1 https://github.com/armbian/build armbian
#( cd armbian && git pull --ff-only --tags && git checkout v23.02 ) #( cd armbian && git pull --ff-only --tags && git checkout v23.02 )
#sed -i -e '/export rootfs_size=/s/du -sm/du --apparent-size -sm/' armbian/lib/functions/image/partitioning.sh #sed -i -e '/export rootfs_size=/s/du -sm/du --apparent-size -sm/' armbian/lib/functions/image/partitioning.sh
#sed -i -e '/export rootfs_size_mib=/s/du -sm/du --apparent-size -sm/' armbian/lib/functions/main/rootfs-image.sh #sed -i -e '/export rootfs_size_mib=/s/du -sm/du --apparent-size -sm/' armbian/lib/functions/main/rootfs-image.sh

View File

@ -14,8 +14,8 @@ BRANCH="${BRANCH:-master}"
set -e$DBG set -e$DBG
TMPDIR="$(mktemp -d /tmp/nextcloudpi.XXXXXX || (echo "Failed to create temp dir. Exiting" >&2 ; exit 1) )" TEMPDIR="$(mktemp -d /tmp/nextcloudpi.XXXXXX || (echo "Failed to create temp dir. Exiting" >&2 ; exit 1) )"
trap "rm -rf \"${TMPDIR}\"" 0 1 2 3 15 trap "rm -rf \"${TEMPDIR}\"" 0 1 2 3 15
[[ ${EUID} -ne 0 ]] && { [[ ${EUID} -ne 0 ]] && {
printf "Must be run as root. Try 'sudo $0'\n" printf "Must be run as root. Try 'sudo $0'\n"
@ -35,7 +35,7 @@ apt-get install --no-install-recommends -y git ca-certificates sudo lsb-release
# get install code # get install code
if [[ "${CODE_DIR}" == "" ]]; then if [[ "${CODE_DIR}" == "" ]]; then
echo "Getting build code..." echo "Getting build code..."
CODE_DIR="${TMPDIR}"/nextcloudpi CODE_DIR="${TEMPDIR}"/nextcloudpi
git clone -b "${BRANCH}" https://github.com/nextcloud/nextcloudpi.git "${CODE_DIR}" git clone -b "${BRANCH}" https://github.com/nextcloud/nextcloudpi.git "${CODE_DIR}"
fi fi
cd "${CODE_DIR}" cd "${CODE_DIR}"
@ -82,7 +82,7 @@ rm /.ncp-image
[[ "${CODE_DIR}" != "" ]] || bash /usr/local/bin/ncp-provisioning.sh [[ "${CODE_DIR}" != "" ]] || bash /usr/local/bin/ncp-provisioning.sh
cd - cd -
rm -rf "${TMPDIR}" rm -rf "${TEMPDIR}"
cohorte_id=$((RANDOM % 100)) cohorte_id=$((RANDOM % 100))
cat <<EOF > /usr/local/etc/instance.cfg cat <<EOF > /usr/local/etc/instance.cfg