| #!/usr/bin/python -bO |
| # Copyright 2005-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| """System health checks and maintenance utilities. |
| """ |
| |
| from __future__ import print_function |
| |
| import sys |
| import errno |
| # 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(128 + signum) |
| |
| signal.signal(signal.SIGINT, exithandler) |
| signal.signal(signal.SIGTERM, exithandler) |
| signal.signal(signal.SIGPIPE, signal.SIG_DFL) |
| |
| except KeyboardInterrupt: |
| sys.exit(1) |
| |
| from os import path as osp |
| pym_path = osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym") |
| sys.path.insert(0, pym_path) |
| import portage |
| portage._internal_caller = True |
| from portage.emaint.main import emaint_main |
| |
| try: |
| emaint_main(sys.argv[1:]) |
| except IOError as e: |
| if e.errno == errno.EACCES: |
| print("\nemaint: Need superuser access") |
| sys.exit(1) |
| else: |
| raise |