summaryrefslogtreecommitdiff
path: root/src/lib/blacklist.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/blacklist.sh')
-rwxr-xr-xsrc/lib/blacklist.sh14
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
)