summaryrefslogtreecommitdiff
path: root/indra/viewer_components/updater/scripts/darwin/update_install.py
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2014-01-07 11:39:06 -0500
committerOz Linden <oz@lindenlab.com>2014-01-07 11:39:06 -0500
commit69c32b04cfd52c6fbd34997fa6485a84435743ef (patch)
tree9e95073f5d7109b86ed5fdb06b26dae4416c7146 /indra/viewer_components/updater/scripts/darwin/update_install.py
parentdc2af90b04a16a41851874b9ab55b4ac61af2d7b (diff)
parent1a9b9f1bd1b5f64b35b9ce6eff458cdb7a79fe6e (diff)
merge changes for 3.6.12-release
Diffstat (limited to 'indra/viewer_components/updater/scripts/darwin/update_install.py')
-rwxr-xr-xindra/viewer_components/updater/scripts/darwin/update_install.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/indra/viewer_components/updater/scripts/darwin/update_install.py b/indra/viewer_components/updater/scripts/darwin/update_install.py
index 10d507c9ef..08f4f0ebb9 100755
--- a/indra/viewer_components/updater/scripts/darwin/update_install.py
+++ b/indra/viewer_components/updater/scripts/darwin/update_install.py
@@ -199,6 +199,11 @@ def main(dmgfile, markerfile, markertext):
# prepare for other cleanup
with Janitor(LOGF) as janitor:
+ # Under some circumstances, this script seems to be invoked with a
+ # nonexistent pathname. Check for that.
+ if not os.path.isfile(dmgfile):
+ fail(dmgfile + " has been deleted")
+
# Try to derive the name of the running viewer app bundle from our
# own pathname. (Hopefully the old viewer won't copy this script
# to a temp dir before running!)
@@ -376,6 +381,13 @@ def main(dmgfile, markerfile, markertext):
log(' '.join(command))
subprocess.check_call(command, stdout=LOGF, stderr=subprocess.STDOUT)
+ # If all the above succeeded, delete the .dmg file. We don't do this
+ # as a janitor.later() operation because we only want to do it if we
+ # get this far successfully. Note that this is out of the scope of the
+ # Janitor: we must detach the .dmg before removing it!
+ log("rm " + dmgfile)
+ os.remove(dmgfile)
+
except Exception, err:
# Because we carefully set sys.excepthook -- and even modify it to log
# the problem once we have our log file open -- you might think we