annotate apt/apt.py @ 320:11d3bcedb9f0

updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
author drewp@bigasterisk.com
date Fri, 08 Nov 2024 23:16:56 -0800
parents apt.py@f17d9925a2aa
children 5b88b38f2471
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
280
5c5c314051c5 updates for pis
drewp@bigasterisk.com
parents: 278
diff changeset
1 import shlex
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
2
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
3 from pyinfra import host
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
4 from pyinfra.facts.server import Arch
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
5 from pyinfra.operations import apt, files, server
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
6
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
7 TZ = 'America/Los_Angeles'
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
8
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
9
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
10 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
11 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
12 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
13 ('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
14 ]:
247
ff36727f3a10 pkg and host updates
drewp@bigasterisk.com
parents: 240
diff changeset
15 files.download(src=url, dest=f'/usr/share/keyrings/{name}')
203
3fd439ae1380 minor & some upgrades
drewp@bigasterisk.com
parents: 195
diff changeset
16
297
d000aead76d4 add tofu
drewp@bigasterisk.com
parents: 289
diff changeset
17 apt.packages(packages=['curl', 'gpg'])
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
18 server.shell(commands=[
280
5c5c314051c5 updates for pis
drewp@bigasterisk.com
parents: 278
diff changeset
19 f"curl -fsSL {shlex.quote(url)} | gpg --dearmor > /etc/apt/keyrings/{name}" for (url, name) in [
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
20 ('https://packages.microsoft.com/keys/microsoft.asc', 'ms.gpg'),
240
b58f05be720a updates for new ubuntu 23.10 install
drewp@bigasterisk.com
parents: 235
diff changeset
21 ('https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key', 'nodesource.gpg'),
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
22 ('https://dl.google.com/linux/linux_signing_key.pub', 'chrome.gpg'),
195
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
23 ('https://ftp-master.debian.org/keys/archive-key-11.asc', 'bullseye.gpg'),
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
24 ('https://ftp-master.debian.org/keys/archive-key-11-security.asc', 'bullseye-security.gpg'),
209
5b7cd39e6504 add coral driver
drewp@bigasterisk.com
parents: 203
diff changeset
25 ('https://packages.cloud.google.com/apt/doc/apt-key.gpg', 'coral.gpg'),
249
5c10b1e8d0e1 add unity key
drewp@bigasterisk.com
parents: 247
diff changeset
26 ('https://hub.unity3d.com/linux/keys/public', 'unityhub.gpg'),
254
11b738d4c4ae work on k8s/nvidia setup
drewp@bigasterisk.com
parents: 249
diff changeset
27 ('https://nvidia.github.io/libnvidia-container/gpgkey', 'nvidia.gpg'),
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
28 ]
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
29 ])
195
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
30
211
drewp@bigasterisk.com
parents: 209
diff changeset
31 # also these
drewp@bigasterisk.com
parents: 209
diff changeset
32 #-rw-r--r-- 1 root root 2794 Mar 26 2021 /etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
drewp@bigasterisk.com
parents: 209
diff changeset
33 #-rw-r--r-- 1 root root 1733 Mar 26 2021 /etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
34
280
5c5c314051c5 updates for pis
drewp@bigasterisk.com
parents: 278
diff changeset
35 # raspi needs wget http://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -
195
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
36
249
5c10b1e8d0e1 add unity key
drewp@bigasterisk.com
parents: 247
diff changeset
37
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
38 def arch386():
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
39 server.shell(commands=['dpkg --add-architecture i386'])
195
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
40
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
41
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
42 def old_deleteme_apt_sources():
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
43 files.template(src='apt/templates/sources.list.j2', dest='/etc/apt/sources.list')
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
44 apt_update()
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
45
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
46
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
47 def apt_update():
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
48 apt.packages(update=True,
187
466108f0a509 redo pkg keys and future podman 4.3.1 version
drewp@bigasterisk.com
parents: 178
diff changeset
49 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
50 packages=['tzdata'],
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
51 force=True,
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
52 _env={
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
53 'TZ': TZ,
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
54 '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
55 'DEBIAN_FRONTEND': 'noninteractive'
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
56 })
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
57
188
087b84e68765 comment
drewp@bigasterisk.com
parents: 187
diff changeset
58 # squib 1st setup seemed to need more updates for node(nodesource)
087b84e68765 comment
drewp@bigasterisk.com
parents: 187
diff changeset
59 # and steam-launcher
178
6ec7cd3615f0 another try at apt.key, but it doesn't completely work because prime
drewp@bigasterisk.com
parents: 155
diff changeset
60
283
drewp@bigasterisk.com
parents: 282
diff changeset
61
271
drewp@bigasterisk.com
parents: 254
diff changeset
62 def flatpak_sources():
286
73ec5064da44 k3s pkgs for longhorn
drewp@bigasterisk.com
parents: 283
diff changeset
63 apt.packages(update=True, cache_time=86400, packages=['flatpak'])
288
drewp@bigasterisk.com
parents: 286
diff changeset
64 server.shell(commands='flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo')
195
ee6374edfc06 pkgs and signatures
drewp@bigasterisk.com
parents: 188
diff changeset
65
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
66
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
67 if host.get_fact(Arch) == 'x86_64':
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
68 arch386()
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
69
155
522f26c8f691 split apt.py from system.py
drewp@bigasterisk.com
parents:
diff changeset
70 pkg_keys()
320
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
71 using_new_sources = ['tofu']
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
72 if host.name in using_new_sources:
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
73 # todo: rm /etc/apt/sources.list.d/*.list
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
74 files.template(src='apt/templates/ubuntu.sources.j2', dest='/etc/apt/sources.list.d/ubuntu.sources')
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
75 files.template(src='apt/templates/more.sources.j2', dest='/etc/apt/sources.list.d/more.sources')
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
76 apt_update()
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
77 else:
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
78 old_deleteme_apt_sources()
11d3bcedb9f0 updates for tofu rebuild; some dead code; start moving tasks into subdirs with their files and templates
drewp@bigasterisk.com
parents: 309
diff changeset
79
282
e10ee3ddadcf pi changes
drewp@bigasterisk.com
parents: 280
diff changeset
80 flatpak_sources()