]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
Replace the target tarfile atomically
authorPeter Palfrader <peter@palfrader.org>
Wed, 8 May 2013 09:14:53 +0000 (11:14 +0200)
committerPeter Palfrader <peter@palfrader.org>
Fri, 10 May 2013 12:22:36 +0000 (14:22 +0200)
modules/porterbox/files/setup-dchroot

index db27d5a150fe58a2352df416db61724f22594a7a..6fa9e66c39648f56fcc28e878433b35a873c6275 100755 (executable)
@@ -231,4 +231,6 @@ chroot "$rootdir" apt-get install -y --no-install-recommends zsh locales-all bui
 rm -f "$rootdir/etc/apt/sources.list" "$rootdir/etc/apt/sources.list.d/*"
 umount "$rootdir/sys" || true
 
-(cd "$rootdir" && tar caf "$target" .)
+tartmp=$(tempfile --directory "$basedir" --suffix=".tar.gz")
+cleanup+=("rm -f $tartmp")
+(cd "$rootdir" && tar caf "$tartmp" . && mv "$tartmp" "$target")