linexa: add basic Linexa support
This commit is contained in:
12
configure.ac
12
configure.ac
@@ -84,7 +84,7 @@ dnl Make sha1.c happy on big endian systems
|
||||
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 or pardus]))
|
||||
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 or linexa]))
|
||||
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")
|
||||
@@ -96,6 +96,7 @@ if test "z$with_distro" = "z"; then
|
||||
AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
|
||||
AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
|
||||
AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
|
||||
AC_CHECK_FILE(/etc/linexa-release,with_distro="linexa")
|
||||
if test "z$with_distro" = "z"; then
|
||||
with_distro=`lsb_release -is`
|
||||
fi
|
||||
@@ -107,7 +108,7 @@ if test "z$with_distro" = "z"; then
|
||||
exit 1
|
||||
else
|
||||
case $with_distro in
|
||||
redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus) ;;
|
||||
redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus|linexa) ;;
|
||||
*)
|
||||
echo "Your distribution (${with_distro}) is not yet supported! (patches welcome)"
|
||||
exit 1
|
||||
@@ -165,6 +166,11 @@ if test x"$with_distro" = xpardus; then
|
||||
AC_DEFINE(TARGET_PARDUS, 1, [Define if you have Pardus])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(TARGET_LINEXA, test x"$with_distro" = xlinexa)
|
||||
if test x"$with_distro" = xlinexa; then
|
||||
AC_DEFINE(TARGET_LINEXA, 1, [Define if you have linexa])
|
||||
fi
|
||||
|
||||
dnl
|
||||
dnl Distribution version string
|
||||
dnl
|
||||
@@ -543,6 +549,8 @@ initscript/paldo/Makefile
|
||||
initscript/paldo/NetworkManager
|
||||
initscript/Mandriva/Makefile
|
||||
initscript/Mandriva/networkmanager
|
||||
initscript/linexa/Makefile
|
||||
initscript/linexa/networkmanager
|
||||
introspection/Makefile
|
||||
man/Makefile
|
||||
man/NetworkManager.8
|
||||
|
@@ -23,3 +23,6 @@ endif
|
||||
if TARGET_MANDRIVA
|
||||
SUBDIRS += Mandriva
|
||||
endif
|
||||
if TARGET_LINEXA
|
||||
SUBDIRS += linexa
|
||||
endif
|
||||
|
6
initscript/linexa/Makefile.am
Normal file
6
initscript/linexa/Makefile.am
Normal file
@@ -0,0 +1,6 @@
|
||||
EXTRA_DIST = networkmanager
|
||||
DISTCLEANFILES = networkmanager
|
||||
|
||||
initddir = $(sysconfdir)/rc.d/init.d
|
||||
initd_SCRIPTS = networkmanager
|
||||
|
59
initscript/linexa/networkmanager.in
Normal file
59
initscript/linexa/networkmanager.in
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# Start the networkmanager daemon
|
||||
#
|
||||
# Author: Elias <elias@linexa.de>
|
||||
# [2010-08-20]
|
||||
|
||||
# Information about the daemon
|
||||
title="networkmanager" # No spaces allowed in here
|
||||
start_after="dbus" # dependencies for start-up
|
||||
stop_after="xinetd" # dependencies for stop
|
||||
runlevel="2" # start/stop in this runlevel
|
||||
sequence="25" # "checkinstall networkmanager enable"
|
||||
# will create links to:
|
||||
# /etc/rc.d/rc${runlevel}.d/S${sequence}${title}
|
||||
# /etc/rc.d/rc${runlevel}.d/S$((100 - ${sequence}))${title}
|
||||
|
||||
# check whether daemon is running
|
||||
# returns 0 if running, >0 if not
|
||||
check() {
|
||||
[ -f /var/run/NetworkManager.pid ]
|
||||
}
|
||||
|
||||
# start procedure
|
||||
start() {
|
||||
if check ; then
|
||||
warning "${title} is already running. Type 'service restart ${title}'" # Issue a warning
|
||||
else
|
||||
/usr/sbin/NetworkManager &
|
||||
evaluate_retval "Starting ${title}. " # Print [ done ] or [ failed ] depending on outcome
|
||||
fi
|
||||
}
|
||||
|
||||
# stop procedure
|
||||
stop() {
|
||||
if check ; then # daemon is running
|
||||
kill $(cat /var/run/NetworkManager.pid)
|
||||
evaluate_retval "Stopping ${title}." # Print [ done ] or [ failed ] depending on outcome
|
||||
else # daemon not running
|
||||
warning "${title} is not running." # Issue a warning
|
||||
fi
|
||||
}
|
||||
|
||||
# restart procedure
|
||||
restart() {
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
}
|
||||
|
||||
# reload action
|
||||
reload() {
|
||||
if check ; then # daemon is running
|
||||
kill -HUP $(cat /var/run/NetworkManager.pid) &>/dev/null
|
||||
evaluate_retval "Reloading ${title}." # Print [ done ] or [ failed ] depending on outcome
|
||||
else # daemon not running
|
||||
warning "${title} is not running." # Issue a warning
|
||||
fi
|
||||
}
|
||||
|
@@ -53,6 +53,10 @@ if TARGET_PARDUS
|
||||
libnmbackend_la_SOURCES += NetworkManagerPardus.c
|
||||
endif
|
||||
|
||||
if TARGET_LINEXA
|
||||
libnmbackend_la_SOURCES += NetworkManagerLinexa.c
|
||||
endif
|
||||
|
||||
libnmbackend_la_LIBADD += \
|
||||
$(top_builddir)/src/logging/libnm-logging.la \
|
||||
$(DBUS_LIBS) \
|
||||
|
66
src/backends/NetworkManagerLinexa.c
Normal file
66
src/backends/NetworkManagerLinexa.c
Normal file
@@ -0,0 +1,66 @@
|
||||
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
||||
/* NetworkManager -- Network link manager
|
||||
*
|
||||
* Matthew Garrett <mjg59@srcf.ucam.org>
|
||||
*
|
||||
* Heavily based on NetworkManagerRedhat.c by Dan Williams <dcbw@redhat.com>
|
||||
*
|
||||
* 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 Tom Parker
|
||||
* (C) Copyright 2004 Matthew Garrett
|
||||
* (C) Copyright 2004 Red Hat, Inc.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "NetworkManagerGeneric.h"
|
||||
#include "nm-system.h"
|
||||
#include "NetworkManagerUtils.h"
|
||||
#include "nm-logging.h"
|
||||
|
||||
/*
|
||||
* nm_system_enable_loopback
|
||||
*
|
||||
* Bring up the loopback interface
|
||||
*
|
||||
*/
|
||||
void nm_system_enable_loopback (void)
|
||||
{
|
||||
nm_generic_enable_loopback ();
|
||||
}
|
||||
|
||||
/*
|
||||
* nm_system_update_dns
|
||||
*
|
||||
* Invalidate the nscd host cache, if it exists, since
|
||||
* we changed resolv.conf.
|
||||
*
|
||||
*/
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user