bundlewrap/bundles/apt/items.py
mwiegand ab14522e97 wip
2021-06-19 09:04:05 +02:00

50 lines
1.1 KiB
Python

from os.path import join
directories = {
'/etc/apt/sources.list.d': {
'purge': True,
'triggers': {
'action:apt_update',
},
},
}
files = {
'/etc/apt/sources.list': {
'content': '# managed'
},
}
actions = {
'apt_update': {
'command': 'apt-get update',
'needed_by': {
'pkg_apt:',
},
'triggered': True,
'cascade_skip': False,
},
}
for name, content in node.metadata.get('apt/sources').items():
files[f'/etc/apt/sources.list.d/{name}.list'] = {
'content': content.format(
release=node.metadata.get('os_release')
),
'triggers': {
'action:apt_update',
},
}
for key in node.metadata.get('apt/keys'):
files[f'/etc/apt/trusted.gpg.d/{key}'] = {
'source': join(repo.path, 'data', 'apt', 'keys', key),
'content_type': 'binary',
'triggers': {
'action:apt_update',
},
}
for package, options in node.metadata.get('apt/packages', {}).items():
pkg_apt[package] = options