Allow 'frontend' override for apt-get install via fabric

also adds the `apt.add_repository()` function
This commit is contained in:
Lance Edgar 2017-03-02 18:39:33 -08:00
parent ee0c0d4901
commit 9ca913248f

View file

@ -39,10 +39,11 @@ def install(*packages, **kwargs):
"""
Install one or more packages via ``apt-get install``.
"""
frontend = kwargs.get('frontend', 'noninteractive')
target = kwargs.get('target_release')
target = '--target-release={}'.format(target) if target else ''
sudo('DEBIAN_FRONTEND=noninteractive apt-get --assume-yes {} install {}'.format(
target, ' '.join(packages)))
sudo('DEBIAN_FRONTEND={} apt-get --assume-yes {} install {}'.format(
frontend, target, ' '.join(packages)))
def purge(*packages):
@ -59,6 +60,14 @@ def update():
sudo('apt-get update')
def add_repository(repo):
"""
Add a new APT repository
"""
sudo('add-apt-repository --yes {}'.format(repo))
update()
def add_source(entry):
"""
Add a new entry to the apt/sources.list file