diff options
Diffstat (limited to 'DistUpgrade/dist-upgrade.py')
| -rwxr-xr-x | DistUpgrade/dist-upgrade.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/DistUpgrade/dist-upgrade.py b/DistUpgrade/dist-upgrade.py index 632de54d..6b388532 100755 --- a/DistUpgrade/dist-upgrade.py +++ b/DistUpgrade/dist-upgrade.py @@ -4,15 +4,30 @@ from DistUpgradeControler import DistUpgradeControler from DistUpgradeConfigParser import DistUpgradeConfig import logging import os +import os.path import sys if __name__ == "__main__": + # init logging logging.basicConfig(level=logging.DEBUG, filename="/var/log/dist-upgrade.log", format='%(asctime)s %(levelname)s %(message)s', filemode='w') + # make sure we run under a segv-handler + if not os.environ.has_key("LD_PRELOAD") or \ + not "libSegFault" in os.environ["LD_PRELOAD"]: + fd = os.open("/var/log/dist-upgrade-segv.log", + os.O_RDWR|os.O_CREAT|os.O_TRUNC) + os.dup2(fd,1) + os.dup2(fd,2) + # restart ourself + os.execl("/usr/bin/catchsegv", "catchsegv", sys.argv[0]) + else: + logging.debug("Runing with segv-handler: %s", os.environ["LD_PRELOAD"]) + + # init config and get a view config = DistUpgradeConfig() requested_view= config.get("View","View") try: |
