示例#1
0
文件: pypy.py 项目: jMyles/braid
def install():
    arch = info.arch()
    if re.match('i?86', arch):
        arch = 'x86'
    pypyURL = pypyURLs.get(arch)
    pypyDir = pypyDirs.get(arch)
    if pypyURL is None or pypyDir is None:
        abort("Can't install pypy on unknown architecture.")

    sudo('/bin/mkdir -p /opt')
    if fails('/usr/bin/id {}'.format('pypy')):
        sudo('/usr/sbin/useradd --home-dir {} --gid bin '
             '-M --system --shell /bin/false '
             'pypy'.format(pypyDir))
    else:
        sudo('/usr/sbin/usermod --home {} pypy'.format(pypyDir))

    with cd('/opt'):

        for url in pypyURL, pipURL:
            sudo('/usr/bin/wget -nc {}'.format(url))
        sudo('/bin/tar xf {}'.format(path.basename(pypyURL)))
        sudo('~pypy/bin/pypy {}'.format(path.join('/opt/', path.basename(pipURL))), pty=False)
        sudo('~pypy/bin/pip install pyopenssl')
        sudo('~pypy/bin/pip install svn+svn://svn.twistedmatrix.com/svn/Twisted/trunk/')
示例#2
0
def createService(username, base='/srv', groups=['service']):
    """
    Create a service user.
    """
    if fails('/usr/bin/id {}'.format(username)):
        if distroFamily() in ['debian', 'fedora']:
            if groups:
                groupOpt = '--group ' + ','.join(groups)
            else:
                groupOpt = ''
            if base is not None:
                baseOpt = '--base-dir {}'.format(base)
            else:
                baseOpt = ''
            sudo('/usr/sbin/useradd {} {} --user-group '
                 '--create-home --system --shell /bin/bash '
                 '{}'.format(baseOpt, groupOpt, username))
        elif distroFamily() == 'freebsd':
            if groups:
                abort("Groups not supported")
            if base:
                abort("Basedir not supported")
            return sudo(
                '/usr/sbin/pw useradd -m -s /usr/local/bin/bash -h - -n {}'.
                format(username))
        else:
            abort('Unknown distro')
示例#3
0
def createService(username, base='/srv', groups=['service']):
    """
    Create a service user.
    """
    if fails('/usr/bin/id {}'.format(username)):
        if distroFamily() in ['debian', 'fedora']:
            if groups:
                groupOpt = '--group ' + ','.join(groups)
            else:
                groupOpt = ''
            if base is not None:
                baseOpt = '--base-dir {}'.format(base)
            else:
                baseOpt = ''
            sudo('/usr/sbin/useradd {} {} --user-group '
                 '--create-home --system --shell /bin/bash '
                 '{}'.format(baseOpt, groupOpt, username))
        elif distroFamily() == 'freebsd':
            if groups:
                abort("Groups not supported")
            if base:
                abort("Basedir not supported")
            return sudo('/usr/sbin/pw useradd -m -s /usr/local/bin/bash -h - -n {}'.format(username))
        else:
            abort('Unknown distro')
示例#4
0
文件: users.py 项目: alex/braid
def createService(username, base='/srv', groups=['service']):
    """
    Create a service user.
    """
    if fails('/usr/bin/id {}'.format(username)):
        if groups:
            groupOpt = '--group ' + ','.join(groups)
        else:
            groupOpt = ''
        if base is not None:
            baseOpt = '--base-dir {}'.format(base)
        else:
            baseOpt = ''
        sudo('/usr/sbin/useradd {} {} --user-group '
             '--create-home --system --shell /bin/bash '
             '{}'.format(baseOpt, groupOpt, username))
示例#5
0
def install():
    arch = info.arch()
    if re.match('i?86', arch):
        arch = 'x86'
    pypyURL = pypyURLs.get(arch).format(version=pypyVersion)
    pypyDir = pypyDirs.get(arch).format(version=pypyVersion)
    if pypyURL is None or pypyDir is None:
        abort("Can't install pypy on unknown architecture.")

    sudo('/bin/mkdir -p /opt')
    if fails('/usr/bin/id {}'.format('pypy')):
        sudo('/usr/sbin/useradd --home-dir {} --gid bin '
             '-M --system --shell /bin/false '
             'pypy'.format(pypyDir))
    else:
        sudo('/usr/sbin/usermod --home {} pypy'.format(pypyDir))

    with cd('/opt'):

        sudo('/usr/bin/wget -nc {}'.format(pypyURL))
        sudo('/bin/tar xf {}'.format(path.basename(pypyURL)))
示例#6
0
文件: pypy.py 项目: graingert/braid
def install():
    arch = info.arch()
    if re.match('i?86', arch):
        arch = 'x86'
    pypyURL = pypyURLs.get(arch).format(version=pypyVersion)
    pypyDir = pypyDirs.get(arch).format(version=pypyVersion)
    if pypyURL is None or pypyDir is None:
        abort("Can't install pypy on unknown architecture.")

    sudo('/bin/mkdir -p /opt')
    if fails('/usr/bin/id {}'.format('pypy')):
        sudo('/usr/sbin/useradd --home-dir {} --gid bin '
             '-M --system --shell /bin/false '
             'pypy'.format(pypyDir))
    else:
        sudo('/usr/sbin/usermod --home {} pypy'.format(pypyDir))

    with cd('/opt'):

        sudo('/usr/bin/wget -nc {}'.format(pypyURL))
        sudo('/bin/tar xf {}'.format(path.basename(pypyURL)))