KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21585/root/usr/share/firstboot/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21585/root/usr/share/firstboot/firstboot.py
#!/usr/bin/python2
#
# firstboot.py - configuration and convenience functions in a single class
#
# Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
# Copyright (C) 2002, 2003 Brent Fox <bfox@redhat.com>
# Copyright (C) 2005 Chris Lumens <clumens@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

import rhpl.Conf
import os
import snack
import firstbootBackend

FILENAME = "/etc/sysconfig/firstboot"

def start_process(path, args = None):
    if args == None:
        args = [path]
    else:
        args = [path, args]

    child = os.fork()

    if not child:
        os.execvp(path, args)
        os._exit(1)
            
    return child

class Firstboot:
    def __init__(self):
        self.doDebug = False
        self.doReconfig = False
        self.wm_pid = None
        self.xserver_pid = None
        self.lowRes = False
        self.rhgb = False
        self.autoscreenshot = False
        self.forcegui = False

    #Let's check to see if firstboot should be run or not
    #If we're in debug mode, run anyway even if the file exists.
    def mayRun(self):
        if not self.doDebug and not self.doReconfig:
            #Well first, is this even being run as root?
            if os.getuid() > 0 or os.geteuid() > 0:
               print "You must be root to run firstboot."
               return False

            #We're not in debug mode, so do some checking
            #First, look and see if /etc/sysconfig/firstboot exists
            if os.access(FILENAME, os.R_OK):
                conf = rhpl.Conf.ConfShellVar(FILENAME)

                if conf.has_key("RUN_FIRSTBOOT"):
                    if conf["RUN_FIRSTBOOT"].upper() == "NO":
                        # Firstboot should not be run
                        return False

        # If we're in debug mode, or the file doesn't exist, or RUN_FIRSTBOOT
        # isn't in it, or RUN_FIRSTBOOT isn't NO, run.
        return True

    # Sets up the text UI and assumes control.  The caller will never be
    # returned to and firstboot will exit from within here.
    def runTextUI(self):
        import textWindow
        
        screen = snack.SnackScreen()
        result = 0

        while result >= 0:
            # Keep running the program until either the timer has expired or
            # the user pressed Exit
            screen = snack.SnackScreen()
            result = textWindow.TextWindow()(screen)

        if result == -1:
            # They're done with firstboot.  Exit for good.
            screen.finish()
            firstbootBackend.writeSysconfigFile(self.doDebug)

            if self.doReconfig:
                try:
                    os.unlink("/etc/reconfigSys")
                except:
                    pass

            os._exit(0)
        elif result == -2:
            # Timer expired.  Don't remove the reconfig file if it exists.
            screen.finish()
            os._exit(0)

Anon7 - 2021