Your message dated Sun, 21 Mar 2021 14:10:04 +0100 with message-id <[email protected]> and subject line Re: Bug#984925: pre-approval: updating python-networkmanager to 2.2 (bugfix release) in bullseye has caused the Debian Bug report #984925, regarding pre-approval: updating python-networkmanager to 2.2 (bugfix release) in bullseye to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 984925: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984925 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: release.debian.org Severity: normal Hello release-team, I'm asking for a pre-approval for updating python-networkmanager to a new upstream release in bullseye. In my own opinion it seems new version basically seems to consist 100% of crasher fixes so trying to backport targeted fixes seems pointless. (In other words, newly added constants for new features in bullseye version of NM to avoid crashing when getting that kind of data from NM, plus fix for #934743, plus whatever the 'address-data' + 'route-data' settings stuff does). In my opinion the current state is pretty useless since simple operations like enumerating devices causes a crash, but at the same time the ONE and only reverse dependency in bullseye (comitup) looks to be actively maintained so presumably that one atleast works (OTOH with a popcon of around 8 I don't have high confidence that users would have reported a bug if it didn't). If you think this (is ok to upload to unstable and) has a chance to get unblocked, I'll get right on it (with the first step being filing the bug report on python3-networkmanager with RC severity). # git diff 2.1..2.2 | filterdiff -i '*.py' -x '*/.github/*' -x '*/ci/*' -x '*/setup.py' -x '*/docs/*' diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..7a1361e diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 0000000..4e1ef42 diff --git a/NetworkManager.py b/NetworkManager.py index 3d137fe..e66beba 100644 --- a/NetworkManager.py +++ b/NetworkManager.py @@ -1,7 +1,7 @@ # NetworkManager - a library to make interacting with the NetworkManager daemon # easier. # -# (C)2011-2017 Dennis Kaarsemaker +# (C)2011-2021 Dennis Kaarsemaker # License: zlib import copy @@ -258,7 +258,7 @@ class NMDbusInterface(object): @property def proxy(self): if not self._proxy: - self._proxy = dbus.SystemBus().get_object(self.dbus_service, self.object_path) + self._proxy = dbus.SystemBus().get_object(self.dbus_service, self.object_path, follow_name_owner_changes=True) self._proxy.created = time.time() elif self._proxy.created < self.last_disconnect: if self.is_transient: @@ -389,7 +389,12 @@ def device_class(typ): NM_DEVICE_TYPE_PPP: PPP, NM_DEVICE_TYPE_OVS_INTERFACE: OvsIf, NM_DEVICE_TYPE_OVS_PORT: OvsPort, - NM_DEVICE_TYPE_OVS_BRIDGE: OvsBridge + NM_DEVICE_TYPE_OVS_BRIDGE: OvsBridge, + NM_DEVICE_TYPE_WPAN: Wpan, + NM_DEVICE_TYPE_6LOWPAN: SixLoWpan, + NM_DEVICE_TYPE_WIREGUARD: WireGuard, + NM_DEVICE_TYPE_VRF: Vrf, + NM_DEVICE_TYPE_WIFI_P2P: WifiP2p, }[typ] class Adsl(Device): pass @@ -416,6 +421,11 @@ class PPP(Device): pass class OvsIf(Device): pass class OvsPort(Device): pass class OvsBridge(Device): pass +class Wpan(Device): pass +class SixLoWpan(Device): pass +class WireGuard(Device): pass +class WifiP2p(Device): pass +class Vrf(Device): pass class NSP(TransientNMDbusInterface): interface_names = ['org.freedesktop.NetworkManager.Wimax.NSP'] @@ -504,6 +514,12 @@ class fixups(object): settings['ipv4']['address-data'] = dbus.Array( settings['ipv4']['address-data'], signature=dbus.Signature('a{sv}')) + if 'route-data' in settings['ipv4']: + for item in settings['ipv4']['route-data']: + item['prefix'] = dbus.UInt32(item['prefix']) + settings['ipv4']['route-data'] = dbus.Array( + settings['ipv4']['route-data'], + signature=dbus.Signature('a{sv}')) if 'addresses' in settings['ipv4']: settings['ipv4']['addresses'] = [fixups.addrconf_to_dbus(addr,socket.AF_INET) for addr in settings['ipv4']['addresses']] if 'routes' in settings['ipv4']: @@ -511,6 +527,18 @@ class fixups(object): if 'dns' in settings['ipv4']: settings['ipv4']['dns'] = [fixups.addr_to_dbus(addr,socket.AF_INET) for addr in settings['ipv4']['dns']] if 'ipv6' in settings: + if 'address-data' in settings['ipv6']: + for item in settings['ipv6']['address-data']: + item['prefix'] = dbus.UInt32(item['prefix']) + settings['ipv6']['address-data'] = dbus.Array( + settings['ipv6']['address-data'], + signature=dbus.Signature('a{sv}')) + if 'route-data' in settings['ipv6']: + for item in settings['ipv6']['route-data']: + item['prefix'] = dbus.UInt32(item['prefix']) + settings['ipv6']['route-data'] = dbus.Array( + settings['ipv6']['route-data'], + signature=dbus.Signature('a{sv}')) if 'addresses' in settings['ipv6']: settings['ipv6']['addresses'] = [fixups.addrconf_to_dbus(addr,socket.AF_INET6) for addr in settings['ipv6']['addresses']] if 'routes' in settings['ipv6']: @@ -740,6 +768,7 @@ del xml_cache # Constants below are generated with makeconstants.py. Do not edit manually. NM_CAPABILITY_TEAM = 1 +NM_CAPABILITY_OVS = 2 NM_STATE_UNKNOWN = 0 NM_STATE_ASLEEP = 10 NM_STATE_DISCONNECTED = 20 @@ -780,6 +809,11 @@ NM_DEVICE_TYPE_PPP = 23 NM_DEVICE_TYPE_OVS_INTERFACE = 24 NM_DEVICE_TYPE_OVS_PORT = 25 NM_DEVICE_TYPE_OVS_BRIDGE = 26 +NM_DEVICE_TYPE_WPAN = 27 +NM_DEVICE_TYPE_6LOWPAN = 28 +NM_DEVICE_TYPE_WIREGUARD = 29 +NM_DEVICE_TYPE_WIFI_P2P = 30 +NM_DEVICE_TYPE_VRF = 31 NM_DEVICE_CAP_NONE = 0 NM_DEVICE_CAP_NM_SUPPORTED = 1 NM_DEVICE_CAP_CARRIER_DETECT = 2 @@ -797,6 +831,8 @@ NM_WIFI_DEVICE_CAP_ADHOC = 128 NM_WIFI_DEVICE_CAP_FREQ_VALID = 256 NM_WIFI_DEVICE_CAP_FREQ_2GHZ = 512 NM_WIFI_DEVICE_CAP_FREQ_5GHZ = 1024 +NM_WIFI_DEVICE_CAP_MESH = 4096 +NM_WIFI_DEVICE_CAP_IBSS_RSN = 8192 NM_802_11_AP_FLAGS_NONE = 0 NM_802_11_AP_FLAGS_PRIVACY = 1 NM_802_11_AP_FLAGS_WPS = 2 @@ -813,10 +849,14 @@ NM_802_11_AP_SEC_GROUP_TKIP = 64 NM_802_11_AP_SEC_GROUP_CCMP = 128 NM_802_11_AP_SEC_KEY_MGMT_PSK = 256 NM_802_11_AP_SEC_KEY_MGMT_802_1X = 512 +NM_802_11_AP_SEC_KEY_MGMT_SAE = 1024 +NM_802_11_AP_SEC_KEY_MGMT_OWE = 2048 +NM_802_11_AP_SEC_KEY_MGMT_OWE_TM = 4096 NM_802_11_MODE_UNKNOWN = 0 NM_802_11_MODE_ADHOC = 1 NM_802_11_MODE_INFRA = 2 NM_802_11_MODE_AP = 3 +NM_802_11_MODE_MESH = 4 NM_BT_CAPABILITY_NONE = 0 NM_BT_CAPABILITY_DUN = 1 NM_BT_CAPABILITY_NAP = 2 @@ -908,11 +948,17 @@ NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED = 62 NM_DEVICE_STATE_REASON_OVSDB_FAILED = 63 NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE = 64 NM_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED = 65 +NM_DEVICE_STATE_REASON_SRIOV_CONFIGURATION_FAILED = 66 +NM_DEVICE_STATE_REASON_PEER_NOT_FOUND = 67 NM_METERED_UNKNOWN = 0 NM_METERED_YES = 1 NM_METERED_NO = 2 NM_METERED_GUESS_YES = 3 NM_METERED_GUESS_NO = 4 +NM_CONNECTION_MULTI_CONNECT_DEFAULT = 0 +NM_CONNECTION_MULTI_CONNECT_SINGLE = 1 +NM_CONNECTION_MULTI_CONNECT_MANUAL_MULTIPLE = 2 +NM_CONNECTION_MULTI_CONNECT_MULTIPLE = 3 NM_ACTIVE_CONNECTION_STATE_UNKNOWN = 0 NM_ACTIVE_CONNECTION_STATE_ACTIVATING = 1 NM_ACTIVE_CONNECTION_STATE_ACTIVATED = 2 @@ -950,14 +996,22 @@ NM_IP_TUNNEL_MODE_IP6IP6 = 6 NM_IP_TUNNEL_MODE_IPIP6 = 7 NM_IP_TUNNEL_MODE_IP6GRE = 8 NM_IP_TUNNEL_MODE_VTI6 = 9 +NM_IP_TUNNEL_MODE_GRETAP = 10 +NM_IP_TUNNEL_MODE_IP6GRETAP = 11 NM_CHECKPOINT_CREATE_FLAG_NONE = 0 NM_CHECKPOINT_CREATE_FLAG_DESTROY_ALL = 1 NM_CHECKPOINT_CREATE_FLAG_DELETE_NEW_CONNECTIONS = 2 NM_CHECKPOINT_CREATE_FLAG_DISCONNECT_NEW_DEVICES = 4 +NM_CHECKPOINT_CREATE_FLAG_ALLOW_OVERLAPPING = 8 NM_ROLLBACK_RESULT_OK = 0 NM_ROLLBACK_RESULT_ERR_NO_DEVICE = 1 NM_ROLLBACK_RESULT_ERR_DEVICE_UNMANAGED = 2 NM_ROLLBACK_RESULT_ERR_FAILED = 3 +NM_SETTINGS_CONNECTION_FLAG_NONE = 0 +NM_SETTINGS_CONNECTION_FLAG_UNSAVED = 1 +NM_SETTINGS_CONNECTION_FLAG_NM_GENERATED = 2 +NM_SETTINGS_CONNECTION_FLAG_VOLATILE = 4 +NM_SETTINGS_CONNECTION_FLAG_EXTERNAL = 8 NM_ACTIVATION_STATE_FLAG_NONE = 0 NM_ACTIVATION_STATE_FLAG_IS_MASTER = 1 NM_ACTIVATION_STATE_FLAG_IS_SLAVE = 2 @@ -965,6 +1019,12 @@ NM_ACTIVATION_STATE_FLAG_LAYER2_READY = 4 NM_ACTIVATION_STATE_FLAG_IP4_READY = 8 NM_ACTIVATION_STATE_FLAG_IP6_READY = 16 NM_ACTIVATION_STATE_FLAG_MASTER_HAS_SLAVES = 32 +NM_ACTIVATION_STATE_FLAG_LIFETIME_BOUND_TO_PROFILE_VISIBILITY = 64 +NM_ACTIVATION_STATE_FLAG_EXTERNAL = 128 +NM_SETTINGS_ADD_CONNECTION2_FLAG_NONE = 0 +NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK = 1 +NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY = 2 +NM_SETTINGS_ADD_CONNECTION2_FLAG_BLOCK_AUTOCONNECT = 32 NM_SETTINGS_UPDATE2_FLAG_NONE = 0 NM_SETTINGS_UPDATE2_FLAG_TO_DISK = 1 NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY = 2 @@ -972,6 +1032,42 @@ NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_DETACHED = 4 NM_SETTINGS_UPDATE2_FLAG_IN_MEMORY_ONLY = 8 NM_SETTINGS_UPDATE2_FLAG_VOLATILE = 16 NM_SETTINGS_UPDATE2_FLAG_BLOCK_AUTOCONNECT = 32 +NM_SETTINGS_UPDATE2_FLAG_NO_REAPPLY = 64 +NM_TERNARY_DEFAULT = -1 +NM_TERNARY_FALSE = 0 +NM_TERNARY_TRUE = 1 +NM_MANAGER_RELOAD_FLAG_NONE = 0 +NM_MANAGER_RELOAD_FLAG_CONF = 1 +NM_MANAGER_RELOAD_FLAG_DNS_RC = 2 +NM_MANAGER_RELOAD_FLAG_DNS_FULL = 4 +NM_MANAGER_RELOAD_FLAG_ALL = 7 +NM_DEVICE_INTERFACE_FLAG_NONE = 0 +NM_DEVICE_INTERFACE_FLAG_UP = 1 +NM_DEVICE_INTERFACE_FLAG_LOWER_UP = 2 +NM_DEVICE_INTERFACE_FLAG_CARRIER = 65536 +NM_CLIENT_PERMISSION_NONE = 0 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_NETWORK = 1 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIFI = 2 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_WWAN = 3 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_WIMAX = 4 +NM_CLIENT_PERMISSION_SLEEP_WAKE = 5 +NM_CLIENT_PERMISSION_NETWORK_CONTROL = 6 +NM_CLIENT_PERMISSION_WIFI_SHARE_PROTECTED = 7 +NM_CLIENT_PERMISSION_WIFI_SHARE_OPEN = 8 +NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM = 9 +NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN = 10 +NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11 +NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12 +NM_CLIENT_PERMISSION_RELOAD = 13 +NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK = 14 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_STATISTICS = 15 +NM_CLIENT_PERMISSION_ENABLE_DISABLE_CONNECTIVITY_CHECK = 16 +NM_CLIENT_PERMISSION_WIFI_SCAN = 17 +NM_CLIENT_PERMISSION_LAST = 17 +NM_CLIENT_PERMISSION_RESULT_UNKNOWN = 0 +NM_CLIENT_PERMISSION_RESULT_YES = 1 +NM_CLIENT_PERMISSION_RESULT_AUTH = 2 +NM_CLIENT_PERMISSION_RESULT_NO = 3 NM_VPN_SERVICE_STATE_UNKNOWN = 0 NM_VPN_SERVICE_STATE_INIT = 1 NM_VPN_SERVICE_STATE_SHUTDOWN = 2 diff --git a/ci/python-networkmanager.yml b/ci/python-networkmanager.yml new file mode 100644 index 0000000..f806955 Regards, Andreas Henriksson PS. Many thanks for making sure we go into hard-freeze with a reasonable amount of (not -ignore tagged) RC bug reports this time around! Really refreshing to atleast read that you're attempting to shorten the freeze!
--- End Message ---
--- Begin Message ---Hi, A bit of late followup below, but primaliry I'm now closing this bug report as the new version has both been uploaded and even made in into testing/bullseye somehow. (Thanks!) On Thu, Mar 11, 2021 at 05:52:58PM +0100, Paul Gevers wrote: > Control: tags -1 moreinfo > > Hi Andreas, > > On 10-03-2021 11:41, Andreas Henriksson wrote: > > If you think this (is ok to upload to unstable and) has a chance to get > > unblocked, I'll get right on it (with the first step being filing the > > bug report on python3-networkmanager with RC severity). > > The diff you showed looked reasonable (didn't check your filter). I took this part as ok to upload. I'm not quite well and possibly missed that was not your intention (completely missing the moreinfo tagging you did in the same mail, etc) which might have meant you wanted additional info before I proceeded. Oh well... > > The package does contain tests (that aren't run during build). Does it > make sense to run these as autopkgtest? Would that have caught this > issue? Are these superficial tests, or would they actually "really" test > the package. If the latter is the case, if you would add the tests now, > you wouldn't even need to ask for an unblock. I'm not an autopkgtest expert, nor do I really know anything about the upstream testsuite. I presume I'd need to create a test environment with NM running in it to do meaningful tests, which I wouldn't dare to attempt to set up. I'm thus leaving adding tests to whoever pass by here next.... Regards, Andreas Henriksson
--- End Message ---

