diff -Naur NetworkManager-0.9.0/config.h.in NetworkManager-0.9.0-magellan/config.h.in --- NetworkManager-0.9.0/config.h.in 2011-08-23 03:33:48.000000000 +0200 +++ NetworkManager-0.9.0-magellan/config.h.in 2011-08-27 04:04:36.000000000 +0200 @@ -165,6 +165,9 @@ /* Define if you have linexa */ #undef TARGET_LINEXA +/* Define if you have Magellan */ +#undef TARGET_MAGELLAN + /* Define if you have Mandriva */ #undef TARGET_MANDRIVA diff -Naur NetworkManager-0.9.0/configure.ac NetworkManager-0.9.0-magellan/configure.ac --- NetworkManager-0.9.0/configure.ac 2011-08-23 03:33:07.000000000 +0200 +++ NetworkManager-0.9.0-magellan/configure.ac 2011-08-27 04:04:36.000000000 +0200 @@ -106,12 +106,13 @@ dnl AC_C_BIGENDIAN -AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo, mandriva, pardus, linexa or exherbo])) +AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, magellan, debian, arch, slackware, paldo, mandriva, pardus, linexa or exherbo])) if test "z$with_distro" = "z"; then AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat") AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse") AC_CHECK_FILE(/etc/fedora-release,with_distro="redhat") AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo") + AC_CHECK_FILE(/etc/mageversion,with_distro="magellan") AC_CHECK_FILE(/etc/debian_version,with_distro="debian") AC_CHECK_FILE(/etc/arch-release,with_distro="arch") AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware") @@ -131,7 +132,7 @@ exit 1 else case $with_distro in - redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus|linexa|exherbo) ;; + redhat|suse|gentoo|magellan|debian|slackware|arch|paldo|frugalware|mandriva|pardus|linexa|exherbo) ;; *) echo "Your distribution (${with_distro}) is not yet supported! (patches welcome)" exit 1 @@ -154,6 +155,11 @@ AC_DEFINE(TARGET_GENTOO, 1, [Define if you have Gentoo]) fi +AM_CONDITIONAL(TARGET_MAGELLAN, test x"$with_distro" = xmagellan) +if test x"$with_distro" = xmagellan; then + AC_DEFINE(TARGET_MAGELLAN, 1, [Define if you have Magellan]) +fi + AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian) if test x"$with_distro" = xdebian; then AC_DEFINE(TARGET_DEBIAN, 1, [Define if you have Debian]) diff -Naur NetworkManager-0.9.0/src/backends/Makefile.am NetworkManager-0.9.0-magellan/src/backends/Makefile.am --- NetworkManager-0.9.0/src/backends/Makefile.am 2011-07-22 00:46:18.000000000 +0200 +++ NetworkManager-0.9.0-magellan/src/backends/Makefile.am 2011-08-27 04:04:36.000000000 +0200 @@ -24,6 +24,10 @@ libnmbackend_la_SOURCES += NetworkManagerGentoo.c endif +if TARGET_MAGELLAN +libnmbackend_la_SOURCES += NetworkManagerMagellan.c +endif + if TARGET_DEBIAN libnmbackend_la_SOURCES += NetworkManagerDebian.c endif diff -Naur NetworkManager-0.9.0/src/backends/Makefile.in NetworkManager-0.9.0-magellan/src/backends/Makefile.in --- NetworkManager-0.9.0/src/backends/Makefile.in 2011-08-23 03:33:34.000000000 +0200 +++ NetworkManager-0.9.0-magellan/src/backends/Makefile.in 2011-08-27 04:04:36.000000000 +0200 @@ -47,6 +47,7 @@ @TARGET_PARDUS_TRUE@am__append_11 = NetworkManagerPardus.c @TARGET_LINEXA_TRUE@am__append_12 = NetworkManagerLinexa.c @TARGET_EXHERBO_TRUE@am__append_13 = NetworkManagerExherbo.c +@TARGET_MAGELLAN_TRUE@am__append_14 = NetworkManagerMagellan.c subdir = src/backends DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -80,7 +81,7 @@ NetworkManagerArch.c NetworkManagerPaldo.c \ NetworkManagerFrugalware.c NetworkManagerMandriva.c \ NetworkManagerPardus.c NetworkManagerLinexa.c \ - NetworkManagerExherbo.c + NetworkManagerExherbo.c NetworkManagerMagellan.c @TARGET_REDHAT_TRUE@am__objects_1 = \ @TARGET_REDHAT_TRUE@ libnmbackend_la-NetworkManagerRedHat.lo @TARGET_SUSE_TRUE@am__objects_2 = \ @@ -102,11 +103,14 @@ @TARGET_LINEXA_TRUE@ libnmbackend_la-NetworkManagerLinexa.lo @TARGET_EXHERBO_TRUE@am__objects_12 = \ @TARGET_EXHERBO_TRUE@ libnmbackend_la-NetworkManagerExherbo.lo +@TARGET_MAGELLAN_TRUE@am__objects_13 = \ +@TARGET_MAGELLAN_TRUE@ libnmbackend_la-NetworkManagerMagellan.lo am_libnmbackend_la_OBJECTS = libnmbackend_la-NetworkManagerGeneric.lo \ $(am__objects_1) $(am__objects_2) $(am__objects_3) \ $(am__objects_4) $(am__objects_5) $(am__objects_6) \ $(am__objects_7) $(am__objects_8) $(am__objects_9) \ - $(am__objects_10) $(am__objects_11) $(am__objects_12) + $(am__objects_10) $(am__objects_11) $(am__objects_12) \ + $(am__objects_13) libnmbackend_la_OBJECTS = $(am_libnmbackend_la_OBJECTS) AM_V_lt = $(am__v_lt_$(V)) am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) @@ -361,7 +365,7 @@ $(am__append_3) $(am__append_4) $(am__append_5) \ $(am__append_6) $(am__append_7) $(am__append_8) \ $(am__append_10) $(am__append_11) $(am__append_12) \ - $(am__append_13) + $(am__append_13) $(am__append_14) libnmbackend_la_LIBADD = $(am__append_9) \ $(top_builddir)/src/logging/libnm-logging.la $(LIBNL_LIBS) \ $(DBUS_LIBS) $(GLIB_LIBS) @@ -432,6 +436,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerFrugalware.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerGeneric.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerGentoo.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerMagellan.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerLinexa.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerMandriva.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libnmbackend_la-NetworkManagerPaldo.Plo@am__quote@ @@ -499,6 +504,14 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnmbackend_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnmbackend_la-NetworkManagerGentoo.lo `test -f 'NetworkManagerGentoo.c' || echo '$(srcdir)/'`NetworkManagerGentoo.c +libnmbackend_la-NetworkManagerMagellan.lo: NetworkManagerMagellan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnmbackend_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnmbackend_la-NetworkManagerMagellan.lo -MD -MP -MF $(DEPDIR)/libnmbackend_la-NetworkManagerMagellan.Tpo -c -o libnmbackend_la-NetworkManagerMagellan.lo `test -f 'NetworkManagerMagellan.c' || echo '$(srcdir)/'`NetworkManagerMagellan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnmbackend_la-NetworkManagerMagellan.Tpo $(DEPDIR)/libnmbackend_la-NetworkManagerMagellan.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='NetworkManagerMagellan.c' object='libnmbackend_la-NetworkManagerMagellan.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnmbackend_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libnmbackend_la-NetworkManagerMagellan.lo `test -f 'NetworkManagerMagellan.c' || echo '$(srcdir)/'`NetworkManagerMagellan.c + libnmbackend_la-NetworkManagerDebian.lo: NetworkManagerDebian.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libnmbackend_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libnmbackend_la-NetworkManagerDebian.lo -MD -MP -MF $(DEPDIR)/libnmbackend_la-NetworkManagerDebian.Tpo -c -o libnmbackend_la-NetworkManagerDebian.lo `test -f 'NetworkManagerDebian.c' || echo '$(srcdir)/'`NetworkManagerDebian.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnmbackend_la-NetworkManagerDebian.Tpo $(DEPDIR)/libnmbackend_la-NetworkManagerDebian.Plo diff -Naur NetworkManager-0.9.0/src/backends/NetworkManagerMagellan.c NetworkManager-0.9.0-magellan/src/backends/NetworkManagerMagellan.c --- NetworkManager-0.9.0/src/backends/NetworkManagerMagellan.c 1970-01-01 01:00:00.000000000 +0100 +++ NetworkManager-0.9.0-magellan/src/backends/NetworkManagerMagellan.c 2011-08-27 04:10:24.000000000 +0200 @@ -0,0 +1,73 @@ +/* NetworkManager -- Network link manager + * + * Backend implementation for the Magellan Linux distribution http://www.magellan-linux.de + * + * Niels Rogalla + * + * Heavily based on NetworkManagerGentoo.c by Robert Paskowitz + * + * Dan Williams + * Dan Willemsen + * Robert Paskowitz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * (C) Copyright 2004 Red Hat, Inc. + * (C) Copyright 2004 Dan Willemsen + * (C) Copyright 2004 Robert Paskowitz + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include +#include + +#include "NetworkManagerGeneric.h" +#include "nm-system.h" +#include "NetworkManagerUtils.h" +#include "nm-logging.h" + +#define BUFFER_SIZE 512 + +/* + * nm_system_enable_loopback + * + * Bring up the loopback interface + * + */ +void nm_system_enable_loopback (void) +{ + nm_generic_enable_loopback (); +} + +/* + * nm_system_update_dns + * + * Make glibc/nscd aware of any changes to the resolv.conf file by + * restarting nscd. Only restart if already running. + * + */ +void nm_system_update_dns (void) +{ + if (g_file_test ("/usr/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) { + nm_log_info (LOGD_DNS, "Clearing nscd hosts cache."); + nm_spawn_process ("/usr/sbin/nscd -i hosts"); + } +} + diff -Naur NetworkManager-0.9.0/src/dhcp-manager/nm-dhcp-dhclient.c NetworkManager-0.9.0-magellan/src/dhcp-manager/nm-dhcp-dhclient.c --- NetworkManager-0.9.0/src/dhcp-manager/nm-dhcp-dhclient.c 2011-08-23 01:16:06.000000000 +0200 +++ NetworkManager-0.9.0-magellan/src/dhcp-manager/nm-dhcp-dhclient.c 2011-08-27 04:04:36.000000000 +0200 @@ -357,7 +357,7 @@ #if defined(TARGET_SUSE) orig = g_strdup (SYSCONFDIR "/dhclient.conf"); -#elif defined(TARGET_DEBIAN) || defined(TARGET_GENTOO) +#elif defined(TARGET_DEBIAN) || defined(TARGET_GENTOO) || defined(TARGET_MAGELLAN) #if defined(DHCLIENT_V3) orig = g_strdup (SYSCONFDIR "/dhcp3/dhclient.conf"); #else @@ -372,7 +372,7 @@ return NULL; } -#if !defined(TARGET_SUSE) && !defined(TARGET_DEBIAN) && !defined(TARGET_GENTOO) +#if !defined(TARGET_SUSE) && !defined(TARGET_DEBIAN) && !defined(TARGET_GENTOO) && !defined(TARGET_MAGELLAN) /* Try /etc/dhcp/ too (rh #607759) */ if (!g_file_test (orig, G_FILE_TEST_EXISTS)) { g_free (orig);