~fginther/charms/precise/ubuntu-ci-services-itself/rabbitmq-worker-lp

« back to all changes in this revision

Viewing changes to hooks/hooks.py

  • Committer: Paul Larson
  • Date: 2014-01-24 21:10:26 UTC
  • Revision ID: paul.larson@canonical.com-20140124211026-5gi40x2q4ig0u9ii
add support for installing pip packages

Show diffs side-by-side

added added

removed removed

Lines of Context:
40
40
    return os.path.join(config['install_root'], _service_name(config))
41
41
 
42
42
 
 
43
def pip_install(package):
 
44
    cmd_line = ['pip', 'install', '-b', '/tmp/']
 
45
    if package.startswith('svn+') or package.startswith('git+') or \
 
46
       package.startswith('hg+') or package.startswith('bzr+'):
 
47
           cmd_line.append('-e')
 
48
    cmd_line.append(package)
 
49
    return(subprocess.call(cmd_line))
 
50
 
 
51
 
43
52
def install(config):
44
53
    pkgs = [x for x in config.get('packages', '').split(' ') if x]
45
54
    pkgs.append('python-amqplib')
 
55
    pkgs.append('python-pip')
46
56
    pkgs.append('bzr')
47
57
 
48
58
    juju_info('installing apt packages...')
49
59
    subprocess.check_call(['apt-get', 'install', '-y', '-q'] + pkgs)
50
60
 
 
61
    pip_pkgs = [x for x in config.get('pip-packages', '').split(' ') if x]
 
62
    if pip_pkgs:
 
63
        juju_info('installing pip packages...')
 
64
        for package in pip_pkgs:
 
65
            pip_install(package.strip())
 
66
 
51
67
    juju_info('grabbing service from bzr...')
52
68
    args = ['bzr', 'branch']
53
69
    rev = config.get('revno', '')