diff options
Diffstat (limited to 'src/lib/blacklist.sh')
-rwxr-xr-x | src/lib/blacklist.sh | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/blacklist.sh b/src/lib/blacklist.sh index 321f7a1..76b00ad 100755 --- a/src/lib/blacklist.sh +++ b/src/lib/blacklist.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # This may be included with or without `set -euE` -# Copyright (C) 2013-2014, 2016-2017 Luke Shumaker <lukeshu@parabola.nu> +# Copyright (C) 2013-2014, 2016-2018 Luke Shumaker <lukeshu@parabola.nu> # Copyright (C) 2017 Isaac David <isacdaavid@isacdaavid.info> # # License: GNU GPLv2+ @@ -59,19 +59,21 @@ blacklist-update() ( _l stat_busy "Downloading blacklist of proprietary software packages" mkdir -p "${local_blacklist%/*}" - if wget -N -q -O "${local_blacklist}.part" "$remote_blacklist" 2>/dev/null; then + + local tmpfile + tmpfile="$(mktemp "${local_blacklist}.part.XXXXXXXXXX")" + if wget -N -q -O "$tmpfile" "$remote_blacklist" 2>/dev/null; then + mv -f -- "$tmpfile" "$local_blacklist" stat_done - mv -f "${local_blacklist}.part" "$local_blacklist" else + rm -f -- "$tmpfile" stat_done - rm "${local_blacklist}.part" if [[ -e "$local_blacklist" ]]; then - _l warning "Using local copy of blacklist" + _l warning "Using old local cache of blacklist" else _l error "Download failed, exiting" return 1 # $EXIT_FAILURE fi - fi ) |