You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calamares-packaging/debian/patches/netplan-networking.patch

41 lines
1.5 KiB

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 <tsimonq2@lubuntu.me>
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):