112 lines
2.3 KiB
Python
112 lines
2.3 KiB
Python
from bundlewrap.exceptions import BundleError
|
|
|
|
if not node.os == 'arch':
|
|
raise BundleError(f'{node.name}: bundle:pacman requires arch linux')
|
|
|
|
files = {
|
|
'/etc/pacman.conf': {
|
|
'content_type': 'mako',
|
|
},
|
|
'/etc/upgrade-and-reboot.conf': {
|
|
'content_type': 'mako',
|
|
},
|
|
'/etc/security/faillock.conf': {},
|
|
'/usr/local/sbin/upgrade-and-reboot': {
|
|
'mode': '0700',
|
|
},
|
|
'/usr/local/sbin/do-unattended-upgrades': {
|
|
'content_type': 'mako',
|
|
'mode': '0700',
|
|
'context': {
|
|
'restart_triggers': node.metadata.get('pacman/restart_triggers', {}),
|
|
}
|
|
},
|
|
'/usr/local/share/icinga/plugins/check_unattended_upgrades': {
|
|
'mode': '0755',
|
|
},
|
|
}
|
|
|
|
svc_systemd['paccache.timer'] = {
|
|
'needs': {
|
|
'pkg_pacman:pacman-contrib',
|
|
},
|
|
}
|
|
|
|
pkg_pacman = {
|
|
'at': {},
|
|
'autoconf': {},
|
|
'automake': {},
|
|
'binutils': {},
|
|
'bison': {},
|
|
'bzip2': {},
|
|
'curl': {},
|
|
'dialog': {},
|
|
'diffutils': {},
|
|
'dnsutils': {},
|
|
'fakeroot': {},
|
|
'file': {},
|
|
'findutils': {},
|
|
'flex': {},
|
|
'fwupd': {},
|
|
'gawk': {},
|
|
'gcc': {},
|
|
'gettext': {},
|
|
'git': {},
|
|
'gnu-netcat': {},
|
|
'grep': {},
|
|
'groff': {},
|
|
'gzip': {},
|
|
'htop': {},
|
|
'ldns': {},
|
|
'less': {},
|
|
'libtool': {},
|
|
'logrotate': {},
|
|
'lsof': {},
|
|
'm4': {},
|
|
'mailutils': {},
|
|
'make': {},
|
|
'man-db': {},
|
|
'man-pages': {},
|
|
'moreutils': {},
|
|
'mtr': {},
|
|
'ncdu': {},
|
|
'nmap': {},
|
|
'pacman-contrib': {},
|
|
'patch': {},
|
|
'pkgconf': {},
|
|
'python': {},
|
|
'python-setuptools': {
|
|
'needed_by': {
|
|
'pkg_pip:',
|
|
},
|
|
},
|
|
'python-pip': {
|
|
'needed_by': {
|
|
'pkg_pip:',
|
|
},
|
|
},
|
|
'python-virtualenv': {},
|
|
'rsync': {},
|
|
'run-parts': {},
|
|
'sed': {},
|
|
'tar': {},
|
|
'texinfo': {},
|
|
'tmux': {},
|
|
'tree': {},
|
|
'unzip': {},
|
|
'vim': {},
|
|
'wget': {},
|
|
'which': {},
|
|
'whois': {},
|
|
'zip': {},
|
|
}
|
|
|
|
if node.metadata.get('pacman/linux-lts', False):
|
|
pkg_pacman['linux-lts'] = {}
|
|
pkg_pacman['acpi_call-lts'] = {}
|
|
else:
|
|
pkg_pacman['linux'] = {}
|
|
pkg_pacman['acpi_call'] = {}
|
|
|
|
for pkg, config in node.metadata.get('pacman/packages', {}).items():
|
|
pkg_pacman[pkg] = config
|