about summary refs log tree commit diff
path: root/debian
diff options
context:
space:
mode:
authorJeremy Bicha <jeremy.bicha@canonical.com>2022-02-03 16:10:12 -0500
committerJeremy Bicha <jeremy.bicha@canonical.com>2022-02-03 16:10:12 -0500
commit93d69c6f947e6c4187020633fd1c785e4f4ba437 (patch)
tree0881822a528c93e6f024c4886fe45c669b454af0 /debian
parent09414254b49c8b8c4a9332182e8fd60a5555b6b5 (diff)
Revert "Try removing ubuntu_revert_systemd.patch"
This reverts commit 0dc25ff1e0969a08a115f29ffaccc554f222192d.
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/ubuntu_revert_systemd.patch52
2 files changed, 53 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series
index c2344eb9..3be90f06 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ Force-online-state-with-unmanaged-devices.patch
 # Ubuntu patches
 Provide-access-to-some-of-NM-s-interfaces-to-whoopsie.patch
 Update-dnsmasq-parameters.patch
+ubuntu_revert_systemd.patch
diff --git a/debian/patches/ubuntu_revert_systemd.patch b/debian/patches/ubuntu_revert_systemd.patch
new file mode 100644
index 00000000..9b1b1e78
--- /dev/null
+++ b/debian/patches/ubuntu_revert_systemd.patch
@@ -0,0 +1,52 @@
+Description: temporarly revert an upstream commit that made udev enabled under lxc
+the new systemd doesn't work there (lp: #1914062)
+
+
+Index: network-manager/src/libnm-platform/nm-linux-platform.c
+===================================================================
+--- network-manager.orig/src/libnm-platform/nm-linux-platform.c
++++ network-manager/src/libnm-platform/nm-linux-platform.c
+@@ -29,7 +29,6 @@
+ #include <poll.h>
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+-#include <sys/statvfs.h>
+ #include <unistd.h>
+ 
+ #include "libnm-glib-aux/nm-c-list.h"
+@@ -9525,34 +9524,12 @@ constructed(GObject *_object)
+     }
+ }
+ 
+-/* Similar to systemd's path_is_read_only_fs(), at
+- * https://github.com/systemd/systemd/blob/v246/src/basic/stat-util.c#L132 */
+-static int
+-path_is_read_only_fs(const char *path)
+-{
+-    struct statvfs st;
+-
+-    if (statvfs(path, &st) < 0)
+-        return -errno;
+-
+-    if (st.f_flag & ST_RDONLY)
+-        return TRUE;
+-
+-    /* On NFS, statvfs() might not reflect whether we can actually
+-     * write to the remote share. Let's try again with
+-     * access(W_OK) which is more reliable, at least sometimes. */
+-    if (access(path, W_OK) < 0 && errno == EROFS)
+-        return TRUE;
+-
+-    return FALSE;
+-}
+-
+ NMPlatform *
+ nm_linux_platform_new(gboolean log_with_ptr, gboolean netns_support)
+ {
+     gboolean use_udev = FALSE;
+ 
+-    if (nmp_netns_is_initial() && path_is_read_only_fs("/sys") == FALSE)
++    if (nmp_netns_is_initial() && access("/sys", W_OK) == 0)
+         use_udev = TRUE;
+ 
+     return g_object_new(NM_TYPE_LINUX_PLATFORM,