diff options
| author | Simon McVittie <smcv@debian.org> | 2008-09-30 17:21:44 +0000 |
|---|---|---|
| committer | Simon McVittie <smcv@debian.org> | 2008-09-30 17:21:44 +0000 |
| commit | f92919a8880a68c40f5a38333e47a843099d6161 (patch) | |
| tree | 827cf2db5972e09ea0c996bcb47e70235c17bd59 /debian | |
| parent | 0375f3ff8c5df4dc87e61cbe7ea8f284eac6f531 (diff) | |
* Newer tarball
* debian/patches/03-run-resolvconf.patch: Use (and depend on) resolvconf git-svn-id: svn+ssh://svn.debian.org/svn/pkg-utopia/packages/experimental/networkmanager@2426 ceb527fc-18e6-0310-9fe2-813c157c29e7
Diffstat (limited to 'debian')
| -rw-r--r-- | debian/changelog | 8 | ||||
| -rw-r--r-- | debian/control | 2 | ||||
| -rw-r--r-- | debian/libnm-glib0.symbols | 1 | ||||
| -rw-r--r-- | debian/patches/03-run-resolvconf.patch | 138 | ||||
| -rw-r--r-- | debian/patches/series | 1 |
5 files changed, 146 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog index 185658f9..4b5b9c6c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -network-manager (0.7.0~svn4004-1) UNRELEASED; urgency=low +network-manager (0.7.0~svn4035-1) UNRELEASED; urgency=low * SVN snapshot of the upcoming 0.7 release. @@ -27,7 +27,11 @@ network-manager (0.7.0~svn4004-1) UNRELEASED; urgency=low * debian/*.install: Updated * debian/*.symbols: Added - -- Michael Biebl <biebl@debian.org> Fri, 22 Aug 2008 21:53:54 +0200 + [ Simon McVittie ] + * Newer tarball + * debian/patches/03-run-resolvconf.patch: Use (and depend on) resolvconf + + -- Simon McVittie <smcv@debian.org> Thu, 04 Sep 2008 19:29:36 +0100 network-manager (0.6.6-1) unstable; urgency=low diff --git a/debian/control b/debian/control index 56d3a84c..95addae7 100644 --- a/debian/control +++ b/debian/control @@ -14,7 +14,7 @@ Homepage: http://www.gnome.org/projects/NetworkManager/ Package: network-manager Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.2-14), wpasupplicant (>= 0.6.2-1), dbus (>= 1.1.2), hal (>= 0.5.7.1), ifupdown, adduser +Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.2-14), wpasupplicant (>= 0.6.2-1), dbus (>= 1.1.2), hal (>= 0.5.7.1), ifupdown, adduser, resolvconf Recommends: network-manager-gnome | network-manager-kde, policykit Conflicts: network-manager-gnome (<< 0.6.5-1) Suggests: avahi-autoipd diff --git a/debian/libnm-glib0.symbols b/debian/libnm-glib0.symbols index 3865072d..4065a539 100644 --- a/debian/libnm-glib0.symbols +++ b/debian/libnm-glib0.symbols @@ -80,7 +80,6 @@ libnm_glib.so.0 libnm-glib0 #MINVER# nm_dhcp4_config_new@Base 0.7.0~svn3907 nm_exported_connection_delete@Base 0.7.0~svn3712 nm_exported_connection_get_connection@Base 0.7.0~svn3712 - nm_exported_connection_get_id@Base 0.7.0~svn3712 nm_exported_connection_get_type@Base 0.7.0~svn3712 nm_exported_connection_new@Base 0.7.0~svn3712 nm_exported_connection_register_object@Base 0.7.0~svn3712 diff --git a/debian/patches/03-run-resolvconf.patch b/debian/patches/03-run-resolvconf.patch new file mode 100644 index 00000000..d043d191 --- /dev/null +++ b/debian/patches/03-run-resolvconf.patch @@ -0,0 +1,138 @@ +Index: src/named-manager/nm-named-manager.c +=================================================================== +--- NetworkManager/src/named-manager/nm-named-manager.c (revision 4035) ++++ NetworkManager/src/named-manager/nm-named-manager.c (working copy) +@@ -189,6 +178,133 @@ + return TRUE; + } + ++#elif defined(TARGET_DEBIAN) ++ ++static void ++resolvconf_child_setup (gpointer user_data G_GNUC_UNUSED) ++{ ++ pid_t pid = getpid (); ++ setpgid (pid, pid); ++} ++ ++static gint ++run_resolvconf (GError **error) ++{ ++ char *argv[4]; ++ gint stdin_fd; ++ ++ argv[0] = "/sbin/resolvconf"; ++ argv[1] = "-a"; ++ argv[2] = "NetworkManager"; ++ argv[3] = NULL; ++ ++ if (!g_spawn_async_with_pipes (NULL, argv, NULL, 0, resolvconf_child_setup, ++ NULL, NULL, &stdin_fd, NULL, NULL, error)) ++ return -1; ++ ++ return stdin_fd; ++} ++ ++static gboolean ++update_resolv_conf (const char *iface, ++ const char *domain, ++ char **searches, ++ char **nameservers, ++ GError **error) ++{ ++ gint fd; ++ char *domain_str = NULL; ++ char *searches_str = NULL; ++ char *nameservers_str = NULL; ++ FILE *f; ++ ++ fd = run_resolvconf (error); ++ if (fd < 0) ++ return FALSE; ++ ++ if ((f = fdopen (fd, "w")) == NULL) { ++ g_set_error (error, ++ NM_NAMED_MANAGER_ERROR, ++ NM_NAMED_MANAGER_ERROR_SYSTEM, ++ "Could not fdopen pipe to resolvconf: %s\n", ++ g_strerror (errno)); ++ return FALSE; ++ } ++ ++ if (fprintf (f, "%s","# generated by NetworkManager, do not edit!\n\n") < 0) { ++ g_set_error (error, ++ NM_NAMED_MANAGER_ERROR, ++ NM_NAMED_MANAGER_ERROR_SYSTEM, ++ "Could not write to resolvconf: %s\n", ++ g_strerror (errno)); ++ fclose (f); ++ return FALSE; ++ } ++ ++ if (domain) ++ domain_str = g_strconcat ("domain ", domain, "\n\n", NULL); ++ ++ if (searches) { ++ char *tmp_str; ++ ++ tmp_str = g_strjoinv (" ", searches); ++ searches_str = g_strconcat ("search ", tmp_str, "\n\n", NULL); ++ g_free (tmp_str); ++ } ++ ++ if (nameservers) { ++ GString *str; ++ int num; ++ int i; ++ ++ str = g_string_new (""); ++ num = g_strv_length (nameservers); ++ ++ for (i = 0; i < num; i++) { ++ if (i == 3) { ++ g_string_append (str, "\n# "); ++ g_string_append (str, _("NOTE: the glibc resolver does not support more than 3 nameservers.")); ++ g_string_append (str, "\n# "); ++ g_string_append (str, _("The nameservers listed below may not be recognized.")); ++ g_string_append_c (str, '\n'); ++ } ++ ++ g_string_append (str, "nameserver "); ++ g_string_append (str, nameservers[i]); ++ g_string_append_c (str, '\n'); ++ } ++ ++ nameservers_str = g_string_free (str, FALSE); ++ } ++ ++ if (fprintf (f, "%s%s%s\n", ++ domain_str ? domain_str : "", ++ searches_str ? searches_str : "", ++ nameservers_str ? nameservers_str : "") < 0) { ++ g_set_error (error, ++ NM_NAMED_MANAGER_ERROR, ++ NM_NAMED_MANAGER_ERROR_SYSTEM, ++ "Could not write to resolvconf: %s\n", ++ g_strerror (errno)); ++ } ++ ++ g_free (domain_str); ++ g_free (searches_str); ++ g_free (nameservers_str); ++ ++ if (fclose (f) < 0) { ++ if (*error == NULL) { ++ g_set_error (error, ++ NM_NAMED_MANAGER_ERROR, ++ NM_NAMED_MANAGER_ERROR_SYSTEM, ++ "Could not close pipe to resolvconf: %s\n", ++ g_strerror (errno)); ++ } ++ } ++ ++ return *error ? FALSE : TRUE; ++} ++ + #else + /**********************************/ + /* Generic */ diff --git a/debian/patches/series b/debian/patches/series index 5bb8c3f1..bcd2e41b 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 02-dbus_access_network_manager.patch +03-run-resolvconf.patch |