diff --git a/recipes/glib/glib-2.30.3/60_wait-longer-for-threads-to-die.patch b/recipes/glib/glib-2.30.3/60_wait-longer-for-threads-to-die.patch
deleted file mode 100644
index 897b55a..0000000
--- a/recipes/glib/glib-2.30.3/60_wait-longer-for-threads-to-die.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- glib-2.30.0/tests/threadpool-test.c.orig	2011-09-28 16:04:18.011953746 +0200
-+++ glib-2.30.0/tests/threadpool-test.c	2011-09-28 16:04:59.153608739 +0200
-@@ -5,8 +5,8 @@
- 
- #include <glib.h>
- 
--#define DEBUG_MSG(x)
--/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");  */
-+/*#define DEBUG_MSG(x)*/
-+ #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
- 
- #define WAIT                5    /* seconds */
- #define MAX_THREADS         10
-@@ -130,10 +130,10 @@
-            test_count_threads () == 0)
-          break;
- 
--       DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
-+       DEBUG_MSG (("[unused] waiting FIVE second for threads to die"));
- 
-        /* Some time for threads to die. */
--       g_usleep (G_USEC_PER_SEC);
-+       g_usleep (5 * G_USEC_PER_SEC);
-      }
- 
-    DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
diff --git a/recipes/glib/glib-2.30.3/g_once_init_enter.patch b/recipes/glib/glib-2.30.3/g_once_init_enter.patch
deleted file mode 100644
index 2eaa19b..0000000
--- a/recipes/glib/glib-2.30.3/g_once_init_enter.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-fix g_once_init_enter compile failure
-
-Kernelshark trips over a compile bug in glib-2.0 addressed by Open Embedded
-back in the 2.22 timeframe. It appears to still be present in 2.27.
-
-http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg005
-
-Signed-off-by: Darren Hart <dvhart@linux.intel.com>
-
-Upstream-Status: Pending
-
-Index: glib-2.27.5/glib/gthread.h
-===================================================================
---- glib-2.27.5.orig/glib/gthread.h
-+++ glib-2.27.5/glib/gthread.h
-@@ -344,7 +344,7 @@ void                    g_once_init_leav
- G_INLINE_FUNC gboolean
- g_once_init_enter (volatile gsize *value_location)
- {
--  if G_LIKELY ((gpointer) g_atomic_pointer_get (value_location) != NULL)
-+  if G_LIKELY ((gpointer) g_atomic_pointer_get ((volatile gpointer *)value_location) != NULL)
-     return FALSE;
-   else
-     return g_once_init_enter_impl (value_location);
diff --git a/recipes/glib/glib-2.30.3/0005-glib-mkenums-interpreter.patch.patch b/recipes/glib/glib-2.34.0/0005-glib-mkenums-interpreter.patch.patch
similarity index 100%
rename from recipes/glib/glib-2.30.3/0005-glib-mkenums-interpreter.patch.patch
rename to recipes/glib/glib-2.34.0/0005-glib-mkenums-interpreter.patch.patch
diff --git a/recipes/glib/glib-2.34.0/60_wait-longer-for-threads-to-die.patch b/recipes/glib/glib-2.34.0/60_wait-longer-for-threads-to-die.patch
new file mode 100644
index 0000000..fd9edcd
--- /dev/null
+++ b/recipes/glib/glib-2.34.0/60_wait-longer-for-threads-to-die.patch
@@ -0,0 +1,24 @@
+--- glib-2.34.0/tests/threadpool-test.c.orig	2012-10-10 13:13:53.705427296 +0200
++++ glib-2.34.0/tests/threadpool-test.c	2012-10-10 13:13:53.705427296 +0200
+@@ -5,7 +5,7 @@
+ 
+ #include <glib.h>
+ 
+-/* #define DEBUG 1 */
++#define DEBUG 1
+ 
+ #ifdef DEBUG
+ # define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
+@@ -113,10 +113,10 @@
+        if (g_thread_pool_get_num_unused_threads () == 0)
+          break;
+ 
+-       DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
++       DEBUG_MSG (("[unused] waiting FIVE seconds for threads to die"));
+ 
+        /* Some time for threads to die. */
+-       g_usleep (G_USEC_PER_SEC);
++       g_usleep (5 * G_USEC_PER_SEC);
+      }
+ 
+    DEBUG_MSG (("[unused] stopped idle threads, %d remain",
diff --git a/recipes/glib/glib-2.30.3/configure-libtool.patch b/recipes/glib/glib-2.34.0/configure-libtool.patch
similarity index 47%
rename from recipes/glib/glib-2.30.3/configure-libtool.patch
rename to recipes/glib/glib-2.34.0/configure-libtool.patch
index d53d9b9..b59d468 100644
--- a/recipes/glib/glib-2.30.3/configure-libtool.patch
+++ b/recipes/glib/glib-2.34.0/configure-libtool.patch
@@ -1,7 +1,6 @@
-diff -uri glib-2.26.1.orig/configure.ac glib-2.26.1/configure.ac
---- glib-2.26.1.orig/configure.ac	2010-11-14 06:59:52.000000000 +0100
-+++ glib-2.26.1/configure.ac	2010-12-01 16:48:16.653342967 +0100
-@@ -1386,7 +1386,7 @@
+--- glib-2.34.0.orig/configure.ac.org	2012-10-10 13:08:39.413662089 +0200
++++ glib-2.34.0/configure.ac	2012-10-10 13:09:09.642022583 +0200
+@@ -1477,7 +1477,7 @@
    G_MODULE_LDFLAGS=
  else
    export SED
@@ -10,21 +9,29 @@ diff -uri glib-2.26.1.orig/configure.ac glib-2.26.1/configure.ac
  fi
  dnl G_MODULE_IMPL= don't reset, so cmd-line can override
  G_MODULE_NEED_USCORE=0
-@@ -1451,7 +1451,7 @@
+@@ -1542,13 +1542,13 @@
  	LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
  dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
  	echo "void glib_plugin_test(void) { }" > plugin.c
--	${SHELL} ./libtool --mode=compile ${CC} -shared \
-+	${SHELL} $host_alias-libtool --mode=compile ${CC} -shared \
- 		-export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+-	${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} $host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \
+ 		${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1
+-	${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
++	${SHELL} $host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \
+ 		${LDFLAGS} -module -o plugin.la -export-dynamic \
+ 		-shrext ".o" -avoid-version plugin.lo \
+ 		-rpath /dont/care >/dev/null 2>&1
+-	eval `./libtool --config | grep ^objdir`
++	eval `$host_alias-libtool --config | grep ^objdir`
  	AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
  		glib_cv_rtldglobal_broken,[
-@@ -1525,7 +1525,7 @@
+ 		AC_TRY_RUN([
+@@ -1621,7 +1621,7 @@
  
  AC_MSG_CHECKING(for the suffix of module shared libraries)
  export SED
 -shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
-+shrext_cmds=`${host_prefix}libtool --config | grep '^shrext_cmds='`
++shrext_cmds=`$host_alias-libtool --config | grep '^shrext_cmds='`
  eval $shrext_cmds
  module=yes eval std_shrext=$shrext_cmds
  # chop the initial dot
diff --git a/recipes/glib/glib-2.30.3/glibconfig-sysdefs.h b/recipes/glib/glib-2.34.0/glibconfig-sysdefs.h
similarity index 100%
rename from recipes/glib/glib-2.30.3/glibconfig-sysdefs.h
rename to recipes/glib/glib-2.34.0/glibconfig-sysdefs.h
diff --git a/recipes/glib/glib-common.inc b/recipes/glib/glib-common.inc
index 15e967f..c2f018c 100644
--- a/recipes/glib/glib-common.inc
+++ b/recipes/glib/glib-common.inc
@@ -29,6 +29,7 @@ do_install[postfuncs] += "do_install_unmangle"
 do_install_unmangle() {
     sed -i -e s:${STAGE_DIR}/native${stage_bindir}:${bindir}:g \
         ${D}${bindir}/glib-mkenums || true
+        rm -r ${D}${datadir}/bash-completion/completions/
 }
 
 PACKAGES =+ "${PN}-utils ${PN}-gdb"
diff --git a/recipes/glib/glib-initial-2.30.3 b/recipes/glib/glib-initial-2.30.3
deleted file mode 120000
index a562610..0000000
--- a/recipes/glib/glib-initial-2.30.3
+++ /dev/null
@@ -1 +0,0 @@
-glib-2.30.3
\ No newline at end of file
diff --git a/recipes/glib/glib-initial-2.34.0 b/recipes/glib/glib-initial-2.34.0
new file mode 120000
index 0000000..a8b628d
--- /dev/null
+++ b/recipes/glib/glib-initial-2.34.0
@@ -0,0 +1 @@
+glib-2.34.0/
\ No newline at end of file
diff --git a/recipes/glib/glib-initial_2.30.3.oe.sig b/recipes/glib/glib-initial_2.30.3.oe.sig
deleted file mode 120000
index b6264cd..0000000
--- a/recipes/glib/glib-initial_2.30.3.oe.sig
+++ /dev/null
@@ -1 +0,0 @@
-glib_2.30.3.oe.sig
\ No newline at end of file
diff --git a/recipes/glib/glib-initial_2.30.3.oe b/recipes/glib/glib-initial_2.34.0.oe
similarity index 80%
rename from recipes/glib/glib-initial_2.30.3.oe
rename to recipes/glib/glib-initial_2.34.0.oe
index 8e3fd57..9f7b1f5 100644
--- a/recipes/glib/glib-initial_2.30.3.oe
+++ b/recipes/glib/glib-initial_2.34.0.oe
@@ -4,9 +4,8 @@ LICENSE = "LGPL-2.0+"
 require ${PN}.inc
 
 SRC_URI += "file://glibconfig-sysdefs.h"
-SRC_URI += "file://configure-libtool.patch"
+#SRC_URI += "file://configure-libtool.patch"
 SRC_URI += "file://60_wait-longer-for-threads-to-die.patch"
-SRC_URI += "file://g_once_init_enter.patch"
 SRC_URI += "file://0005-glib-mkenums-interpreter.patch.patch"
 
 do_patch[postfuncs] += "do_patch_extra_files"
diff --git a/recipes/glib/glib-initial_2.34.0.oe.sig b/recipes/glib/glib-initial_2.34.0.oe.sig
new file mode 100644
index 0000000..c60091d
--- /dev/null
+++ b/recipes/glib/glib-initial_2.34.0.oe.sig
@@ -0,0 +1 @@
+f695d4d3a6ded331e4d45f077a9774d6ca8a47e4  glib-2.34.0.tar.xz
diff --git a/recipes/glib/glib_2.30.3.oe.sig b/recipes/glib/glib_2.30.3.oe.sig
deleted file mode 100644
index 494fc46..0000000
--- a/recipes/glib/glib_2.30.3.oe.sig
+++ /dev/null
@@ -1,2 +0,0 @@
-dfb91843185927376df8c2552488f3dffb0548a0  glib-2.30.0.tar.bz2
-ec97dd659862dca05d18093a6ea6c309dcff0cdd  glib-2.30.3.tar.xz
diff --git a/recipes/glib/glib_2.30.3.oe b/recipes/glib/glib_2.34.0.oe
similarity index 80%
rename from recipes/glib/glib_2.30.3.oe
rename to recipes/glib/glib_2.34.0.oe
index 8e3fd57..654ad03 100644
--- a/recipes/glib/glib_2.30.3.oe
+++ b/recipes/glib/glib_2.34.0.oe
@@ -4,9 +4,7 @@ LICENSE = "LGPL-2.0+"
 require ${PN}.inc
 
 SRC_URI += "file://glibconfig-sysdefs.h"
-SRC_URI += "file://configure-libtool.patch"
 SRC_URI += "file://60_wait-longer-for-threads-to-die.patch"
-SRC_URI += "file://g_once_init_enter.patch"
 SRC_URI += "file://0005-glib-mkenums-interpreter.patch.patch"
 
 do_patch[postfuncs] += "do_patch_extra_files"
