diff options
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.patch | 222 |
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 + |