Beispiel #1
0
def run_bash(cmd, argv=[], root=None, env=None, cwd=None):
    import subprocess

    def chroot():
        if root:
            os.chroot(root)

    env = env and env or os.environ
    cmd_res = {}
    if cwd and root:
        cwd = '/%s/%s' % (root.strip('/'), cwd.strip('/'))

    logger.i('runbash: %s %s' % (cmd, ' '.join(argv)))
    res = subprocess.Popen([cmd] + argv,
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE,
                           preexec_fn=chroot,
                           cwd=cwd,
                           close_fds=True,
                           env=env)
    res.wait()
    cmd_res['out'] = res.stdout.readlines()
    cmd_res['err'] = res.stderr.readlines()
    cmd_res['ret'] = res.returncode
    return cmd_res
Beispiel #2
0
def run_bash(cmd, argv=[], root=None, env=None, cwd=None):
    import subprocess
    def chroot():
        if root:
            os.chroot(root)
    env = env and env or os.environ
    cmd_res = {}
    if cwd and root:
        cwd = '/%s/%s' % (root.strip('/'), cwd.strip('/'))
        
    logger.i('runbash: %s %s' % (cmd, ' '.join(argv)))
    res = subprocess.Popen([cmd] + argv, 
                            stdout = subprocess.PIPE, 
                            stderr = subprocess.PIPE, 
                            preexec_fn = chroot, cwd = cwd,
                            close_fds = True,
                            env = env)
    res.wait()
    cmd_res['out']=res.stdout.readlines()
    cmd_res['err']=res.stderr.readlines()
    cmd_res['ret']=res.returncode
    return cmd_res
Beispiel #3
0
        ret, msg = get_mnt_dir(devfn)
        if ret:
            mntdir = msg
        else:
            return False, msg
    else:
        #ret, msg = remove_empty_dir(mntdir)
        #if not ret:
        #    return False, msg
        if not os.path.exists(mntdir):
            try:
                os.makedirs(mntdir)
            except OSError, e:
                return False, str(e)

    logger.i("mount_dev: Device = %s Mount = %s Fstype = %s\n" % \
        (devfn, mntdir, fstype))
    if not os.path.exists(mntdir):
        os.makedirs(mntdir)
    if USE_ISYS:
        try:
            isys.mount(fstype, devfn, mntdir, flags)
        except SystemError, e:
            errmsg = "mount_dev: mount failed: %s\n" % str(e)
            logger.e(errmsg)
            return False, errmsg
        else:
            return True, mntdir
    else:
        f_loop = False
        if flags:
            flag_list = flags.split(',')
Beispiel #4
0
        ret, msg = get_mnt_dir(devfn)
        if ret:
            mntdir = msg
        else:
            return False, msg
    else:
        #ret, msg = remove_empty_dir(mntdir)
        #if not ret:
        #    return False, msg
        if not os.path.exists(mntdir):
            try:
                os.makedirs(mntdir)
            except OSError, e:
                return False, str(e)

    logger.i("mount_dev: Device = %s Mount = %s Fstype = %s\n" % \
        (devfn, mntdir, fstype))
    if not os.path.exists(mntdir):
        os.makedirs(mntdir)
    if USE_ISYS:
        try:
            isys.mount(fstype, devfn, mntdir, flags)
        except SystemError, e:
            errmsg = "mount_dev: mount failed: %s\n" % str(e)
            logger.e(errmsg)
            return False, errmsg
        else:
            return True, mntdir
    else:
        f_loop = False
        if flags:
            flag_list = flags.split(',')