diff --git a/misc/tools.func b/misc/tools.func index adb7a5ac4..64669fad1 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -2544,7 +2544,7 @@ fetch_and_deploy_gh_tag() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -2737,7 +2737,7 @@ fetch_and_deploy_gl_tag() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -3472,7 +3472,7 @@ fetch_and_deploy_codeberg_release() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -3575,7 +3575,7 @@ fetch_and_deploy_codeberg_release() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -3694,7 +3694,7 @@ fetch_and_deploy_codeberg_release() { unpack_tmp=$(mktemp -d) mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi if [[ "$filename" == *.zip ]]; then @@ -4112,7 +4112,7 @@ fetch_and_deploy_gh_release() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -4292,7 +4292,7 @@ fetch_and_deploy_gh_release() { unpack_tmp=$(mktemp -d) mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi if [[ "$filename" == *.zip ]]; then @@ -7157,7 +7157,7 @@ setup_meilisearch() { MEILI_DB_PATH="${MEILI_DB_PATH:-/var/lib/meilisearch/data}" msg_info "Removing old MeiliSearch database for migration" - rm -rf "${MEILI_DB_PATH:?}"/* + find "${MEILI_DB_PATH:?}" -mindepth 1 -delete # Import dump using CLI flag (this is the supported method) local DUMP_FILE="${MEILI_DUMP_DIR}/${DUMP_UID}.dump" @@ -9131,6 +9131,16 @@ setup_uv() { msg_ok "uvx wrapper installed" fi + # Install specific Python version if requested (even when uv is already up to date) + if [[ -n "${PYTHON_VERSION:-}" ]]; then + msg_info "Installing Python $PYTHON_VERSION via uv" + $STD uv python install "$PYTHON_VERSION" || { + msg_error "Failed to install Python $PYTHON_VERSION" + return 150 + } + msg_ok "Python $PYTHON_VERSION installed" + fi + return 0 fi @@ -9390,7 +9400,7 @@ fetch_and_deploy_from_url() { mkdir -p "$directory" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${directory:?}/"* + find "${directory:?}" -mindepth 1 -delete fi local unpack_tmp @@ -9966,7 +9976,7 @@ fetch_and_deploy_gl_release() { mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || { @@ -10128,7 +10138,7 @@ fetch_and_deploy_gl_release() { unpack_tmp=$(mktemp -d) mkdir -p "$target" if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then - rm -rf "${target:?}/"* + find "${target:?}" -mindepth 1 -delete fi if [[ "$filename" == *.zip ]]; then