I'd suggest going with something like this in Jammy, to make sure
netplan.io, python3-netplan and libnetplan1 are upgraded prior to
network-manager triggering the Netplan integration, calling "netplan
generate".

```diff
diff --git a/debian/control b/debian/control
index a82f4c0c..25651a34 100644
--- a/debian/control
+++ b/debian/control
@@ -10,6 +10,7 @@ Standards-Version: 4.6.2
 Rules-Requires-Root: no
 Build-Depends:
  debhelper-compat (= 13),
+ dh-python,
  pkg-config,
  bash-completion,
  libyaml-dev,
@@ -54,7 +55,8 @@ Depends:
  systemd (>= 248~),
 Suggests: python3-rich
 Conflicts: netplan
-Breaks: nplan (<< 0.34~)
+Breaks: nplan (<< 0.34~),
+  network-manager (>= 1.46~),
 Replaces: nplan (<< 0.34~)
 Provides: nplan
 Description: YAML network configuration abstraction for various backends
@@ -97,12 +99,13 @@ Section: python
 Architecture: linux-any
 Multi-Arch: foreign
 Depends:
+ ${python3:Depends},
  ${shlibs:Depends},
  ${misc:Depends},
  libnetplan0 (= ${binary:Version}),
- python3,
  python3-cffi-backend,
-Breaks: netplan.io (<< 0.107-3~)
+Breaks: netplan.io (<< 0.107-3~),
+ netplan.io (>= 1.0~),
 Replaces: netplan.io (<< 0.107-3~)
 Description: YAML network configuration abstraction Python bindings
  netplan reads YAML network configuration files which are written
diff --git a/debian/rules b/debian/rules
index 059693b2..64736568 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 %:
-   dh $@ --buildsystem=meson
+   dh $@ --buildsystem=meson --with=python3
 
 override_dh_auto_clean:
    dh_auto_clean
```

Here's a full apt upgrade log for a Ubuntu Jammy Desktop system (VM) to
Noble, using this patch:

https://dpaste.org/P6OgS

Especially in the "Setting up ..." section we can see the expected
ordering:

Setting up libnetplan1:amd64 (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan-generator (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up python3-netplan (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up netplan.io (1.0.1-1ubuntu2~24.04.1) ...
[...]
Setting up network-manager (1.46.0-1ubuntu2) ...
Removing obsolete conffile /etc/NetworkManager/dispatcher.d/01-ifupdown ...
Migrating my-test-con (3d113709-ec0b-3589-a97c-39e6db8febb2) to /etc/netplan

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/2033259

Title:
  netplan.script crashed with AttributeError in __getitem__():
  /usr/bin/python3: undefined symbol: netplan_get_id_from_nm_filename

Status in netplan.io package in Ubuntu:
  Confirmed
Status in network-manager package in Ubuntu:
  Fix Released
Status in netplan.io source package in Jammy:
  New
Status in network-manager source package in Jammy:
  New
Status in netplan.io source package in Noble:
  Triaged
Status in network-manager source package in Noble:
  Confirmed
Status in netplan.io source package in Oracular:
  Confirmed
Status in network-manager source package in Oracular:
  Fix Released

Bug description:
  ubuntu desktop (mantic) live test on dell optiplex 780
  - dell [optiplex] 780 (c2q-q9400, 8gb, amd/ati cedar radeon hd 
5000/6000/7350/8350)

  exploring the /var/crash/ directory I noticed this report; nothing had
  appeared on screen, so just filed it with `ubuntu-bug`.

  ProblemType: Crash
  DistroRelease: Ubuntu 23.10
  Package: netplan.io 0.106.1-8
  Uname: Linux 6.3.0-7-generic x86_64
  Architecture: amd64
  Date: Mon Aug 28 08:12:32 2023
  ExecutablePath: /usr/share/netplan/netplan.script
  ExecutableTimestamp: 1684343476
  InterpreterPath: /usr/bin/python3.11
  ProcCmdline: /usr/bin/python3 /usr/sbin/netplan generate
  ProcCwd: /
  ProcEnviron:
   LANG=en_US.UTF-8
   PATH=(custom, no user)
  PythonArgs: ['/usr/sbin/netplan', 'generate']
  SourcePackage: netplan.io
  UserGroups: N/A

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2033259/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to