annotate apt.py @ 187:466108f0a509

redo pkg keys and future podman 4.3.1 version
author drewp@bigasterisk.com
date Sat, 15 Apr 2023 00:51:21 -0700
parents 6ec7cd3615f0
children 087b84e68765
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
1 from pyinfra import host
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
2 from pyinfra.facts.files import FindFiles
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
3 from pyinfra.facts.server import Arch, LinuxDistribution
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
4 from pyinfra.operations import apt, files, server
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
5
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
6 TZ = 'America/Los_Angeles'
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
7
178
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
8
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
9 def pkg_keys():
178
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
10 files.directory(path='/etc/apt/keyrings/') # for raspi
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
11 for url, name in [
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
12 ('https://repo.steampowered.com/steam/archive/stable/steam.gpg', 'steam.gpg'),
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
13 ]:
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
14 files.download(src=url, dest=f'/etc/apt/keyrings/{name}')
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
15 server.shell(commands=[
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
16 f"curl -fsSL {url} | gpg --dearmor > /etc/apt/keyrings/{name}" for (url, name) in [
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
17 ('https://packages.microsoft.com/keys/microsoft.asc', 'ms.gpg'),
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
18 ('https://deb.nodesource.com/gpgkey/nodesource.gpg.key', 'nodesource.gpg'),
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
19 ('https://dl.google.com/linux/linux_signing_key.pub', 'chrome.gpg'),
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
20 ]
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
21 ])
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
22
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
23
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
24 def apt_sources():
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
25 if host.get_fact(Arch) == 'x86_64':
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
26 server.shell(commands=['dpkg --add-architecture i386'])
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
27
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
28 files.template(src='templates/sources.list.j2', dest='/etc/apt/sources.list')
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
29 if host.get_fact(FindFiles, '/etc/apt/sources.list.d/', quote_path=True):
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
30 raise SystemExit(f"new files in {host.name} /etc/apt/sources.list.d/ - please remove")
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
31 apt.packages(update=True,
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
32 cache_time=86400,
178
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
33 packages=['tzdata'],
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
34 force=True,
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
35 _env={
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
36 'TZ': TZ,
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
37 'LANG': 'en_US.UTF-8',
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
38 'DEBIAN_FRONTEND': 'noninteractive'
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
39 })
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
40
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
41
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
42 pkg_keys()
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
43 apt_sources()