Description: Add support for Netplan backends Ubuntu switched to using Netplan as a backend for Network Manager. Add support for those configs Author: Simon Quigley Origin: vendor Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/calamares/+bug/2036999 Last-Update: 2023-10-08 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/src/modules/networkcfg/main.py +++ b/src/modules/networkcfg/main.py @@ -14,6 +14,7 @@ # import os +import glob import shutil import libcalamares @@ -131,6 +132,21 @@ def run(): except FileExistsError: pass + # Also install netplan files + source_netplan = "/etc/netplan" + root_mount_point = libcalamares.globalstorage.value("rootMountPoint") + target_netplan = os.path.join(root_mount_point, source_netplan.lstrip('/')) + + if os.path.exists(source_netplan) and os.path.exists(target_netplan): + for cfg in glob.glob(os.path.join(source_netplan, "90-NM-*")): + source_cfg = os.path.join(source_netplan, cfg) + target_cfg = os.path.join(target_netplan, os.path.basename(cfg)) + + if os.path.exists(target_cfg): + continue + + shutil.copy(source_cfg, target_cfg) + # We need to overwrite the default resolv.conf in the chroot. source_resolv, target_resolv = path_pair(root_mount_point, "etc/resolv.conf") if source_resolv != target_resolv and os.path.exists(source_resolv):