summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch')
-rw-r--r--gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch222
1 files changed, 222 insertions, 0 deletions
diff --git a/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch b/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch
new file mode 100644
index 000000000000..c996cc00e4f7
--- /dev/null
+++ b/gnome-base/gnome-shell/files/gnome-shell-3.6.0-networkmanager-flag.patch
@@ -0,0 +1,222 @@
+From da0912a522f80a72db5b73504dc82941067880b2 Mon Sep 17 00:00:00 2001
+From: Michael Biebl <biebl@debian.org>
+Date: Thu, 22 Dec 2011 22:04:12 +0100
+Subject: [PATCH] Make NM optional
+
+[ Alexandre Rostovtsev <tetromino@gentoo.org> :
+ * use config.js (and AC_SUBST HAVE_NETWORKMANAGER appropriately);
+ * take care to not import ui.status.network if nm is disabled;
+ * do not try to reassign to const variables;
+ * no point really in fiddling with the list of installed js files;
+ * don't build shell-mobile-providers if nm is disabled;
+ * use "networkmanager" instead of "network_manager" because THE
+ BIKESHED SHOULD BE BLUE, also because the upstream package name is
+ NetworkManager, not Network_Manager. ]
+---
+ configure.ac | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ js/Makefile.am | 1 +
+ js/misc/config.js.in | 2 ++
+ js/ui/panel.js | 12 +++++++-----
+ js/ui/sessionMode.js | 7 ++++++-
+ src/Makefile.am | 17 ++++++++++++-----
+ 6 files changed, 74 insertions(+), 12 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e6ac88c..3ff8777 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -96,10 +96,43 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-unix-2.0 >= $GIO_MIN_VERSION
+ telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION
+ telepathy-logger-0.2 >= $TELEPATHY_LOGGER_MIN_VERSION
+ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
+- libnm-glib libnm-util gnome-keyring-1
++ gnome-keyring-1
+ gcr-3 >= $GCR_MIN_VERSION
+ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
+
++##########################
++# Check for NetworkManager
++##########################
++NM_MIN_VERSION=0.9
++AC_ARG_ENABLE(networkmanager,
++ AS_HELP_STRING([--disable-networkmanager],
++ [disable NetworkManager support @<:@default=auto@:>@]),,
++ [enable_networkmanager=auto])
++
++if test "x$enable_networkmanager" != "xno"; then
++ PKG_CHECK_MODULES(NETWORKMANAGER,
++ [libnm-glib libnm-util gnome-keyring-1],
++ [have_networkmanager=yes],
++ [have_networkmanager=no])
++
++ GNOME_SHELL_CFLAGS="$GNOME_SHELL_CFLAGS $NETWORKMANAGER_CFLAGS"
++ GNOME_SHELL_LIBS="$GNOME_SHELL_LIBS $NETWORKMANAGER_LIBS"
++else
++ have_networkmanager="no (disabled)"
++fi
++
++if test "x$have_networkmanager" = "xyes"; then
++ AC_DEFINE(HAVE_NETWORKMANAGER, [1], [Define if we have NetworkManager])
++ AC_SUBST([HAVE_NETWORKMANAGER], [1])
++else
++ if test "x$enable_networkmanager" = "xyes"; then
++ AC_MSG_ERROR([Couldn't find NetworkManager.])
++ fi
++ AC_SUBST([HAVE_NETWORKMANAGER], [0])
++fi
++
++AM_CONDITIONAL(HAVE_NETWORKMANAGER, test "$have_networkmanager" = "yes")
++
+ PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
+
+ PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
+@@ -260,3 +293,15 @@ AC_CONFIG_FILES([
+ man/Makefile
+ ])
+ AC_OUTPUT
++
++echo "
++Build configuration:
++
++ Prefix: ${prefix}
++ Source code location: ${srcdir}
++ Compiler: ${CC}
++ Compiler Warnings: $enable_compile_warnings
++
++ Support for NetworkManager: $have_networkmanager
++ Support for GStreamer recording: $build_recorder
++"
+diff --git a/js/Makefile.am b/js/Makefile.am
+index a3e4917..4b00193 100644
+--- a/js/Makefile.am
++++ b/js/Makefile.am
+@@ -8,6 +8,7 @@ misc/config.js: misc/config.js.in Makefile
+ sed -e "s|[@]PACKAGE_NAME@|$(PACKAGE_NAME)|g" \
+ -e "s|[@]PACKAGE_VERSION@|$(PACKAGE_VERSION)|g" \
+ -e "s|[@]HAVE_BLUETOOTH@|$(HAVE_BLUETOOTH)|g" \
++ -e "s|[@]HAVE_NETWORKMANAGER@|$(HAVE_NETWORKMANAGER)|g" \
+ -e "s|[@]GETTEXT_PACKAGE@|$(GETTEXT_PACKAGE)|g" \
+ -e "s|[@]datadir@|$(datadir)|g" \
+ -e "s|[@]libexecdir@|$(libexecdir)|g" \
+diff --git a/js/misc/config.js.in b/js/misc/config.js.in
+index 9769104..9c4795d 100644
+--- a/js/misc/config.js.in
++++ b/js/misc/config.js.in
+@@ -6,6 +6,8 @@ const PACKAGE_NAME = '@PACKAGE_NAME@';
+ const PACKAGE_VERSION = '@PACKAGE_VERSION@';
+ /* 1 if gnome-bluetooth is available, 0 otherwise */
+ const HAVE_BLUETOOTH = @HAVE_BLUETOOTH@;
++/* 1 if networkmanager is available, 0 otherwise */
++const HAVE_NETWORKMANAGER = @HAVE_NETWORKMANAGER@;
+ /* gettext package */
+ const GETTEXT_PACKAGE = '@GETTEXT_PACKAGE@';
+ /* locale dir */
+diff --git a/js/ui/panel.js b/js/ui/panel.js
+index bcbaafb..40c6ff9 100644
+--- a/js/ui/panel.js
++++ b/js/ui/panel.js
+@@ -910,11 +910,13 @@ if (Config.HAVE_BLUETOOTH)
+ PANEL_ITEM_IMPLEMENTATIONS['bluetooth'] =
+ imports.ui.status.bluetooth.Indicator;
+
+-try {
+- PANEL_ITEM_IMPLEMENTATIONS['network'] =
+- imports.ui.status.network.NMApplet;
+-} catch(e) {
+- log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
++if (Config.HAVE_NETWORKMANAGER) {
++ try {
++ PANEL_ITEM_IMPLEMENTATIONS['network'] =
++ imports.ui.status.network.NMApplet;
++ } catch(e) {
++ log('NMApplet is not supported. It is possible that your NetworkManager version is too old');
++ }
+ }
+
+ const Panel = new Lang.Class({
+diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
+index 808109a..7ee6b1e 100644
+--- a/js/ui/sessionMode.js
++++ b/js/ui/sessionMode.js
+@@ -6,6 +6,8 @@ const Signals = imports.signals;
+ const Main = imports.ui.main;
+ const Params = imports.misc.params;
+
++const Config = imports.misc.config;
++
+ const DEFAULT_MODE = 'restrictive';
+
+ const _modes = {
+@@ -91,7 +93,10 @@ const _modes = {
+ isLocked: false,
+ isPrimary: true,
+ unlockDialog: imports.ui.unlockDialog.UnlockDialog,
+- components: ['networkAgent', 'polkitAgent', 'telepathyClient',
++ components: Config.HAVE_NETWORKMANAGER ?
++ ['networkAgent', 'polkitAgent', 'telepathyClient',
++ 'keyring', 'recorder', 'autorunManager', 'automountManager'] :
++ ['polkitAgent', 'telepathyClient',
+ 'keyring', 'recorder', 'autorunManager', 'automountManager'],
+ panel: {
+ left: ['activities', 'appMenu'],
+diff --git a/src/Makefile.am b/src/Makefile.am
+index a390691..552b640 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -115,9 +115,7 @@ shell_public_headers_h = \
+ shell-global.h \
+ shell-idle-monitor.h \
+ shell-invert-lightness-effect.h \
+- shell-mobile-providers.h \
+ shell-mount-operation.h \
+- shell-network-agent.h \
+ shell-perf-log.h \
+ shell-screenshot.h \
+ shell-screen-grabber.h \
+@@ -131,6 +129,10 @@ shell_public_headers_h = \
+ shell-wm.h \
+ shell-xfixes-cursor.h
+
++if HAVE_NETWORKMANAGER
++shell_public_headers_h += shell-mobile-providers.h shell-network-agent.h
++endif
++
+ shell_private_sources = \
+ gactionmuxer.h \
+ gactionmuxer.c \
+@@ -162,9 +164,7 @@ libgnome_shell_la_SOURCES = \
+ shell-invert-lightness-effect.c \
+ shell-keyring-prompt.h \
+ shell-keyring-prompt.c \
+- shell-mobile-providers.c \
+ shell-mount-operation.c \
+- shell-network-agent.c \
+ shell-perf-log.c \
+ shell-polkit-authentication-agent.h \
+ shell-polkit-authentication-agent.c \
+@@ -183,6 +183,10 @@ libgnome_shell_la_SOURCES = \
+ shell-xfixes-cursor.c \
+ $(NULL)
+
++if HAVE_NETWORKMANAGER
++libgnome_shell_la_SOURCES += shell-mobile-providers.c shell-network-agent.c
++endif
++
+ libgnome_shell_la_gir_sources = \
+ $(filter-out %-private.h $(shell_private_sources), $(shell_public_headers_h) $(libgnome_shell_la_SOURCES))
+
+@@ -296,7 +300,10 @@ libgnome_shell_la_LIBADD = \
+ libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags)
+
+ Shell-0.1.gir: libgnome-shell.la St-1.0.gir
+-Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 TelepathyLogger-0.2 Soup-2.4 GMenu-3.0 NetworkManager-1.0 NMClient-1.0
++Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 TelepathyLogger-0.2 Soup-2.4 GMenu-3.0
++if HAVE_NETWORKMANAGER
++Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
++endif
+ Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir)
+ Shell_0_1_gir_LIBS = libgnome-shell.la
+ Shell_0_1_gir_FILES = $(libgnome_shell_la_gir_sources)
+--
+1.7.12
+