summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Šimerda <psimerda@redhat.com>2012-08-23 11:53:41 +0200
committerPavel Šimerda <psimerda@redhat.com>2012-11-05 14:01:47 +0100
commitd82669d3fdaa7ec70ef1b64941c101ac810c394b (patch)
tree02556450a8dcb124b9ad1a8ccce8f25fc87586c6
parent811c87f8ae4c2d24fc0c40e8158cd5fe66475ec8 (diff)
build: unify NetworkManager path handling (some paths are changed)
Use autoconf/automake variables for NetworkManager paths. Use NetworkManager subdirectory where appropriate. Files in /var/run (or /run on some distros) are moved into a separate directory as is usual with other daemons. It makes the filesystem more readable and file prefixing unnecessary. /var/run/NetworkManager.pid -> /var/run/NetworkManager/NetworkManager.pid /var/run/nm-dns-dnsmasq.pid -> /var/run/NetworkManager/dnsmasq.pid /var/run/nm-dns-dnsmasq.conf -> /var/run/NetworkManager/dnsmasq.conf The /var/run/NetworkManager directory is created at runtime, if it doesn't exist. Note: Path-based security policies like SELinux and AppArmor may need to be adapted.
-rw-r--r--callouts/Makefile.am4
-rw-r--r--callouts/nm-dispatcher-action.c2
-rw-r--r--configure.ac8
-rw-r--r--src/Makefile.am16
-rw-r--r--src/dhcp-manager/Makefile.am3
-rw-r--r--src/dhcp-manager/nm-dhcp-dhcpcd.c2
-rw-r--r--src/dns-manager/Makefile.am4
-rw-r--r--src/dns-manager/nm-dns-dnsmasq.c6
-rw-r--r--src/main.c25
-rw-r--r--src/nm-config.c4
-rw-r--r--src/nm-crash-logger.c4
-rw-r--r--src/nm-session-monitor-ck.c2
-rw-r--r--src/settings/Makefile.am2
-rw-r--r--src/settings/nm-settings-connection.c4
-rw-r--r--src/settings/plugins/example/Makefile.am2
-rw-r--r--src/settings/plugins/example/common.h2
-rw-r--r--src/settings/plugins/ifnet/net_parser.h1
-rw-r--r--src/settings/plugins/keyfile/Makefile.am4
-rw-r--r--src/settings/plugins/keyfile/common.h2
-rw-r--r--test/Makefile.am1
20 files changed, 52 insertions, 46 deletions
diff --git a/callouts/Makefile.am b/callouts/Makefile.am
index 5cc804a0db..d7fbec01eb 100644
--- a/callouts/Makefile.am
+++ b/callouts/Makefile.am
@@ -24,7 +24,7 @@ nm_dhcp_client_action_SOURCES = \
nm_dhcp_client_action_CPPFLAGS = \
$(DBUS_CFLAGS) \
- -DSYSCONFDIR=\"$(sysconfdir)\" \
+ -DNMCONFDIR=\"$(nmconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\"
nm_dhcp_client_action_LDADD = $(DBUS_LIBS)
@@ -58,7 +58,7 @@ nm_dispatcher_action_CPPFLAGS = \
-I${top_builddir}/libnm-util \
$(DBUS_CFLAGS) \
$(GLIB_CFLAGS) \
- -DSYSCONFDIR=\"$(sysconfdir)\" \
+ -DNMCONFDIR=\"$(nmconfdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\"
nm_dispatcher_action_LDADD = \
diff --git a/callouts/nm-dispatcher-action.c b/callouts/nm-dispatcher-action.c
index ee80316c14..0e4b11a7c7 100644
--- a/callouts/nm-dispatcher-action.c
+++ b/callouts/nm-dispatcher-action.c
@@ -39,7 +39,7 @@
#include "nm-dispatcher-action.h"
#include "nm-dispatcher-utils.h"
-#define NMD_SCRIPT_DIR SYSCONFDIR "/NetworkManager/dispatcher.d"
+#define NMD_SCRIPT_DIR NMCONFDIR "/dispatcher.d"
static GMainLoop *loop = NULL;
static gboolean debug = FALSE;
diff --git a/configure.ac b/configure.ac
index e2458e2bb2..a961246acc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -99,6 +99,13 @@ dnl Make sha1.c happy on big endian systems
dnl
AC_C_BIGENDIAN
+# NetworkManager paths
+AC_SUBST(nmbinary, "$sbindir/$PACKAGE", [NetworkManager binary executable])
+AC_SUBST(nmconfdir, "$sysconfdir/$PACKAGE", [NetworkManager configuration directory])
+AC_SUBST(nmdatadir, "$pkgdatadir", [NetworkManager shared data directory])
+AC_SUBST(nmstatedir, "$localstatedir/lib/$PACKAGE", [NetworkManager persistent state directory])
+AC_SUBST(nmrundir, "$localstatedir/run/$PACKAGE", [NetworkManager runtime state directory])
+
# Alternative configuration plugins
AC_ARG_ENABLE(ifcfg-rh, AS_HELP_STRING([--enable-ifcfg-rh], [enable ifcfg-rh configuration plugin (Fedora/RHEL)]))
AC_ARG_ENABLE(ifcfg-suse, AS_HELP_STRING([--enable-ifcfg-suse], [enable ifcfg-suse configuration plugin (SUSE)]))
@@ -291,6 +298,7 @@ case $with_session_tracking in
esac
AC_SUBST(SYSTEMD_CFLAGS)
AC_SUBST(SYSTEMD_LIBS)
+AC_SUBST(CKDB_PATH, /var/run/ConsoleKit/database)
AM_CONDITIONAL(SESSION_TRACKING_CK, test "x$with_session_tracking" = "xck")
AM_CONDITIONAL(SESSION_TRACKING_SYSTEMD, test "x$with_session_tracking" = "xsystemd")
diff --git a/src/Makefile.am b/src/Makefile.am
index ed534b414a..bdecf87608 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -299,15 +299,21 @@ NetworkManager_CPPFLAGS = \
-DDATADIR=\"$(datadir)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
-DLOCALSTATEDIR=\"$(localstatedir)\" \
- -DNM_RUN_DIR=\"$(rundir)\" \
-DNMLOCALEDIR=\"$(datadir)/locale\" \
- -DNMPLUGINDIR=\"$(pkglibdir)\"
+ -DNMPLUGINDIR=\"$(pkglibdir)\" \
+ -DNMCONFDIR=\"$(nmconfdir)\" \
+ -DNMRUNDIR=\"$(nmrundir)\" \
+ -DNMSTATEDIR=\"$(nmstatedir)\" \
-DARP_DEBUG
if WITH_CONCHECK
NetworkManager_CPPFLAGS += $(LIBSOUP_CFLAGS)
endif
+if SESSION_TRACKING_CK
+NetworkManager_CPPFLAGS += -DCKDB_PATH=\"${CKDB_PATH}\"
+endif
+
NetworkManager_LDADD = \
./generated/libnm-generated.la \
./logging/libnm-logging.la \
@@ -345,10 +351,10 @@ nm_crash_logger_SOURCES = nm-crash-logger.c
nm_crash_logger_CPPFLAGS = \
$(GLIB_CFLAGS) \
-DBINDIR=\"$(bindir)\" \
- -DSBINDIR=\"$(sbindir)\" \
- -DDATADIR=\"$(datadir)\" \
+ -DNMBINARY=\"$(nmbinary)\" \
+ -DNMDATADIR=\"$(nmdatadir)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
- -DLOCALSTATEDIR=\"$(localstatedir)\"
+ -DNMSTATEDIR=\"$(nmstatedir)\"
nm_crash_logger_LDADD = $(GLIB_LIBS)
diff --git a/src/dhcp-manager/Makefile.am b/src/dhcp-manager/Makefile.am
index 7457219ebb..8f3d65e0cc 100644
--- a/src/dhcp-manager/Makefile.am
+++ b/src/dhcp-manager/Makefile.am
@@ -54,7 +54,8 @@ libdhcp_manager_la_CPPFLAGS = \
-DLIBEXECDIR=\"$(libexecdir)\" \
-DLOCALSTATEDIR=\"$(localstatedir)\" \
-DDHCLIENT_PATH=\"$(DHCLIENT_PATH)\" \
- -DDHCPCD_PATH=\"$(DHCPCD_PATH)\"
+ -DDHCPCD_PATH=\"$(DHCPCD_PATH)\" \
+ -DNMSTATEDIR=\"$(nmstatedir)\"
libdhcp_manager_la_LIBADD = \
$(top_builddir)/src/logging/libnm-logging.la \
diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.c b/src/dhcp-manager/nm-dhcp-dhcpcd.c
index c581947c41..24945b0c78 100644
--- a/src/dhcp-manager/nm-dhcp-dhcpcd.c
+++ b/src/dhcp-manager/nm-dhcp-dhcpcd.c
@@ -110,7 +110,7 @@ ip4_start (NMDHCPClient *client,
iface = nm_dhcp_client_get_iface (client);
uuid = nm_dhcp_client_get_uuid (client);
- priv->pid_file = g_strdup_printf (LOCALSTATEDIR "/run/dhcpcd-%s.pid", iface);
+ priv->pid_file = g_strdup_printf (NMSTATEDIR "/dhcpcd-%s.pid", iface);
if (!priv->pid_file) {
nm_log_warn (LOGD_DHCP4, "(%s): not enough memory for dhcpcd options.", iface);
return -1;
diff --git a/src/dns-manager/Makefile.am b/src/dns-manager/Makefile.am
index f275a1f156..e6c2ff2209 100644
--- a/src/dns-manager/Makefile.am
+++ b/src/dns-manager/Makefile.am
@@ -24,7 +24,9 @@ libdns_manager_la_CPPFLAGS = \
$(DBUS_CFLAGS) \
$(GLIB_CFLAGS) \
-DLOCALSTATEDIR=\"$(localstatedir)\" \
- -DSYSCONFDIR=\"$(sysconfdir)\"
+ -DSYSCONFDIR=\"$(sysconfdir)\" \
+ -DNMCONFDIR=\"$(nmconfdir)\" \
+ -DNMRUNDIR=\"$(nmrundir)\"
libdns_manager_la_LIBADD = \
$(top_builddir)/src/logging/libnm-logging.la \
diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
index 5d37e3749b..24b0c3deaf 100644
--- a/src/dns-manager/nm-dns-dnsmasq.c
+++ b/src/dns-manager/nm-dns-dnsmasq.c
@@ -39,9 +39,9 @@ G_DEFINE_TYPE (NMDnsDnsmasq, nm_dns_dnsmasq, NM_TYPE_DNS_PLUGIN)
#define NM_DNS_DNSMASQ_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_DNSMASQ, NMDnsDnsmasqPrivate))
-#define PIDFILE LOCALSTATEDIR "/run/nm-dns-dnsmasq.pid"
-#define CONFFILE LOCALSTATEDIR "/run/nm-dns-dnsmasq.conf"
-#define CONFDIR SYSCONFDIR "/NetworkManager/dnsmasq.d"
+#define PIDFILE NMRUNDIR "/dnsmasq.pid"
+#define CONFFILE NMRUNDIR "/dnsmasq.conf"
+#define CONFDIR NMCONFDIR "/dnsmasq.d"
typedef struct {
guint32 foo;
diff --git a/src/main.c b/src/main.c
index 9cac0fd7e9..a9500750f8 100644
--- a/src/main.c
+++ b/src/main.c
@@ -60,8 +60,8 @@
# define NM_DIST_VERSION VERSION
#endif
-#define NM_DEFAULT_PID_FILE LOCALSTATEDIR"/run/NetworkManager.pid"
-#define NM_DEFAULT_SYSTEM_STATE_FILE LOCALSTATEDIR"/lib/NetworkManager/NetworkManager.state"
+#define NM_DEFAULT_PID_FILE NMRUNDIR "/NetworkManager.pid"
+#define NM_DEFAULT_SYSTEM_STATE_FILE NMSTATEDIR "/NetworkManager.state"
/*
* Globals
@@ -278,24 +278,11 @@ parse_state_file (const char *filename,
* users upgrading NM get this working too.
*/
if (g_error_matches (tmp_error, G_FILE_ERROR, G_FILE_ERROR_NOENT)) {
- char *data, *dirname;
+ char *data;
gsize len = 0;
g_clear_error (&tmp_error);
- /* try to create the directory if it doesn't exist */
- dirname = g_path_get_dirname (filename);
- errno = 0;
- if (g_mkdir_with_parents (dirname, 0755) != 0) {
- if (errno != EEXIST) {
- g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_ACCES,
- "Error creating state directory %s: %s", dirname, strerror(errno));
- g_free (dirname);
- return FALSE;
- }
- }
- g_free (dirname);
-
/* Write out the initial state to the state file */
g_key_file_set_boolean (state_file, "main", "NetworkingEnabled", *net_enabled);
g_key_file_set_boolean (state_file, "main", "WirelessEnabled", *wifi_enabled);
@@ -442,6 +429,12 @@ main (int argc, char *argv[])
*/
setenv ("GIO_USE_VFS", "local", 1);
+ /* Setup runtime directory */
+ if (g_mkdir_with_parents (NMRUNDIR, 0755) != 0) {
+ nm_log_err (LOGD_CORE, "Cannot create '%s': %s", NMRUNDIR, strerror (errno));
+ exit (1);
+ }
+
pidfile = pidfile ? pidfile : g_strdup (NM_DEFAULT_PID_FILE);
state_file = state_file ? state_file : g_strdup (NM_DEFAULT_SYSTEM_STATE_FILE);
diff --git a/src/nm-config.c b/src/nm-config.c
index 1efad45117..6e801d353f 100644
--- a/src/nm-config.c
+++ b/src/nm-config.c
@@ -24,8 +24,8 @@
#include "nm-config.h"
-#define NM_DEFAULT_SYSTEM_CONF_FILE SYSCONFDIR"/NetworkManager/NetworkManager.conf"
-#define NM_OLD_SYSTEM_CONF_FILE SYSCONFDIR"/NetworkManager/nm-system-settings.conf"
+#define NM_DEFAULT_SYSTEM_CONF_FILE NMCONFDIR "/NetworkManager.conf"
+#define NM_OLD_SYSTEM_CONF_FILE NMCONFDIR "/nm-system-settings.conf"
struct NMConfig {
char *path;
diff --git a/src/nm-crash-logger.c b/src/nm-crash-logger.c
index e0e7cbf6a9..f10e9ffe01 100644
--- a/src/nm-crash-logger.c
+++ b/src/nm-crash-logger.c
@@ -39,8 +39,8 @@ int main (int argc, char ** argv)
char * args[] = { BINDIR "/gdb",
"--batch",
"--quiet",
- "--command=" DATADIR "/NetworkManager/gdb-cmd",
- SBINDIR "/NetworkManager",
+ "--command=" NMDATADIR "/gdb-cmd",
+ NMBINARY,
NULL, NULL };
snprintf (nm_pid, sizeof (nm_pid), "%d", getppid ());
diff --git a/src/nm-session-monitor-ck.c b/src/nm-session-monitor-ck.c
index 72ffc9ff04..02e2d06ee0 100644
--- a/src/nm-session-monitor-ck.c
+++ b/src/nm-session-monitor-ck.c
@@ -28,8 +28,6 @@
#include "nm-session-utils.h"
#include "nm-session-monitor.h"
-#define CKDB_PATH "/var/run/ConsoleKit/database"
-
/* <internal>
* SECTION:nm-session-monitor
* @title: NMSessionMonitor
diff --git a/src/settings/Makefile.am b/src/settings/Makefile.am
index 191488acae..215872be2e 100644
--- a/src/settings/Makefile.am
+++ b/src/settings/Makefile.am
@@ -59,7 +59,7 @@ libsettings_la_CPPFLAGS = \
-DLIBEXECDIR=\"$(libexecdir)\" \
-DDATADIR=\"$(datadir)\" \
-DSYSCONFDIR=\"$(sysconfdir)\" \
- -DLOCALSTATEDIR=\"$(localstatedir)\" \
+ -DNMSTATEDIR=\"$(nmstatedir)\" \
-DGNOMELOCALEDIR=\"$(datadir)/locale\" \
-DPLUGINDIR=\"$(pkglibdir)\"
diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
index 88ecb977f8..85d4e7008b 100644
--- a/src/settings/nm-settings-connection.c
+++ b/src/settings/nm-settings-connection.c
@@ -42,8 +42,8 @@
#include "nm-agent-manager.h"
#include "NetworkManagerUtils.h"
-#define SETTINGS_TIMESTAMPS_FILE LOCALSTATEDIR"/lib/NetworkManager/timestamps"
-#define SETTINGS_SEEN_BSSIDS_FILE LOCALSTATEDIR"/lib/NetworkManager/seen-bssids"
+#define SETTINGS_TIMESTAMPS_FILE NMSTATEDIR "/timestamps"
+#define SETTINGS_SEEN_BSSIDS_FILE NMSTATEDIR "/seen-bssids"
static void impl_settings_connection_get_settings (NMSettingsConnection *connection,
DBusGMethodInvocation *context);
diff --git a/src/settings/plugins/example/Makefile.am b/src/settings/plugins/example/Makefile.am
index 01d6f3e2ba..95558b720c 100644
--- a/src/settings/plugins/example/Makefile.am
+++ b/src/settings/plugins/example/Makefile.am
@@ -26,7 +26,7 @@ libnm_settings_plugin_example_la_SOURCES = \
libnm_settings_plugin_example_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(DBUS_CFLAGS) \
- -DSYSCONFDIR=\"$(sysconfdir)\"
+ -DNMCONFDIR=\"$(nmconfdir)\"
libnm_settings_plugin_example_la_LIBADD = \
$(top_builddir)/libnm-util/libnm-util.la \
diff --git a/src/settings/plugins/example/common.h b/src/settings/plugins/example/common.h
index a4197070e1..ed0be9a7f7 100644
--- a/src/settings/plugins/example/common.h
+++ b/src/settings/plugins/example/common.h
@@ -31,7 +31,7 @@
#define EXAMPLE_PLUGIN_NAME "example"
#define EXAMPLE_PLUGIN_INFO "(c) 2012 Red Hat, Inc. To report bugs please use the NetworkManager mailing list."
-#define EXAMPLE_DIR SYSCONFDIR"/NetworkManager/example-plugin"
+#define EXAMPLE_DIR NMCONFDIR "/example-plugin"
/* Boilerplate stuff for the plugin's error domain. Bits of the code that
* create new errors in the plugin's domain will create errors of
diff --git a/src/settings/plugins/ifnet/net_parser.h b/src/settings/plugins/ifnet/net_parser.h
index 5dcc7e253e..8868dbe0a4 100644
--- a/src/settings/plugins/ifnet/net_parser.h
+++ b/src/settings/plugins/ifnet/net_parser.h
@@ -25,7 +25,6 @@
#include <glib.h>
#define CONF_NET_FILE SYSCONFDIR "/conf.d/net"
-#define IFNET_SYSTEM_SETTINGS_KEY_FILE SYSCONFDIR "/NetworkManager/nm-system-settings.conf"
#define IFNET_KEY_FILE_GROUP "ifnet"
gboolean ifnet_init (gchar * config_file);
diff --git a/src/settings/plugins/keyfile/Makefile.am b/src/settings/plugins/keyfile/Makefile.am
index 1e9906d595..dea92da14e 100644
--- a/src/settings/plugins/keyfile/Makefile.am
+++ b/src/settings/plugins/keyfile/Makefile.am
@@ -26,7 +26,7 @@ libkeyfile_io_la_SOURCES = \
libkeyfile_io_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(DBUS_CFLAGS) \
- -DSYSCONFDIR=\"$(sysconfdir)\"
+ -DNMCONFDIR=\"$(nmconfdir)\"
libkeyfile_io_la_LIBADD = $(GLIB_LIBS)
@@ -41,7 +41,7 @@ libnm_settings_plugin_keyfile_la_SOURCES = \
libnm_settings_plugin_keyfile_la_CPPFLAGS = \
$(GLIB_CFLAGS) \
$(DBUS_CFLAGS) \
- -DSYSCONFDIR=\"$(sysconfdir)\"
+ -DNMCONFDIR=\"$(nmconfdir)\"
libnm_settings_plugin_keyfile_la_LIBADD = \
$(top_builddir)/libnm-util/libnm-util.la \
diff --git a/src/settings/plugins/keyfile/common.h b/src/settings/plugins/keyfile/common.h
index 7d94a7053e..d48c32f282 100644
--- a/src/settings/plugins/keyfile/common.h
+++ b/src/settings/plugins/keyfile/common.h
@@ -26,7 +26,7 @@
#define KEYFILE_PLUGIN_NAME "keyfile"
#define KEYFILE_PLUGIN_INFO "(c) 2007 - 2010 Red Hat, Inc. To report bugs please use the NetworkManager mailing list."
-#define KEYFILE_DIR SYSCONFDIR "/NetworkManager/system-connections"
+#define KEYFILE_DIR NMCONFDIR "/system-connections"
#define VPN_SECRETS_GROUP "vpn-secrets"
diff --git a/test/Makefile.am b/test/Makefile.am
index 34b69aad3a..bdfd306d5e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -9,7 +9,6 @@ AM_CPPFLAGS = \
$(DBUS_CFLAGS) \
$(GLIB_CFLAGS) \
-DBINDIR=\"$(bindir)\" \
- -DNM_RUN_DIR=\"$(rundir)\" \
-DDATADIR=\"$(datadir)\" \
-DNMLOCALEDIR=\"$(datadir)/locale\"