122
137
def add_source(source, key=None):
123
142
if (source.startswith('ppa:') or
125
144
source.startswith('deb ') or
127
146
subprocess.check_call(['add-apt-repository', '--yes', source])
128
147
elif source.startswith('cloud:'):
129
148
apt_install(filter_installed_packages(['ubuntu-cloud-keyring']),
131
150
pocket = source.split(':')[-1]
132
151
if pocket not in CLOUD_ARCHIVE_POCKETS:
134
155
actual_pocket = CLOUD_ARCHIVE_POCKETS[pocket]
135
156
with open('/etc/apt/sources.list.d/cloud-archive.list', 'w') as apt:
136
157
apt.write(CLOUD_ARCHIVE.format(actual_pocket))