diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2020-02-07 16:56:19 +0100 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2020-02-07 16:56:19 +0100 |
commit | 0a5f8ec4230566295e3f5b82e6083fd5b9bb2dea (patch) | |
tree | 19e903e41fa42ef60464608b5314331792dc8c47 | |
parent | bed14b11e3d3070b92bb66203ae42d9e31393299 (diff) | |
download | slackupgrade-0a5f8ec4230566295e3f5b82e6083fd5b9bb2dea.tar.gz slackupgrade-0a5f8ec4230566295e3f5b82e6083fd5b9bb2dea.tar.bz2 |
Make sure all downloaded files are removed
-rw-r--r-- | slackupgrade | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/slackupgrade b/slackupgrade index ada387b..30bfa9c 100644 --- a/slackupgrade +++ b/slackupgrade | |||
@@ -83,2 +83,7 @@ y | |||
83 | 83 | ||
84 | onexit_remove_list= | ||
85 | function onexit_remove() { | ||
86 | onexit_remove_list="$onexit_remove_list${onexit_remove_list:+ }$1" | ||
87 | } | ||
88 | |||
84 | function tempdir_create() { | 89 | function tempdir_create() { |
@@ -91,3 +96,3 @@ function tempdir_create() { | |||
91 | function tempdir_remove() { | 96 | function tempdir_remove() { |
92 | rm -rf $tempdir | 97 | rm -rf $tempdir $onexit_remove_list |
93 | } | 98 | } |
@@ -255,7 +260,14 @@ function getfile() { | |||
255 | fi) | 260 | fi) |
256 | if [ -n "$ascname" ] \ | 261 | if [ -n "$ascname" ]; then |
257 | && ${GPG:-gpg} --verify $ascname $name 2>/dev/null; then | 262 | if ! err=$(${GPG:-gpg} --verify $ascname $name 2>&1 >/dev/null) |
258 | : | 263 | then |
264 | error "$err" | ||
265 | error "gpg verification failed for $name" | ||
266 | dropfile $ascname | ||
267 | return | ||
268 | else | ||
269 | dropfile $ascname | ||
270 | fi | ||
259 | else | 271 | else |
260 | error "gpg verification failed for $name" | 272 | error "$name: no clearsign signature file found" |
261 | return | 273 | return |
@@ -514,2 +526,3 @@ if [ -z "$checksums" ]; then | |||
514 | fi | 526 | fi |
527 | onexit_remove $checksums | ||
515 | 528 | ||
@@ -525,2 +538,3 @@ if [ -z "$file" ]; then | |||
525 | fi | 538 | fi |
539 | onexit_remove $file | ||
526 | 540 | ||
@@ -653,2 +667,3 @@ if [ $opmode != INCR ]; then | |||
653 | fi | 667 | fi |
668 | onexit_remove $packages | ||
654 | download_size=$(sed -n -r \ | 669 | download_size=$(sed -n -r \ |
@@ -746,2 +761,3 @@ do | |||
746 | fi | 761 | fi |
762 | onexit_remove $file | ||
747 | pkg_files="$pkg_files${pkg_files:+ }$file" | 763 | pkg_files="$pkg_files${pkg_files:+ }$file" |