blob: b07ad9e0e4d6587ed10dfb856c4cc76c7d735c96 [file] [log] [blame]
#!/usr/bin/python
# Copyright Gentoo Foundation 2006
# Portage Emerge bits
# $Id$
import sys
# This block ensures that ^C interrupts are handled quietly.
try:
import signal
def exithandler(signum,frame):
signal.signal(signal.SIGINT, signal.SIG_IGN)
signal.signal(signal.SIGTERM, signal.SIG_IGN)
sys.exit(1)
signal.signal(signal.SIGINT, exithandler)
signal.signal(signal.SIGTERM, exithandler)
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
except KeyboardInterrupt:
sys.exit(1)
def debug_signal(signum, frame):
import pdb
pdb.set_trace()
signal.signal(signal.SIGUSR1, debug_signal)
try:
import _emerge
except ImportError:
from os import path as osp
import sys
sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
import _emerge
if __name__ == "__main__":
import sys
from portage.exception import ParseError, PermissionDenied
try:
retval = _emerge.emerge_main()
except PermissionDenied, e:
sys.stderr.write("Permission denied: '%s'\n" % str(e))
sys.exit(e.errno)
except ParseError, e:
sys.stderr.write("%s\n" % str(e))
sys.exit(1)
sys.exit(retval)