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
|
dnl
|
||||||
AC_C_BIGENDIAN
|
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
|
if test "z$with_distro" = "z"; then
|
||||||
AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
|
AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
|
||||||
AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
|
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/frugalware-release,with_distro="frugalware")
|
||||||
AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
|
AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
|
||||||
AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
|
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
|
if test "z$with_distro" = "z"; then
|
||||||
with_distro=`lsb_release -is`
|
with_distro=`lsb_release -is`
|
||||||
fi
|
fi
|
||||||
@@ -107,7 +108,7 @@ if test "z$with_distro" = "z"; then
|
|||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
case $with_distro in
|
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)"
|
echo "Your distribution (${with_distro}) is not yet supported! (patches welcome)"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -165,6 +166,11 @@ if test x"$with_distro" = xpardus; then
|
|||||||
AC_DEFINE(TARGET_PARDUS, 1, [Define if you have Pardus])
|
AC_DEFINE(TARGET_PARDUS, 1, [Define if you have Pardus])
|
||||||
fi
|
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
|
||||||
dnl Distribution version string
|
dnl Distribution version string
|
||||||
dnl
|
dnl
|
||||||
@@ -543,6 +549,8 @@ initscript/paldo/Makefile
|
|||||||
initscript/paldo/NetworkManager
|
initscript/paldo/NetworkManager
|
||||||
initscript/Mandriva/Makefile
|
initscript/Mandriva/Makefile
|
||||||
initscript/Mandriva/networkmanager
|
initscript/Mandriva/networkmanager
|
||||||
|
initscript/linexa/Makefile
|
||||||
|
initscript/linexa/networkmanager
|
||||||
introspection/Makefile
|
introspection/Makefile
|
||||||
man/Makefile
|
man/Makefile
|
||||||
man/NetworkManager.8
|
man/NetworkManager.8
|
||||||
|
@@ -23,3 +23,6 @@ endif
|
|||||||
if TARGET_MANDRIVA
|
if TARGET_MANDRIVA
|
||||||
SUBDIRS += Mandriva
|
SUBDIRS += Mandriva
|
||||||
endif
|
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
|
libnmbackend_la_SOURCES += NetworkManagerPardus.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if TARGET_LINEXA
|
||||||
|
libnmbackend_la_SOURCES += NetworkManagerLinexa.c
|
||||||
|
endif
|
||||||
|
|
||||||
libnmbackend_la_LIBADD += \
|
libnmbackend_la_LIBADD += \
|
||||||
$(top_builddir)/src/logging/libnm-logging.la \
|
$(top_builddir)/src/logging/libnm-logging.la \
|
||||||
$(DBUS_LIBS) \
|
$(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