From 30c19929cbcad3443c67d410e816b30026f659a2 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Wed, 29 Aug 2018 21:07:53 +0200 Subject: [PATCH] Add a new helper to create temporary directory --- scripts/_common.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/scripts/_common.sh b/scripts/_common.sh index 7ce131e..77b2812 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -356,3 +356,27 @@ ynh_multimedia_addaccess () { groupadd -f multimedia usermod -a -G multimedia $user_name } + +ynh_smart_mktemp () { + local min_size="${1:-300}" + # Transform the minimum size from megabytes to kilobytes + min_size=$(( $min_size * 1024 )) + + # Check if there's enough free space in a directory + is_there_enough_space () { + local free_space=$(df --output=avail "$1" | sed 1d) + test $free_space -ge $min_size + } + + if is_there_enough_space /tmp; then + local tmpdir=/tmp + elif is_there_enough_space /var; then + local tmpdir=/var + elif is_there_enough_space /; then + local tmpdir=/ + elif is_there_enough_space /home; then + local tmpdir=/home + fi + + echo "$(sudo mktemp --directory --tmpdir="$tmpdir")" +}